Samdoc

titi08titi/Samdoc

3.1

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.

Tools
5
Resources
0
Prompts
0

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 GitLab
  • generate_documentation - Generate documentation for code
  • publish_to_outline - Publish to Outline platform
  • sync_project_docs - Sync entire project documentation
  • roslyn_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

📞 Support

For issues and questions: