Local-first document management and semantic search for AI coding agents
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Andrea9293 MCP.
add_documentAdd a document (title, content, optional metadata)
list_documentsList all documents with metadata and content preview
get_documentRetrieve the full content of a document by ID
delete_documentRemove a document, its chunks, database entries, and associated files
process_uploadsProcess all files in the uploads folder (chunking + embeddings)
get_uploads_pathReturns the absolute path to the uploads folder
Local-first document management and semantic search for AI coding agents. No external databases, no cloud APIs, no vendor lock-in.
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.
.txt, .md, .pdf supportOpen your browser at http://localhost:3080 β the web UI starts automatically.
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.
A ready-to-use skill is included at skills/documentation-server/SKILL.md β it teaches your agent every endpoint with examples. Install it:
add_document or place .txt / .md / .pdf files in the uploads folder and call process_uploads.search_all_documents, or within a single document with search_documents.get_context_window to fetch neighboring chunks and give the LLM broader context.The web interface starts automatically on port 3080 when the MCP server launches. From the web UI you can:
GEMINI_API_KEY is set)All environment variables are optional. Without GEMINI_API_KEY, only the local embedding-based search tools are available.
The server registers the following tools (all validated with Zod schemas):
| Tool | Description |
|---|---|
add_document | Add a document (title, content, optional metadata) |
list_documents | List all documents with metadata and content preview |
get_document | Retrieve the full content of a document by ID |
delete_document | Remove a document, its chunks, database entries, and associated files |
| Tool | Description |
|---|---|
process_uploads | Process all files in the uploads folder (chunking + embeddings) |
get_uploads_path | Returns the absolute path to the uploads folder |
list_uploads_files | Lists files in the uploads folder with size and format info |
get_ui_url | Returns the Web UI URL (e.g. http://localhost:3080) β useful to open the dashboard or to locate the uploads folder from the browser |
| Tool | Description |
|---|---|
search_documents | Semantic vector search within a specific document |
search_all_documents | Hybrid (full-text + vector) cross-document search |
get_context_window | Returns a window of chunks around a given chunk index |
search_documents_with_ai | π€ AI-powered search using Gemini (requires GEMINI_API_KEY) |
Configure via environment variables or a .env file in the project root:
| Variable | Default | Description |
|---|---|---|
MCP_BASE_DIR | ~/.mcp-documentation-server | Base directory for data storage |
MCP_EMBEDDING_MODEL | Xenova/all-MiniLM-L6-v2 | Embedding model name |
GEMINI_API_KEY | β | Google Gemini API key (enables search_documents_with_ai) |
MCP_CACHE_ENABLED | true | Enable/disable LRU embedding cache |
START_WEB_UI | true | Set to false to disable the built-in web interface |
WEB_HOST | 127.0.0.1 | Bind address for the web UI (use 0.0.0.0 to expose on all interfaces) |
WEB_PORT | 3080 | Port for the web UI |
MCP_STREAMING_ENABLED | true | Enable streaming reads for large files |
MCP_STREAM_CHUNK_SIZE | 65536 | Streaming buffer size in bytes (64KB) |
MCP_STREAM_FILE_SIZE_LIMIT | 10485760 | Threshold to switch to streaming (10MB) |
Set via MCP_EMBEDDING_MODEL:
| Model | Dimensions | Notes |
|---|---|---|
Xenova/all-MiniLM-L6-v2 | 384 | Default β fast, good quality |
Xenova/paraphrase-multilingual-mpnet-base-v2 | 768 | Recommended β best quality, multilingual |
Models are downloaded on first use (~80β420 MB). The vector dimension is determined automatically from the provider.
β οΈ Important: Changing the embedding model requires re-adding all documents β embeddings from different models are incompatible. The Orama database is recreated automatically when the dimension changes.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-documentation-server)<a href="https://allmcps.com/mcp/mcp-documentation-server"><img src="https://allmcps.com/api/badge/mcp-documentation-server?style=directory" alt="Andrea9293 MCP on AllMCPs" /></a>