Skip to main content
Glama
Unity-Billal-mesloub

MCP Documentation Server

MCP Registry npm version GitHub Stars Ask DeepWiki

MCP Documentation Server

Lokale Dokumentenverwaltung und semantische Suche für KI-Codierungsagenten. Keine externen Datenbanken, keine Cloud-APIs, keine Anbieterbindung.

Im Gegensatz zu anderen MCP-Servern, die nur über die CLI verfügen, wird dieser mit einem vollwertigen Web-Dashboard geliefert – durchsuchen, suchen, hochladen und verwalten Sie Ihre Wissensbasis direkt im Browser. Jedes MCP-Tool ist auch als REST-API verfügbar, was KI-Agenten eine schlanke, schemalose Schnittstelle bietet.

  • 🏠 Läuft vollständig offline – Orama-Vektordatenbank mit lokalen KI-Embeddings (Transformers.js)

  • 🌐 Integrierte Web-Benutzeroberfläche – startet automatisch auf Port 3080 zusammen mit dem MCP-Server

  • 🔍 Hybride Suche – Volltext- und Vektorähnlichkeit mit Parent-Child-Chunking

  • 🤖 Optionale KI-Suche – Google Gemini für erweiterte Dokumentenanalyse (eigenen Schlüssel mitbringen)

  • 📁 Drag-and-Drop-Uploads – Unterstützung für .txt, .md, .pdf

  • 📦 Veröffentlicht im MCP-Registry – per npx installierbar, kein Klonen erforderlich

Schnellstart

{
  "mcpServers": {
    "documentation": {
      "command": "npx",
      "args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
    }
  }
}

🤖 Agent Skill (REST-API) – empfohlen für KI-Agenten

Jedes MCP-Tool ist auch über die REST-API unter `` zugänglich. Dies ist der empfohlene Weg für die Interaktion mit KI-Agenten (Claude Code, OpenCode, Gemini CLI, Cursor), da vermieden wird, MCP-Tool-Schemas in den Gesprächskontext zu laden – nur das Antwort-JSON wird übernommen.


  -H "Content-Type: application/json" \
  -d '{"query": "your search", "limit": 5}'

Eine einsatzbereite Fähigkeit ist unter skills/documentation-server/SKILL.md enthalten – sie bringt Ihrem Agenten jeden Endpunkt mit Beispielen bei. Installieren Sie sie:

npx skills add https://github.com/Unity-Billal-mesloub/mcp-documentation-server --skill documentation-server

Grundlegender Arbeitsablauf

  1. Fügen Sie Dokumente mit add_document hinzu oder legen Sie .txt- / .md- / .pdf-Dateien im Upload-Ordner ab und rufen Sie process_uploads auf.

  2. Durchsuchen Sie alles mit search_all_documents oder ein einzelnes Dokument mit search_documents.

  3. Verwenden Sie get_context_window, um benachbarte Chunks abzurufen und dem LLM einen breiteren Kontext zu geben.

Related MCP server: RAG MCP Server

Web-Benutzeroberfläche

Die Weboberfläche startet automatisch auf Port 3080, wenn der MCP-Server gestartet wird. Über die Weboberfläche können Sie:

  • 📊 Dashboard – Übersicht über alle Dokumente und Statistiken

  • 📄 Dokumente – Dokumente durchsuchen, anzeigen und löschen

  • ➕ Dokument hinzufügen – Dokumente mit Titel, Inhalt und Metadaten erstellen

  • 🔍 Alle durchsuchen – semantische Suche über alle Dokumente

  • 🎯 Im Dokument suchen – Suche innerhalb eines bestimmten Dokuments

  • 🤖 KI-Suche – Gemini-gestützte Analyse (wenn GEMINI_API_KEY gesetzt ist)

  • 📁 Dateien hochladen – Dateien per Drag & Drop hochladen und in die Wissensbasis verarbeiten

  • 🪟 Kontextfenster – Chunks um einen bestimmten Index erkunden

MCP-Client konfigurieren

Minimal

{
  "mcpServers": {
    "documentation": {
      "command": "npx",
      "args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
    }
  }
}

Mit Umgebungsvariablen (alle optional)

{
  "mcpServers": {
    "documentation": {
      "command": "npx",
      "args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"],
      "env": {
        "MCP_BASE_DIR": "/path/to/workspace",
        "GEMINI_API_KEY": "your-api-key-here",
        "MCP_EMBEDDING_MODEL": "Xenova/all-MiniLM-L6-v2",
        "START_WEB_UI": "true",
        "WEB_HOST": "127.0.0.1",
        "WEB_PORT": "3080"
      }
    }
  }
}

Alle Umgebungsvariablen sind optional. Ohne GEMINI_API_KEY sind nur die lokalen, auf Embeddings basierenden Suchwerkzeuge verfügbar.

MCP-Tools

Der Server registriert die folgenden Tools (alle mit Zod-Schemas validiert):

📄 Dokumentenverwaltung

Tool

Beschreibung

add_document

Dokument hinzufügen (Titel, Inhalt, optionale Metadaten)

list_documents

Alle Dokumente mit Metadaten und Inhaltsvorschau auflisten

get_document

Den vollständigen Inhalt eines Dokuments anhand der ID abrufen

delete_document

Ein Dokument, seine Chunks, Datenbankeinträge und zugehörige Dateien entfernen

📁 Dateiverarbeitung

Tool

Beschreibung

process_uploads

Alle Dateien im Upload-Ordner verarbeiten (Chunking + Embeddings)

get_uploads_path

Gibt den absoluten Pfad zum Upload-Ordner zurück

list_uploads_files

Listet Dateien im Upload-Ordner mit Größe und Formatinformationen auf

get_ui_url

