Skip to main content
Glama
LiL-Loco

Documentation MCP Server

by LiL-Loco
README.md
# 📚 Documentation MCP Server

Ein Model Context Protocol (MCP) Server zum Generieren professioneller Dokumentationen mit Unterstützung für mehrere Frameworks.

## ✨ Features

- 🔍 **Deep Code Analysis** - AST-basierte Multi-Language Analysis
  - **TypeScript/JavaScript**: TypeScript Compiler API
  - **Python**: Native Python AST module
  - **Go**: Go parser & AST
  - **PHP**: Regex-basierte Analyse + PHP 8+ Features
  - Extrahiert Klassen, Funktionen, Interfaces, Methoden, Properties
  - **PHP 8+**: Enums, Traits, Attributes
  - Erfasst JSDoc/Docstrings/Go Doc/PHPDoc und berechnet Dokumentations-Coverage
  - Analysiert Imports/Exports und Module-Dependencies
- 🌍 **Multi-Language Projects** - Automatische Erkennung und parallele Analyse mehrerer Sprachen
- 📊 **Projekt-Analyse** - Automatische Code-Analyse für TypeScript, JavaScript, Python, Go, PHP
- 🏗️ **Struktur-Generierung** - Erstellt komplette Dokumentations-Gerüste
- ✍️ **Seiten-Editor** - Erstellt und bearbeitet einzelne Dokumentationsseiten
- 📖 **API-Dokumentation** - Generiert API-Docs aus Code-Kommentaren
- 🌐 **Static Site Builder** - Baut statische Websites für Hosting
- 📄 **PDF-Export** - Konvertiert Dokumentation zu PDF
- 👀 **Live-Preview** - Lokaler Entwicklungsserver

## 🛠️ Unterstützte Frameworks

- **Docusaurus** (React-basiert, modern, verschiedene Templates)
- **MkDocs** (Python-basiert, Markdown-fokussiert, einfach)
- **Sphinx** (Python, sehr mächtig, für komplexe Projekte)

## 🚀 Quick Start

1. Verzeichnisse erstellen:

   ```cmd
   mkdir src
   mkdir src\tools
   ```

2. Dependencies installieren:

   ```cmd
   npm install
   ```

3. Build:

   ```cmd
   npm run build
   ```

4. MCP Server in Claude Desktop konfigurieren (siehe SETUP.md)

## 📦 Tools

### `docs_analyze_project`

Analysiert Projekt-Struktur und führt Deep Code Analysis durch.

**Parameter:**

- `projectPath` (string, required) - Pfad zum Projekt
- `language` (enum, optional) - Programmiersprache (typescript, javascript, python, go, rust, java, csharp)
- `deep` (boolean, optional, default: true) - Aktiviert Deep Code Analysis

**Deep Analysis Features:**

- 📦 Extrahiert Classes/Structs, Interfaces, Functions, Enums, Type Aliases
- 🔍 Erfasst Methods, Properties, Constructors mit vollständigen Details
- 📝 Analysiert JSDoc/Docstrings/Go Doc und berechnet Documentation Coverage
- 🔗 Trackt Imports/Exports und Module Dependencies
- 📊 Generiert Zusammenfassungs-Statistiken
- 🎯 **Multi-Language Support:**
  - ✅ TypeScript/JavaScript (TypeScript Compiler API)
  - ✅ Python (Native Python AST)
  - ✅ Go (go/parser & go/ast)
  - ✅ PHP v2 (nikic/php-parser AST) - **Neu! 100% genau**
    - 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
  - 🌍 Automatische Multi-Language-Erkennung
  - 🔜 Rust, Java, C# (in Planung)

**Beispiel-Rückgabe:**

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

### `docs_generate_structure`

Generiert Dokumentations-Gerüst.

**Parameter:**

- `projectPath` (string, required) - Pfad zum Projekt
- `framework` (enum, required) - docusaurus | mkdocs | sphinx
- `template` (string, optional) - Template-Name
- `outputPath` (string, optional) - Ausgabepfad (default: ./docs)

### `docs_create_page`

Erstellt oder bearbeitet Dokumentationsseite.

**Parameter:**

- `docsPath` (string, required) - Pfad zur Doku
- `pagePath` (string, required) - Relativer Pfad zur Seite
- `title` (string, required) - Seitentitel
- `content` (string, required) - Markdown-Inhalt

### `docs_generate_api`

Generiert API-Dokumentation aus Code.

**Parameter:**

- `projectPath` (string, required) - Pfad zum Quellcode
- `outputPath` (string, required) - Ausgabepfad
- `language` (enum, required) - Programmiersprache

### `docs_build_static`

Baut statische Website.

**Parameter:**

- `docsPath` (string, required) - Pfad zur Doku
- `framework` (enum, required) - Framework
- `outputPath` (string, optional) - Ausgabepfad (default: ./build)

