titi08titi/Samdoc
If you are the rightful owner of Samdoc and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Samdoc is a Model Context Protocol (MCP) server designed to automate the generation of documentation from GitLab source code to the Outline documentation platform.
Samdoc - MCP Server for Documentation Generation
🚀 Overview
Samdoc is a Model Context Protocol (MCP) server that automates documentation generation from GitLab source code to Outline documentation platform. Built with C# and .NET 8, it leverages Roslyn for advanced code analysis.
✨ Features
- 📊 Code Analysis: Deep C# code analysis using Roslyn
- 📝 Auto Documentation: Generate documentation from source code
- 🔄 GitLab Integration: Read source code directly from GitLab
- 📚 Outline Publishing: Publish documentation to Outline
- 🤖 AI Enhancement: Optional OpenAI integration for improved docs
- 🐳 Docker Ready: Fully containerized with Docker Compose
- 💾 Caching: Redis caching and PostgreSQL for history
🛠️ MCP Tools Available
analyze_code- Analyze source code from GitLabgenerate_documentation- Generate documentation for codepublish_to_outline- Publish to Outline platformsync_project_docs- Sync entire project documentationroslyn_analyze- Advanced Roslyn analysis
📋 Prerequisites
- .NET 8 SDK
- Docker & Docker Compose
- GitLab account with API access
- Outline account with API access
- Claude Desktop (for MCP integration)
🚀 Quick Start
1. Clone the repository
git clone https://github.com/titi08titi/Samdoc.git
cd Samdoc
2. Configure environment
cp .env.example .env
# Edit .env with your tokens
3. Build and run
docker-compose up -d
4. Configure Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"samdoc": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file", ".env",
"samdoc:latest"
]
}
}
}
📁 Project Structure
Samdoc/
├── src/
│ ├── Program.cs
│ ├── GitLabOutlineMcpServer.cs
│ └── Services/
│ ├── GitLabService.cs
│ ├── OutlineService.cs
│ ├── DocumentationGenerator.cs
│ └── RoslynAnalyzer.cs
├── templates/
│ ├── class.md
│ ├── interface.md
│ └── api.md
├── docker-compose.yml
├── Dockerfile
└── Samdoc.csproj
🔧 Configuration
Edit appsettings.json for detailed configuration:
{
"GitLab": {
"Url": "https://gitlab.com",
"Token": "your-token"
},
"Outline": {
"Url": "https://outline.com",
"Token": "your-token"
}
}
📚 Documentation
🤝 Contributing
Contributions are welcome! Please read our for details.
📄 License
This project is licensed under the MIT License - see the file for details.
🙏 Acknowledgments
- Built with the Model Context Protocol
- Powered by Roslyn for code analysis
- Integration with GitLab and Outline
📞 Support
For issues and questions:
- Open an issue
- Check discussions