Gibt die Web-UI-URL zurück (z. B. http://localhost:3080) – nützlich, um das Dashboard zu öffnen oder den Upload-Ordner im Browser zu finden

🔍 Suche

Tool

Beschreibung

search_documents

Semantische Vektorsuche innerhalb eines bestimmten Dokuments

search_all_documents

Hybride (Volltext + Vektor) dokumentübergreifende Suche

get_context_window

Gibt ein Fenster von Chunks um einen bestimmten Chunk-Index zurück

search_documents_with_ai

🤖 KI-gestützte Suche mit Gemini (erfordert GEMINI_API_KEY)

Konfiguration

Konfigurieren Sie über Umgebungsvariablen oder eine .env-Datei im Projektstammverzeichnis:

Variable

Standard

Beschreibung

MCP_BASE_DIR

~/.mcp-documentation-server

Basisverzeichnis für die Datenspeicherung

MCP_EMBEDDING_MODEL

Xenova/all-MiniLM-L6-v2

Name des Embedding-Modells

GEMINI_API_KEY

—

Google-Gemini-API-Schlüssel (aktiviert search_documents_with_ai)

MCP_CACHE_ENABLED

true

LRU-Embedding-Cache aktivieren/deaktivieren

START_WEB_UI

true

Auf false setzen, um die integrierte Weboberfläche zu deaktivieren

WEB_HOST

127.0.0.1

Bindungsadresse für die Weboberfläche (verwenden Sie 0.0.0.0, um sie auf allen Schnittstellen verfügbar zu machen)

WEB_PORT

3080

Port für die Weboberfläche

MCP_STREAMING_ENABLED

true

Streaming-Lesen für große Dateien aktivieren

MCP_STREAM_CHUNK_SIZE

65536

Streaming-Puffergröße in Bytes (64 KB)

MCP_STREAM_FILE_SIZE_LIMIT

10485760

Schwellenwert für den Wechsel zum Streaming (10 MB)

Speicherlayout

~/.mcp-documentation-server/     # Or custom path via MCP_BASE_DIR
├── data/
│   ├── orama-chunks.msp         # Orama vector DB (child chunks + embeddings)
│   ├── orama-docs.msp           # Orama document DB (full content + metadata)
│   ├── orama-parents.msp        # Orama parent chunks DB (context sections)
│   ├── migration-complete.flag   # Written after legacy JSON migration
│   └── *.md                     # Markdown copies of documents
└── uploads/                     # Drop .txt, .md, .pdf files here

Embedding-Modelle

Festgelegt über MCP_EMBEDDING_MODEL:

Modell

Dimensionen

Hinweise

Xenova/all-MiniLM-L6-v2

384

Standard – schnell, gute Qualität

Xenova/paraphrase-multilingual-mpnet-base-v2

768

Empfohlen – beste Qualität, mehrsprachig

Modelle werden bei der ersten Verwendung heruntergeladen (~80–420 MB). Die Vektordimension wird automatisch vom Anbieter bestimmt.

⚠️ Wichtig: Ein Wechsel des Embedding-Modells erfordert das erneute Hinzufügen aller Dokumente – Embeddings verschiedener Modelle sind inkompatibel. Die Orama-Datenbank wird automatisch neu erstellt, wenn sich die Dimension ändert.

Architektur

Server (FastMCP, stdio)
  ├─ Web UI (Express, port 3080)
  │    └─ REST API → DocumentManager
  └─ MCP Tools
       └─ DocumentManager
            ├─ OramaStore          — Orama vector DB (chunks DB + docs DB + parents DB), persistence, migration
            ├─ IntelligentChunker  — Parent-child chunking (code, markdown, text, PDF)
            ├─ EmbeddingProvider   — Local embeddings via @xenova/transformers
            │    └─ EmbeddingCache — LRU in-memory cache
            └─ GeminiSearchService — Optional AI search via Google Gemini
  • OramaStore verwaltet drei Orama-Instanzen: eine für Dokumentmetadaten/-inhalte, eine für Child-Chunks mit Vektor-Embeddings und eine für Parent-Chunks (Kontextabschnitte). Alle werden als Binärdateien auf der Festplatte gespeichert und beim Start wiederhergestellt.

  • IntelligentChunker implementiert das Parent-Child-Chunking-Muster: Dokumente werden zunächst in große Parent-Chunks aufgeteilt, die den vollständigen Kontext (Abschnitte, Absätze) bewahren, dann wird jeder Parent weiter in kleine Child-Chunks für die präzise Vektorsuche aufgeteilt. Zur Abfragezeit werden Ergebnisse nach Parent dedupliziert, sodass das LLM sowohl das passende Fragment als auch den breiteren Kontext erhält.

  • EmbeddingProvider lädt ein Transformers.js-Modell lazy für lokale Inferenz – keine API-Aufrufe erforderlich.

Entwicklung

git clone https://github.com/Unity-Billal-mesloub/mcp-documentation-server.git
cd mcp-documentation-server
npm install
npm run dev       # FastMCP dev mode with hot reload
npm run build     # TypeScript compilation
npm run inspect   # FastMCP web UI for interactive tool testing
npm start         # Direct tsx execution (MCP server + web UI)
npm run web       # Run only the web UI (development)
npm run web:build # Run only the web UI (compiled)

Mitwirken

  1. Repository forken

  2. Erstellen Sie einen Feature-Branch: git checkout -b feature/name

  3. Befolgen Sie Conventional Commits für Nachrichten

  4. Öffnen Sie einen Pull-Request

Unterstützung


Sternenverlauf

Star History Chart

Erstellt mit FastMCP, Orama und TypeScript

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Provides AI assistants with a local knowledge base and research library, enabling semantic and full-text retrieval, memory persistence, and multi-agent collaboration via 58 MCP tools.
    76
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools for ingesting documents into a local vector database and retrieving relevant information via semantic search, enabling retrieval-augmented generation for MCP clients.
    6
    -
  • F
    license
    A
    quality
    D
    maintenance
    A local-first document retrieval engine that mounts as an MCP tool for agents to index files, search for relevant passages, and let the agent's own LLM answer.
    4
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables local knowledge base management with retrieval-augmented generation (RAG), providing semantic search, document reading, listing, and Q&A via MCP tools and REST endpoints, all running locally without cloud dependencies.
    MIT