### `docs_export_pdf`

Exportiert Dokumentation als PDF.

**Parameter:**

- `docsPath` (string, required) - Pfad zur Doku
- `outputPath` (string, required) - PDF-Ausgabepfad
- `includePages` (array, optional) - Spezifische Seiten

### `docs_preview`

Startet lokalen Dev-Server.

**Parameter:**

- `docsPath` (string, required) - Pfad zur Doku
- `framework` (enum, required) - Framework
- `port` (number, optional) - Port (default: 3000/8000)

### `docs_generate_openapi`

Generiert OpenAPI 3.0 Spezifikation aus PHP-Code.

**Parameter:**

- `projectPath` (string, required) - PHP-Projekt Pfad
- `outputPath` (string, optional) - Ausgabepfad (default: ./openapi.json)
- `format` (enum, optional) - json | yaml (default: json)
- `title` (string, optional) - API-Titel
- `version` (string, optional) - API-Version
- `serverUrl` (string, optional) - API Server URL

### `docs_generate_sales_docs` 🎯 **NEU!**

Generiert professionelle, verkaufsfertige Dokumentation für CodeCanyon, ThemeForest, etc.

**Parameter:**

- `projectPath` (string, required) - PHP-Projekt Pfad
- `outputDir` (string, optional) - Ausgabe-Verzeichnis (default: ./sales-docs)
- `productName` (string, required) - Produktname
- `productVersion` (string, optional) - Version (default: 1.0.0)
- `author` (string, required) - Autor/Firma
- `description` (string, required) - Produktbeschreibung
- `price` (string, optional) - Preis (z.B., "$49")
- `demoUrl` (string, optional) - Live-Demo URL
- `supportEmail` (string, optional) - Support E-Mail
- `features` (array, optional) - Liste der Key Features

**Generierte Dateien:**

1. **README.md** (2.5 KB) - Produkt-Übersicht mit Features, Statistiken, Requirements
2. **INSTALLATION.md** (3.2 KB) - Schritt-für-Schritt Setup-Guide
3. **API_REFERENCE.md** (24.2 KB) - Komplette API-Dokumentation
4. **CONFIGURATION.md** (2.1 KB) - Umgebungsvariablen, Security
5. **EXAMPLES.md** (4.0 KB) - Code-Beispiele (JS, PHP, Python)
6. **FAQ.md** (2.2 KB) - Häufig gestellte Fragen
7. **CHANGELOG.md** (0.9 KB) - Versionshistorie
8. **COMPLETE_DOCUMENTATION.md** (39.0 KB) - All-in-One für PDF

**Gesamt:** ~78 KB professionelle Dokumentation!

## 🏗️ Architektur

```
src/
├── index.ts                    # MCP Server Hauptdatei
├── core/                       # Kern-Module für Deep Analysis
│   ├── types.ts               # Type-Definitionen für alle Sprachen
│   └── analyzer.ts            # Abstract Base Class & Factory
├── analyzers/                  # Sprachspezifische Analyzer
│   ├── 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-Implementierungen
    ├── analyzeProject.ts      # Deep Analysis Integration
    ├── generateStructure.ts
    ├── createPage.ts
    ├── generateApi.ts
    ├── buildStatic.ts
    ├── exportPdf.ts
    └── preview.ts
```

### 🔬 Deep Analysis Pipeline

1. **File Scanning** - Durchsucht Projekt-Verzeichnis
2. **Language Detection** - Erkennt dominante Programmiersprache
3. **Analyzer Selection** - Wählt passenden AST-Parser (Factory Pattern)
4. **AST Parsing** - Parst Code-Dateien mit sprachspezifischem Parser
   - TypeScript: TS Compiler API (in-process)
   - Python: Python AST module (subprocess)
   - Go: go/parser & go/ast (subprocess)
5. **Symbol Extraction** - Extrahiert alle Code-Symbole (Classes, Functions, etc.)
6. **Documentation Analysis** - Erfasst Dokumentations-Kommentare
7. **Summary Generation** - Berechnet Statistiken und Coverage

## 📝 Lizenz

MIT

TDQS

A3.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: analysis, building static site, creating/editing pages, PDF export, API doc generation (two types), sales doc generation, structure scaffolding, and preview. No overlap that would confuse an agent.

Naming Consistency5/5

All tools use the consistent 'docs_' prefix and follow a verb_noun pattern in snake_case (e.g., docs_analyze_project, docs_generate_api). No mixing of conventions.

Tool Count5/5

9 tools is well-scoped for a documentation server. It covers the full workflow from analysis to generation, editing, preview, and export without being excessive.

Completeness4/5

The set covers core documentation tasks, but missing tools for listing/deleting pages or managing versions. Minor gap, but overall surface is solid.

Maintenance

ActivityNo data
ResponsivenessSyncing