# RAG MCP 服务器使用指南
## 什么是 RAG MCP 服务器?
这是一个基于 MCP (Model Context Protocol) 的 RAG (Retrieval-Augmented Generation) 服务器,它允许 AI 助手访问和管理知识库,进行智能问答和文档检索。
## 功能特性
- 📚 **文档管理**: 添加、删除、查询文档
- 🔍 **智能搜索**: 基于语义相似度的文档检索
- 💬 **问答系统**: 根据知识库内容回答问题
- 🏷️ **元数据支持**: 为文档添加分类、标签等元信息
- 📊 **统计分析**: 查看知识库状态和统计信息
## 快速开始
### 1. 启动服务器
```bash
# 在后台启动服务器
python rag_server.py
# 或者直接运行(会阻塞终端)
python rag_server.py
```
### 2. 配置 MCP 客户端
在支持 MCP 的 AI 客户端(如 Claude Desktop)中,添加以下配置:
```json
{
"mcpServers": {
"rag-server": {
"command": "python",
"args": ["/path/to/your/rag-mcp-server/rag_server.py"],
"env": {
"PYTHONPATH": "/path/to/your/rag-mcp-server"
}
}
}
}
```
### 3. 使用示例
启动后,AI 助手就可以使用以下工具:
#### 添加文档
```
add_document("文档内容", {"category": "技术", "language": "中文"})
```
#### 搜索文档
```
search_documents("人工智能")
```
#### 获取文档
```
get_document("doc_0")
```
#### 列出所有文档
```
list_documents()
```
#### 删除文档
```
delete_document("doc_0")
```
#### 获取服务器信息
```
get_server_info()
```
## 配置选项
服务器支持以下配置:
- `max_results`: 最大搜索结果数量 (默认: 5)
- `similarity_threshold`: 相似度阈值 (默认: 0.7)
- `supported_formats`: 支持的文档格式
- `enable_logging`: 是否启用日志记录
## 支持的文档格式
- 纯文本
- Markdown
- 结构化数据 (JSON)
## 故障排除
### 常见问题
1. **服务器无法启动**
- 检查 Python 环境
- 确认依赖包已安装
- 查看错误日志
2. **MCP 连接失败**
- 确认服务器正在运行
- 检查客户端配置路径
- 验证 Python 路径设置
3. **文档添加失败**
- 检查文档内容格式
- 确认元数据格式正确
- 查看服务器日志
### 日志查看
服务器运行时会输出详细日志,包括:
- 文档操作状态
- 搜索请求处理
- 错误和警告信息
## 开发说明
### 项目结构
```
rag-mcp-server/
├── rag_server.py # 主服务器文件
├── rag_engine.py # RAG 核心引擎
├── mcp_client_config.json # MCP 客户端配置示例
├── requirements.txt # 依赖包列表
└── README.md # 使用说明
```
### 扩展功能
你可以通过修改 `rag_engine.py` 来:
- 添加新的文档格式支持
- 自定义相似度算法
- 集成外部数据源
- 优化搜索性能
## 技术支持
如果遇到问题,请:
1. 查看服务器日志输出
2. 检查配置文件格式
3. 确认环境依赖
4. 参考错误信息进行排查
---
**注意**: 这是一个示例实现,生产环境使用前请进行充分测试和安全评估。
Raw data
{
"_id": null,
"home_page": "https://github.com/yourusername/rag-mcp-server",
"name": "rag-mcp-server-lizhibing",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "mcp, rag, document-search, ai",
"author": "Your Name",
"author_email": "Your Name <your.email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/e0/e8/975af53ff1bee07cf65a26bfbba26f40cbd9cf01646f5ed5f4e1beb2ca94/rag_mcp_server_lizhibing-0.1.10.tar.gz",
"platform": null,
"description": "# RAG MCP \u670d\u52a1\u5668\u4f7f\u7528\u6307\u5357\n\n## \u4ec0\u4e48\u662f RAG MCP \u670d\u52a1\u5668\uff1f\n\n\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8e MCP (Model Context Protocol) \u7684 RAG (Retrieval-Augmented Generation) \u670d\u52a1\u5668\uff0c\u5b83\u5141\u8bb8 AI \u52a9\u624b\u8bbf\u95ee\u548c\u7ba1\u7406\u77e5\u8bc6\u5e93\uff0c\u8fdb\u884c\u667a\u80fd\u95ee\u7b54\u548c\u6587\u6863\u68c0\u7d22\u3002\n\n## \u529f\u80fd\u7279\u6027\n\n- \ud83d\udcda **\u6587\u6863\u7ba1\u7406**: \u6dfb\u52a0\u3001\u5220\u9664\u3001\u67e5\u8be2\u6587\u6863\n- \ud83d\udd0d **\u667a\u80fd\u641c\u7d22**: \u57fa\u4e8e\u8bed\u4e49\u76f8\u4f3c\u5ea6\u7684\u6587\u6863\u68c0\u7d22\n- \ud83d\udcac **\u95ee\u7b54\u7cfb\u7edf**: \u6839\u636e\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\u95ee\u9898\n- \ud83c\udff7\ufe0f **\u5143\u6570\u636e\u652f\u6301**: \u4e3a\u6587\u6863\u6dfb\u52a0\u5206\u7c7b\u3001\u6807\u7b7e\u7b49\u5143\u4fe1\u606f\n- \ud83d\udcca **\u7edf\u8ba1\u5206\u6790**: \u67e5\u770b\u77e5\u8bc6\u5e93\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f\n\n## \u5feb\u901f\u5f00\u59cb\n\n### 1. \u542f\u52a8\u670d\u52a1\u5668\n\n```bash\n# \u5728\u540e\u53f0\u542f\u52a8\u670d\u52a1\u5668\npython rag_server.py\n\n# \u6216\u8005\u76f4\u63a5\u8fd0\u884c\uff08\u4f1a\u963b\u585e\u7ec8\u7aef\uff09\npython rag_server.py\n```\n\n### 2. \u914d\u7f6e MCP \u5ba2\u6237\u7aef\n\n\u5728\u652f\u6301 MCP \u7684 AI \u5ba2\u6237\u7aef\uff08\u5982 Claude Desktop\uff09\u4e2d\uff0c\u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a\n\n```json\n{\n \"mcpServers\": {\n \"rag-server\": {\n \"command\": \"python\",\n \"args\": [\"/path/to/your/rag-mcp-server/rag_server.py\"],\n \"env\": {\n \"PYTHONPATH\": \"/path/to/your/rag-mcp-server\"\n }\n }\n }\n}\n```\n\n### 3. \u4f7f\u7528\u793a\u4f8b\n\n\u542f\u52a8\u540e\uff0cAI \u52a9\u624b\u5c31\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u5de5\u5177\uff1a\n\n#### \u6dfb\u52a0\u6587\u6863\n```\nadd_document(\"\u6587\u6863\u5185\u5bb9\", {\"category\": \"\u6280\u672f\", \"language\": \"\u4e2d\u6587\"})\n```\n\n#### \u641c\u7d22\u6587\u6863\n```\nsearch_documents(\"\u4eba\u5de5\u667a\u80fd\")\n```\n\n#### \u83b7\u53d6\u6587\u6863\n```\nget_document(\"doc_0\")\n```\n\n#### \u5217\u51fa\u6240\u6709\u6587\u6863\n```\nlist_documents()\n```\n\n#### \u5220\u9664\u6587\u6863\n```\ndelete_document(\"doc_0\")\n```\n\n#### \u83b7\u53d6\u670d\u52a1\u5668\u4fe1\u606f\n```\nget_server_info()\n```\n\n## \u914d\u7f6e\u9009\u9879\n\n\u670d\u52a1\u5668\u652f\u6301\u4ee5\u4e0b\u914d\u7f6e\uff1a\n\n- `max_results`: \u6700\u5927\u641c\u7d22\u7ed3\u679c\u6570\u91cf (\u9ed8\u8ba4: 5)\n- `similarity_threshold`: \u76f8\u4f3c\u5ea6\u9608\u503c (\u9ed8\u8ba4: 0.7)\n- `supported_formats`: \u652f\u6301\u7684\u6587\u6863\u683c\u5f0f\n- `enable_logging`: \u662f\u5426\u542f\u7528\u65e5\u5fd7\u8bb0\u5f55\n\n## \u652f\u6301\u7684\u6587\u6863\u683c\u5f0f\n\n- \u7eaf\u6587\u672c\n- Markdown\n- \u7ed3\u6784\u5316\u6570\u636e (JSON)\n\n## \u6545\u969c\u6392\u9664\n\n### \u5e38\u89c1\u95ee\u9898\n\n1. **\u670d\u52a1\u5668\u65e0\u6cd5\u542f\u52a8**\n - \u68c0\u67e5 Python \u73af\u5883\n - \u786e\u8ba4\u4f9d\u8d56\u5305\u5df2\u5b89\u88c5\n - \u67e5\u770b\u9519\u8bef\u65e5\u5fd7\n\n2. **MCP \u8fde\u63a5\u5931\u8d25**\n - \u786e\u8ba4\u670d\u52a1\u5668\u6b63\u5728\u8fd0\u884c\n - \u68c0\u67e5\u5ba2\u6237\u7aef\u914d\u7f6e\u8def\u5f84\n - \u9a8c\u8bc1 Python \u8def\u5f84\u8bbe\u7f6e\n\n3. **\u6587\u6863\u6dfb\u52a0\u5931\u8d25**\n - \u68c0\u67e5\u6587\u6863\u5185\u5bb9\u683c\u5f0f\n - \u786e\u8ba4\u5143\u6570\u636e\u683c\u5f0f\u6b63\u786e\n - \u67e5\u770b\u670d\u52a1\u5668\u65e5\u5fd7\n\n### \u65e5\u5fd7\u67e5\u770b\n\n\u670d\u52a1\u5668\u8fd0\u884c\u65f6\u4f1a\u8f93\u51fa\u8be6\u7ec6\u65e5\u5fd7\uff0c\u5305\u62ec\uff1a\n- \u6587\u6863\u64cd\u4f5c\u72b6\u6001\n- \u641c\u7d22\u8bf7\u6c42\u5904\u7406\n- \u9519\u8bef\u548c\u8b66\u544a\u4fe1\u606f\n\n## \u5f00\u53d1\u8bf4\u660e\n\n### \u9879\u76ee\u7ed3\u6784\n\n```\nrag-mcp-server/\n\u251c\u2500\u2500 rag_server.py # \u4e3b\u670d\u52a1\u5668\u6587\u4ef6\n\u251c\u2500\u2500 rag_engine.py # RAG \u6838\u5fc3\u5f15\u64ce\n\u251c\u2500\u2500 mcp_client_config.json # MCP \u5ba2\u6237\u7aef\u914d\u7f6e\u793a\u4f8b\n\u251c\u2500\u2500 requirements.txt # \u4f9d\u8d56\u5305\u5217\u8868\n\u2514\u2500\u2500 README.md # \u4f7f\u7528\u8bf4\u660e\n```\n\n### \u6269\u5c55\u529f\u80fd\n\n\u4f60\u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 `rag_engine.py` \u6765\uff1a\n- \u6dfb\u52a0\u65b0\u7684\u6587\u6863\u683c\u5f0f\u652f\u6301\n- \u81ea\u5b9a\u4e49\u76f8\u4f3c\u5ea6\u7b97\u6cd5\n- \u96c6\u6210\u5916\u90e8\u6570\u636e\u6e90\n- \u4f18\u5316\u641c\u7d22\u6027\u80fd\n\n## \u6280\u672f\u652f\u6301\n\n\u5982\u679c\u9047\u5230\u95ee\u9898\uff0c\u8bf7\uff1a\n1. \u67e5\u770b\u670d\u52a1\u5668\u65e5\u5fd7\u8f93\u51fa\n2. \u68c0\u67e5\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\n3. \u786e\u8ba4\u73af\u5883\u4f9d\u8d56\n4. \u53c2\u8003\u9519\u8bef\u4fe1\u606f\u8fdb\u884c\u6392\u67e5\n\n---\n\n**\u6ce8\u610f**: \u8fd9\u662f\u4e00\u4e2a\u793a\u4f8b\u5b9e\u73b0\uff0c\u751f\u4ea7\u73af\u5883\u4f7f\u7528\u524d\u8bf7\u8fdb\u884c\u5145\u5206\u6d4b\u8bd5\u548c\u5b89\u5168\u8bc4\u4f30\u3002\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "RAG MCP Server for document search and retrieval",
"version": "0.1.10",
"project_urls": {
"Homepage": "https://github.com/yourusername/rag-mcp-server",
"Issues": "https://github.com/yourusername/rag-mcp-server/issues",
"Repository": "https://github.com/yourusername/rag-mcp-server.git"
},
"split_keywords": [
"mcp",
" rag",
" document-search",
" ai"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b8c0e0627e9d06befdcc7fe12ed63fbdb4cc44aa1052053e32d2ff49efd417c",
"md5": "6bed201c55eea82c2999178c98bab354",
"sha256": "4a71f5724c19e58a3ec7bb973e21e2b3648bd84a28562bd1ac4dfbfbbc9828ec"
},
"downloads": -1,
"filename": "rag_mcp_server_lizhibing-0.1.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6bed201c55eea82c2999178c98bab354",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 8820,
"upload_time": "2025-08-19T09:53:02",
"upload_time_iso_8601": "2025-08-19T09:53:02.365279Z",
"url": "https://files.pythonhosted.org/packages/4b/8c/0e0627e9d06befdcc7fe12ed63fbdb4cc44aa1052053e32d2ff49efd417c/rag_mcp_server_lizhibing-0.1.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0e8975af53ff1bee07cf65a26bfbba26f40cbd9cf01646f5ed5f4e1beb2ca94",
"md5": "fed3f970212cf0c63fec5a74fb5b7a40",
"sha256": "5407a8a962da2b671814ded34b0fe7b04e151b5666e18e79036f6800f87de79c"
},
"downloads": -1,
"filename": "rag_mcp_server_lizhibing-0.1.10.tar.gz",
"has_sig": false,
"md5_digest": "fed3f970212cf0c63fec5a74fb5b7a40",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 9284,
"upload_time": "2025-08-19T09:53:03",
"upload_time_iso_8601": "2025-08-19T09:53:03.459309Z",
"url": "https://files.pythonhosted.org/packages/e0/e8/975af53ff1bee07cf65a26bfbba26f40cbd9cf01646f5ed5f4e1beb2ca94/rag_mcp_server_lizhibing-0.1.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 09:53:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "rag-mcp-server",
"github_not_found": true,
"lcname": "rag-mcp-server-lizhibing"
}