Skip to main content
Glama
ThaLoc0one

Documentation MCP Server

by ThaLoc0one
README.md
# šŸ“š Documentation MCP Server

A Model Context Protocol (MCP) Server for generating professional documentation with support for multiple frameworks.

## ✨ Features

- šŸ” **Deep Code Analysis** - AST-based Multi-Language Analysis
  - **TypeScript/JavaScript**: TypeScript Compiler API
  - **Python**: Native Python AST module
  - **Go**: Go parser & AST
  - **PHP**: Regex-based analysis + PHP 8+ Features
  - Extracts classes, functions, interfaces, methods, properties
  - **PHP 8+**: Enums, Traits, Attributes
  - Captures JSDoc/Docstrings/Go Doc/PHPDoc and calculates documentation coverage
  - Analyzes imports/exports and module dependencies
- šŸŒ **Multi-Language Projects** - Automatic detection and parallel analysis of multiple languages
- šŸ“Š **Project Analysis** - Automatic code analysis for TypeScript, JavaScript, Python, Go, PHP
- šŸ—ļø **Structure Generation** - Creates complete documentation scaffolds
- āœļø **Page Editor** - Creates and edits individual documentation pages
- šŸ“– **API Documentation** - Generates API docs from code comments
- 🌐 **Static Site Builder** - Builds static websites for hosting
- šŸ“„ **PDF Export** - Converts documentation to PDF
- šŸ‘€ **Live Preview** - Local development server

## šŸ› ļø Supported Frameworks

- **Docusaurus** (React-based, modern, various templates)
- **MkDocs** (Python-based, Markdown-focused, simple)
- **Sphinx** (Python, very powerful, for complex projects)

## šŸš€ Quick Start

1. Install globally:

   ```bash
   npm install -g documentation-mcp-server
   ```

2. Configure in Claude Desktop (see SETUP.md):

   ```json
   {
     "mcpServers": {
       "docs": {
         "command": "npx",
         "args": ["-y", "documentation-mcp-server"]
       }
     }
   }
   ```

3. Start using the documentation tools in Claude!

## šŸ“¦ Tools

### `docs_analyze_project`

Analyzes project structure and performs deep code analysis.

**Parameters:**

- `projectPath` (string, required) - Path to project
- `language` (enum, optional) - Programming language (typescript, javascript, python, go, rust, java, csharp)
- `deep` (boolean, optional, default: true) - Enables deep code analysis

**Deep Analysis Features:**

- šŸ“¦ Extracts Classes/Structs, Interfaces, Functions, Enums, Type Aliases
- šŸ” Captures Methods, Properties, Constructors with complete details
- šŸ“ Analyzes JSDoc/Docstrings/Go Doc and calculates documentation coverage
- šŸ”— Tracks Imports/Exports and Module Dependencies
- šŸ“Š Generates summary statistics
- šŸŽÆ **Multi-Language Support:**
  - āœ… TypeScript/JavaScript (TypeScript Compiler API)
  - āœ… Python (Native Python AST)
  - āœ… Go (go/parser & go/ast)
  - āœ… PHP v2 (nikic/php-parser AST) - **New! 100% accurate**
    - Namespaces & Use-Statements
    - Union/Intersection/Nullable Types
    - Enums, Traits, Attributes (PHP 8+)
    - **Framework Detection:**
      - CodeIgniter 3/4 (Controller, Model)
      - Laravel (Illuminate\*)
      - Symfony (Symfony\*)
      - MVC Pattern Recognition
    - **Route Detection:** šŸš€
      - Convention-based: `/controller/method/{param}`
      - Attribute-based: `#[Get('/')]`, `#[Post('/')]`
      - HTTP Methods: GET, POST, PUT, PATCH, DELETE
      - Parameter Types & Required/Optional Status
    - **Middleware Detection:** šŸ”’
      - Laravel: `#[Middleware('auth')]`
      - Symfony: `#[IsGranted('ROLE_ADMIN')]`
      - CodeIgniter 4: `#[Filter('auth')]`
      - CodeIgniter 3: `@middleware` (Docblocks)
      - Class-Level & Method-Level
      - Middleware Parameters
    - **OpenAPI 3.0 Export:** šŸ“‹
      - Auto-generates Swagger/OpenAPI specs
      - Routes → Paths conversion
      - Middleware → Security Schemes
      - JSON & YAML format support
  - āœ… PHP v1 (Regex-based) - Fallback
  - šŸŒ Automatic Multi-Language Detection
  - šŸ”œ Rust, Java, C# (planned)

**Example Response:**

```json
{
  "deepAnalysis": {
    "summary": {
      "totalFiles": 11,
      "totalClasses": 2,
      "totalInterfaces": 23,
      "totalFunctions": 16,
      "overallDocCoverage": 3.17
    }
  }
}
```

### `docs_generate_structure`

Generates documentation scaffold.

**Parameters:**

- `projectPath` (string, required) - Path to project
- `framework` (enum, required) - docusaurus | mkdocs | sphinx
- `template` (string, optional) - Template name
- `outputPath` (string, optional) - Output path (default: ./docs)

### `docs_create_page`

Creates or edits documentation page.

**Parameters:**

- `docsPath` (string, required) - Path to docs
- `pagePath` (string, required) - Relative path to page
- `title` (string, required) - Page title
- `content` (string, required) - Markdown content

### `docs_generate_api`

Generates API documentation from code.

**Parameters:**

- `projectPath` (string, required) - Path to source code
- `outputPath` (string, required) - Output path
- `language` (enum, required) - Programming language

### `docs_build_static`

Builds static website.

**Parameters:**

- `docsPath` (string, required) - Path to docs
- `framework` (enum, required) - Framework
- `outputPath` (string, optional) - Output path (default: ./build)

### `docs_export_pdf`

Exports documentation as PDF.

**Parameters:**

- `docsPath` (string, required) - Path to docs
- `outputPath` (string, required) - PDF output path
- `includePages` (array, optional) - Specific pages

### `docs_preview`

Starts local dev server.

**Parameters:**

- `docsPath` (string, required) - Path to docs
- `framework` (enum, required) - Framework
- `port` (number, optional) - Port (default: 3000/8000)

### `docs_generate_openapi`

Generates OpenAPI 3.0 specification from PHP code.

**Parameters:**

- `projectPath` (string, required) - PHP project path
- `outputPath` (string, optional) - Output path (default: ./openapi.json)
- `format` (enum, optional) - json | yaml (default: json)
- `title` (string, optional) - API title
- `version` (string, optional) - API version
- `serverUrl` (string, optional) - API server URL

### `docs_generate_sales_docs` šŸŽÆ **NEW!**

Generates professional, sales-ready documentation for CodeCanyon, ThemeForest, etc.

**Parameters:**

- `projectPath` (string, required) - PHP project path
- `outputDir` (string, optional) - Output directory (default: ./sales-docs)
- `productName` (string, required) - Product name
- `productVersion` (string, optional) - Version (default: 1.0.0)
- `author` (string, required) - Author/Company
- `description` (string, required) - Product description
- `price` (string, optional) - Price (e.g., "$49")
- `demoUrl` (string, optional) - Live demo URL
- `supportEmail` (string, optional) - Support email
- `features` (array, optional) - List of key features

**Generated Files:**

1. **README.md** (2.5 KB) - Product overview with features, statistics, requirements
2. **INSTALLATION.md** (3.2 KB) - Step-by-step setup guide
3. **API_REFERENCE.md** (24.2 KB) - Complete API documentation
4. **CONFIGURATION.md** (2.1 KB) - Environment variables, security
5. **EXAMPLES.md** (4.0 KB) - Code examples (JS, PHP, Python)
6. **FAQ.md** (2.2 KB) - Frequently asked questions
7. **CHANGELOG.md** (0.9 KB) - Version history
8. **COMPLETE_DOCUMENTATION.md** (39.0 KB) - All-in-one for PDF

**Total:** ~78 KB professional documentation!

## šŸ—ļø Architecture

```
src/
ā”œā”€ā”€ index.ts                    # MCP Server main file
ā”œā”€ā”€ core/                       # Core modules for deep analysis
│   ā”œā”€ā”€ types.ts               # Type definitions for all languages
│   └── analyzer.ts            # Abstract base class & factory
ā”œā”€ā”€ analyzers/                  # Language-specific analyzers
│   ā”œā”€ā”€ typescript.ts          # TypeScript/JavaScript (TS Compiler API)
│   ā”œā”€ā”€ python.ts              # Python wrapper (subprocess)
│   ā”œā”€ā”€ go.ts                  # Go wrapper (subprocess)
│   └── helpers/               # Native language parsers
│       ā”œā”€ā”€ python_analyzer.py # Python AST parser
│       └── go_analyzer.go     # Go AST parser
└── tools/                      # MCP tool implementations
    ā”œā”€ā”€ analyzeProject.ts      # Deep analysis integration
    ā”œā”€ā”€ generateStructure.ts
    ā”œā”€ā”€ createPage.ts
    ā”œā”€ā”€ generateApi.ts
    ā”œā”€ā”€ buildStatic.ts
    ā”œā”€ā”€ exportPdf.ts
    └── preview.ts
```

### šŸ”¬ Deep Analysis Pipeline

1. **File Scanning** - Scans project directory
2. **Language Detection** - Detects dominant programming language
3. **Analyzer Selection** - Selects appropriate AST parser (Factory Pattern)
4. **AST Parsing** - Parses code files with language-specific parser
   - TypeScript: TS Compiler API (in-process)
   - Python: Python AST module (subprocess)
   - Go: go/parser & go/ast (subprocess)
5. **Symbol Extraction** - Extracts all code symbols (Classes, Functions, etc.)
6. **Documentation Analysis** - Captures documentation comments
7. **Summary Generation** - Calculates statistics and coverage

## šŸ“ License

MIT

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Tools have distinct purposes, though docs_generate_api and docs_generate_openapi could be confused as both generate API documentation, but from different sources (code vs routes). The descriptions clarify the difference.

Naming Consistency5/5

All tools follow a consistent 'docs_verb_noun' pattern (e.g., docs_analyze_project, docs_build_static, docs_create_page). No mixed naming conventions.

Tool Count5/5

9 tools is well-scoped for a documentation server, covering analysis, generation, editing, building, exporting, and previewing without unnecessary bloat or deficiency.

Completeness5/5

The toolset provides a complete lifecycle: analyze project, generate structure, create/edit pages, generate API/OpenAPI/sales docs, build static site, export PDF, and preview. No obvious gaps.

Maintenance

ActivityNo data
ResponsivenessSyncing