add_document
Add a new document to the knowledge base
Drop .txt and .md files into a folder on your own disk, have them chunked and embedded, then search inside one document or across all of them and widen a hit to the sections around it.
LABSCO SUMMARY
Content arrives two ways — add_document for text you already have in hand, or the uploads folder for files you would rather copy in — and process_uploads turns the folder into embeddings when you are ready. Retrieval is the part worth the install: search_all_documents combines full-text with vector matching for the case where you cannot say which document is relevant, and get_context_window then expands a match into the parent sections on either side, so what reaches the model is a passage rather than an orphaned chunk.
A local document store with semantic retrieval: documents arrive by call or through an uploads folder, and are embedded for search.
Disk space for the uploads folder and the embeddings built from it, and a Node runtime. No account and no key. Files placed by hand have to be .txt or .md for process_uploads to pick them up.
One command — npx -y @andrea9293/mcp-documentation-server
USE CASES
Read where the uploads folder is, drop the .txt and .md files in, and process them into embeddings. After that a question can be asked against the whole set rather than against one file you had to guess at.
Search inside the document you know is relevant, then take the parent sections either side of the match so the passage that reaches the model has its context attached.
See what is indexed, check which files are sitting in the uploads folder, drop the superseded document and add the replacement with its own title and metadata.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_documentAdd a new document to the knowledge base
delete_documentDelete a document from the collection
get_context_windowReturns a window of parent content sections around a central parent_index. Use parent_index values from search results. Always tell the user if result is truncated because of length.
get_documentUse this tool only when user explicitly requests it. Retrieve a specific document by ID. Always tell the user if result is truncated because of length. for example if you recive a message like this in the response: 'Tool response was too long and was truncated'
get_ui_urlGet the URL of the web UI. use this tool when user ask you to access the web interface, when the user ask you to upload a file or when the user ask you the uploads folder path. All these function are available in the web UI.
get_uploads_pathGet the absolute path to the uploads folder where you can manually place .txt and .md files
list_documentsList all documents in the knowledge base
list_uploads_filesList all files in the uploads folder with their details
process_uploadsProcess all .txt and .md files in the uploads folder and create embeddings for them
search_all_documentsSearch for relevant chunks across ALL documents in the knowledge base using semantic similarity (hybrid: full-text + vector). Useful for cross-document search when you don't know which document contains the answer.
search_documentsSearch for chunks within a specific document using semantic similarity. Always tell the user if result is truncated because of length. for example if you recive a message like this in the response: 'Tool response was too long and was truncated'
BEFORE YOU INSTALL
11 tools when we connected. A twelfth tool, search_documents_with_ai, appears only when GEMINI_API_KEY is set; without it, only the local embedding-based search tools are available.
npx on PATH
CONTEXT COST
Rated by the size of the 11 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"mcp-documentation-server": {
"command": "npx",
"args": [
"-y",
"@andrea9293/mcp-documentation-server"
]
}
}
}npx -y @andrea9293/mcp-documentation-server