You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://www.paypal.com/donate/?hosted_button_id=HXATGECV8HUJN)
5
8
[](https://buymeacoffee.com/andrea.bravaccino)
6
9
7
-
8
10
# MCP Documentation Server
9
11
10
-
A TypeScript-based [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that provides local-first document management and semantic search. Documents are stored in an embedded [Orama](https://orama.com/) vector database with hybrid search (full-text + vector), intelligent chunking, and local AI embeddings — no external database or cloud service required.
11
-
12
-
## Core capabilities
13
-
14
-
### 🌐 Web UI
15
-
-**Built-in Web Interface**: A full-featured web dashboard starts automatically alongside the MCP server — no additional setup required
16
-
-**Complete Tool Coverage**: Every MCP tool is accessible from the browser: add/view/delete documents, semantic search, AI search, file uploads, and context window exploration
17
-
-**Drag & Drop Uploads**: Upload `.txt`, `.md`, and `.pdf` files directly from the browser
18
-
-**Configurable**: Disable with `START_WEB_UI=false` or change the port with `WEB_PORT`
12
+
**Local-first document management and semantic search for AI coding agents.** No external databases, no cloud APIs, no vendor lock-in.
19
13
20
-
### 🔍 Search & Intelligence
21
-
-**Hybrid Search**: Combined full-text and vector similarity powered by Orama, for both single-document and cross-document queries
22
-
-**AI-Powered Search** 🤖: Advanced document analysis with Google Gemini AI for contextual understanding and intelligent insights (optional, requires API key)
23
-
-**Context Window Retrieval**: Fetch surrounding chunks to provide LLMs with richer context
14
+
Unlike other MCP servers that are CLI-only, this one ships with a **full web dashboard** — browse, search, upload, and manage your knowledge base from your browser. Every MCP tool is also exposed as a REST API, giving AI agents a lean, schema-free interface.
24
15
25
-
### ⚡ Performance & Architecture
26
-
-**Orama Vector DB**: Embedded search engine with zero native dependencies — replaces manual JSON storage and cosine similarity
27
-
-**LRU Embedding Cache**: Avoids recomputing embeddings for repeated content and queries
28
-
-**Parent-Child Chunking**: Documents are split into large context-preserving parent chunks and small precise child chunks for vector search — search results include both the matched fragment and the full surrounding context
29
-
-**Streaming File Reader**: Handles large files without high memory usage
30
-
-**Automatic Migration**: Legacy JSON documents are migrated to Orama on first startup — no manual intervention needed
31
-
32
-
### 📁 File Management
33
-
-**Upload processing**: Drop `.txt`, `.md`, or `.pdf` files into the uploads folder and process them with a single tool call
34
-
-**Copy-based storage**: Original files are backed up alongside the database
35
-
-**Local-only storage**: All data resides in `~/.mcp-documentation-server/`
16
+
-**🏠 Runs fully offline** — Orama vector DB with local AI embeddings (Transformers.js)
17
+
-**🌐 Built-in Web UI** — starts automatically on port 3080 alongside the MCP server
-**🤖 Optional AI search** — Google Gemini for advanced document analysis (bring your own key)
20
+
-**📁 Drag & drop uploads** — `.txt`, `.md`, `.pdf` support
21
+
-**📦 Published on the [MCP Registry](https://registry.modelcontextprotocol.io/servers/io.github.andrea9293/mcp-documentation-server)** — installable via npx, no clone needed
1. Add documents using `add_document` or place `.txt` / `.md` / `.pdf` files in the uploads folder and call `process_uploads`.
42
-
2. Search across everything with `search_all_documents`, or within a single document with `search_documents`.
43
-
3. Use `get_context_window` to fetch neighboring chunks and give the LLM broader context.
36
+
Open your browser at `http://localhost:3080` — the web UI starts automatically.
44
37
45
38
### 🤖 Agent Skill (REST API) — recommended for AI agents
46
39
47
-
Every MCP tool is also accessible via the **REST API** on `http://127.0.0.1:3080/api/`. **This is the recommended way to interact with the server from AI agents** (Claude Code, OpenCode, Gemini CLI, Cursor, etc.) because it avoids loading MCP tool schemas into the conversation context — only the response JSON enters
40
+
Every MCP tool is also accessible via the **REST API** on `http://127.0.0.1:3080/api/`. This is the recommended way to interact from AI agents (Claude Code, OpenCode, Gemini CLI, Cursor) because it avoids loading MCP tool schemas into the conversation context — only the response JSON enters.
48
41
49
42
```bash
50
-
# Check if the server is running
51
43
curl -s http://127.0.0.1:3080/api/config
52
-
53
-
# List all documents
54
44
curl -s http://127.0.0.1:3080/api/documents
55
-
56
-
# Search across all documents
57
45
curl -s -X POST http://127.0.0.1:3080/api/search-all \
58
46
-H "Content-Type: application/json" \
59
47
-d '{"query": "your search", "limit": 5}'
@@ -62,21 +50,19 @@ curl -s -X POST http://127.0.0.1:3080/api/search-all \
62
50
A ready-to-use skill is included at `skills/documentation-server/SKILL.md` — it teaches your agent every endpoint with examples. Install it:
0 commit comments