本项目借助检索增强生成(RAG)技术,实现对本地目录中文档的高效处理。它是一个基于 TypeScript 的 MCP 服务器,能够让用户通过大语言模型(LLM)查询文档,并从本地存储库和文本文件中获取上下文信息。
该服务器需要一个本地目录来存储文档。默认使用 ~/docs,但你可以通过设置 DOCS_PATH 环境变量来配置不同的位置。同时,服务器使用 Google 的 Gemini API 进行文档索引和查询,你需要设置你的 Gemini API 密钥作为环境变量:
export GEMINI_API_KEY=your-api-key-here
你可以在 Google AI Studio 网站上获取 Gemini API 密钥。将此密钥添加到你的壳配置文件或 Claude Desktop 的环境配置中。
要与 Claude Desktop 一起使用,请按照以下方式添加服务器配置:
~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": {
"docs-rag": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-docs-rag"],
"env": {
"DOCS_PATH": "/path/to/your/docs",
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}
docs:// URI 访问。文档可以是 Git 仓库或文本文件,使用纯文本 MIME 类型进行内容访问。list_documents:列出 DOCS_PATH 目录下所有可用文档,返回格式化的文档列表并显示可用文档总数。rag_query:使用 RAG 查询文档,接受 document_id 和 query 参数,返回带有文档上下文的 AI 生成回复。add_git_repository:将 Git 仓库克隆到 docs 目录,可选稀疏检出。接受 repository_url 参数,可选 document_name 参数以自定义文档名称(使用简单的描述性名称,不要带有 '-docs' 后缀),可选子目录参数用于稀疏检出特定目录。如果仓库已存在,则自动拉取最新更改。add_text_file:下载文本文件到 docs 目录,接受 file_url 参数,使用 wget 下载文件。guide_documents_usage:指导如何使用文档和 RAG 功能,包含可用文档的列表,提供 RAG 功能使用的提示信息。npm install
npm run build
npm run watch
npm install -g @kazuph/mcp-docs-rag
mcp-docs-rag
rag_query 工具进行查询# 示例:查询文档内容
mcp rag_query --id your-document-id --query "your-query-here"
# 示例:添加 Git 仓库
mcp add_git_repository --url https://github.com/username/repository.git
# 示例:添加文本文件
mcp add_text_file --url https://example.com/document.txt
该服务器使用 Google 的 Gemini API 进行文档索引和查询。每个文档都会使用 llama-index.ts 和 Google 的 Gemini 嵌入进行单独索引。文档目录可以包含已克隆的 Git 仓库目录和带有 .txt 扩展名的纯文本文件。
暂未提供相关许可证信息。
⚠️ 重要提示
确保你拥有所有访问的资源和 API 的权限,定期检查更新以保持服务器的最佳性能,处理敏感信息时,请遵守相关安全协议。