MCP Documentation Server
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-serverGrundlegender Arbeitsablauf
Fügen Sie Dokumente mit
add_documenthinzu oder legen Sie.txt- /.md- /.pdf-Dateien im Upload-Ordner ab und rufen Sieprocess_uploadsauf.Durchsuchen Sie alles mit
search_all_documentsoder ein einzelnes Dokument mitsearch_documents.Verwenden Sie
get_context_window, um benachbarte Chunks abzurufen und dem LLM einen breiteren Kontext zu geben.
Related MCP server: OpenLMlib
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_KEYgesetzt 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 |
| Dokument hinzufügen (Titel, Inhalt, optionale Metadaten) |
| Alle Dokumente mit Metadaten und Inhaltsvorschau auflisten |
| Den vollständigen Inhalt eines Dokuments anhand der ID abrufen |
| Ein Dokument, seine Chunks, Datenbankeinträge und zugehörige Dateien entfernen |
📁 Dateiverarbeitung
Tool | Beschreibung |
| Alle Dateien im Upload-Ordner verarbeiten (Chunking + Embeddings) |
| Gibt den absoluten Pfad zum Upload-Ordner zurück |
| Listet Dateien im Upload-Ordner mit Größe und Formatinformationen auf |
| 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 |
| Semantische Vektorsuche innerhalb eines bestimmten Dokuments |
| Hybride (Volltext + Vektor) dokumentübergreifende Suche |
| Gibt ein Fenster von Chunks um einen bestimmten Chunk-Index zurück |
| 🤖 KI-gestützte Suche mit Gemini (erfordert |
Konfiguration
Konfigurieren Sie über Umgebungsvariablen oder eine .env-Datei im Projektstammverzeichnis:
Variable | Standard | Beschreibung |
|
| Basisverzeichnis für die Datenspeicherung |
|
| Name des Embedding-Modells |
| — | Google-Gemini-API-Schlüssel (aktiviert |
|
| LRU-Embedding-Cache aktivieren/deaktivieren |
|
| Auf |
|
| Bindungsadresse für die Weboberfläche (verwenden Sie |
|
| Port für die Weboberfläche |
|
| Streaming-Lesen für große Dateien aktivieren |
|
| Streaming-Puffergröße in Bytes (64 KB) |
|
| 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 hereEmbedding-Modelle
Festgelegt über MCP_EMBEDDING_MODEL:
Modell | Dimensionen | Hinweise |
| 384 | Standard – schnell, gute Qualität |
| 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 GeminiOramaStore 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 installnpm 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
Repository forken
Erstellen Sie einen Feature-Branch:
git checkout -b feature/nameBefolgen Sie Conventional Commits für Nachrichten
Öffnen Sie einen Pull-Request
Unterstützung
🤖 Google AI Studio – einen Gemini-API-Schlüssel erhalten
Sternenverlauf
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables any MCP-compatible AI assistant to search, filter, and retrieve information from a local document collection using a hybrid search pipeline with vector, BM25, reranking, and LLM enrichment.4
- AlicenseNot gradedqualityAmaintenanceProvides 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.2MIT
- FlicenseNot gradedqualityDmaintenanceProvides tools for ingesting documents into a local vector database and retrieving relevant information via semantic search, enabling retrieval-augmented generation for MCP clients.6
- FlicenseAqualityBmaintenanceA 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
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unity-Billal-mesloub/mcp-documentation-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server