mcp-docs-rag
Documentation
mcp-docs-rag MCP Server
RAG (Retrieval-Augmented Generation) for documents in a local directory
This is a TypeScript-based MCP server that implements a RAG system for documents stored in a local directory. It allows users to query documents using LLMs with context from locally stored repositories and text files.
Features
Resources
- List and access documents via `docs://` URIs
- Documents can be Git repositories or text files
- Plain text mime type for content access
Tools
- `list_documents` - List all available documents in the DOCS_PATH directory
- Returns a formatted list of all documents
- Shows total number of available documents
- `rag_query` - Query documents using RAG
- Takes document_id and query as parameters
- Returns AI-generated responses with context from documents
- `add_git_repository` - Clone a Git repository to the docs directory with optional sparse checkout
- Takes repository_url as parameter
- Optional document_name parameter to customize the name of the document (use simple descriptive names without '-docs' suffix)
- Optional subdirectory parameter for sparse checkout of specific directories
- Automatically pulls latest changes if repository already exists
- `add_text_file` - Download a text file to the docs directory
- Takes file_url as parameter
- Uses wget to download file
Prompts
- `guide_documents_usage` - Guide on how to use documents and RAG functionality
- Includes list of available documents
- Provides usage hints for RAG functionality
Development
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchSetup
This server requires a local directory for storing documents. By default, it uses `~/docs` but you can configure a different location with the `DOCS_PATH` environment variable.
Document Structure
The documents directory can contain:
- Git repositories (cloned directories)
- Plain text files (with .txt extension)
Each document is indexed separately using llama-index.ts with Google's Gemini embeddings.
API Keys
This server uses Google's Gemini API for document indexing and querying. You need to set your Gemini API key as an environment variable:
export GEMINI_API_KEY=your-api-key-hereYou can obtain a Gemini API key from the Google AI Studio website. Add this key to your shell profile or include it in the environment configuration for Claude Desktop.
Installation
To use with Claude Desktop, add the server config:
On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`
On Linux: `~/.config/Claude/claude_desktop_config.json`
{
"mcpServers": {
"docs-rag": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-docs-rag"],
"env": {
"DOCS_PATH": "/Users/username/docs",
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Make sure to replace `/Users/username/docs` with the actual path to your documents directory.
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
Usage
Once configured, you can use the server with Claude to:
1. Add documents:
Add a new document from GitHub: https://github.com/username/repositoryor with a custom document name:
Add GitHub repository https://github.com/username/repository-name and name it 'framework'or with sparse checkout of a specific directory:
Add only the 'src/components' directory from https://github.com/username/repositoryor combine custom name and sparse checkout:
Add the 'examples/demo' directory from https://github.com/username/large-repo and name it 'demo-app'or add a text file:
Add this text file: https://example.com/document.txt2. Query documents:
What does the documentation say about X in the Y repository?3. List available documents:
What documents do you have access to?The server will automatically handle indexing of documents for efficient retrieval.
Frequently asked questions
What is mcp-docs-rag?
mcp-docs-rag is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install mcp-docs-rag?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-docs-rag open source?
Yes — it is hosted on GitHub at https://github.com/kazuph/mcp-docs-rag and has 13 stars.
Related MCP tools
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Fay是一个帮助数字人(2.5d、3d、移动、pc、网页)或大语言模型(openai兼容、deepseek)连通业务系统的mcp框架。 JavaScript-based implementation. Trusted by 12000+ developers.
CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP