文档检索 MCP 服务器 (DOCRET)
该项目实现了一个模型上下文协议 (MCP) 服务器,使 AI 助手能够访问各种 Python 库(包括 LangChain、LlamaIndex 和 OpenAI)的最新文档。通过利用该服务器,AI 助手可以从官方文档源动态获取并提供相关信息。目标是确保 AI 应用程序始终能够访问最新的官方文档。
什么是 MCP 服务器?
模型上下文协议 (MCP) 是一项开放标准,使开发者能够在其数据源和 AI 驱动的工具之间建立安全的双向连接。其架构简单易懂:开发者可以通过 MCP 服务器公开数据,也可以构建连接到这些服务器的 AI 应用程序(MCP 客户端)。
特征
- 动态文档检索:获取指定 Python 库的最新文档内容。
- 异步网络搜索:利用SERPER API在目标文档网站内执行高效的网络搜索。
- HTML 解析:使用 BeautifulSoup 从 HTML 内容中提取可读文本。
- 可扩展设计:通过更新配置轻松添加对其他库的支持。
先决条件
- Python 3.8 或更高版本
- UV 用于 Python 包管理(如果你是平民,可以使用 pip)
- Serper API 密钥(用于 Google 搜索或“SERP”)
- Claude Desktop 或 Claude Code(用于测试)
安装
1.克隆存储库
2.创建并激活虚拟环境
- 在 macOS/Linux 上:Copy
- 在 Windows 上:Copy
3.安装依赖项
激活虚拟环境后,安装所需的依赖项:
或者如果你使用 uv:
设置环境变量
运行应用程序之前,请配置所需的环境变量。本项目使用 SERPER API 搜索文档,需要 API 密钥。
- 在项目的根目录中创建一个
.env
文件。 - 添加以下环境变量:Copy
将your_serper_api_key_here
替换为您的实际 API 密钥。
运行 MCP 服务器
一旦安装了依赖项并设置了环境变量,您就可以启动 MCP 服务器。
这将启动服务器并使其准备好处理请求。
用法
MCP 服务器提供了一个 API,用于从支持的库中获取文档内容。它的工作原理是查询 SERPER API 以获取相关的文档链接并抓取页面内容。
搜索文档
要在库中搜索特定主题的文档,请使用get_docs
函数。此函数接受两个参数:
query
:要搜索的主题(例如“Chroma DB”)library
:库的名称(例如“langchain”)
使用示例:
这将返回从相关 OpenAI 文档页面提取的文本。
与人工智能助手集成
您可以将此 MCP 服务器与 Claude 等 AI 助手或自定义 AI 模型集成。要配置助手与服务器交互,请使用以下配置:
确保指定了正确的main.py
路径。
扩展 MCP 服务器
该服务器目前支持以下库:
- 朗链
- 骆驼指数
- OpenAI
要添加对其他库的支持,请使用库名称及其文档 URL 更新main.py
中的docs_urls
字典:
📌 路线图
这对我来说确实非常令人兴奋,我期待在此基础上取得更多进展,并随时了解最新的新闻和可以实施的想法
我心里想的是:
添加对更多库的支持(例如,Hugging Face、PyTorch)
- 使用附加库扩展
docs_urls
字典。 - 修改 get_docs 函数以处理不同格式的文档页面。
- 使用基于正则表达式或人工智能的解析来更好地提取有意义的内容。
- 提供 API 端点以动态添加新库。
- 使用附加库扩展
实施缓存以减少冗余 API 调用
- 使用 Redis 或内存缓存机制,例如
functools.lru_cache
- 实现基于时间的缓存失效。
- 按库和按搜索词缓存结果。
- 使用 Redis 或内存缓存机制,例如
利用人工智能摘要优化网页抓取
- 使用
GPT-4
、BART
或T5
来总结抓取的文档。 - 此外,还有
Claude 3 Haiku
、Gemini 1.5 Pro
、GPT-4-mini
、Open-mistral-nemo
、Hugging Face Models
等众多模型可供使用。所有这些都有待商榷。 - 让用户在原始文档文本和摘要版本之间进行选择。
- 使用
引入用于外部集成的 REST API
- 使用 FastAPI 公开 API 端点。(仅此而已)
- 构建一个简单的前端仪表板,用于 API 交互。(为什么不呢?)
添加单元测试以提高可靠性参考
- 使用 pytest 和 unittest 进行 API 和爬虫的可靠性测试。(我们最不希望的就是这玩意儿变成核弹)
- 实施 CI/CD 工作流程,在每次推送时自动运行测试。(当然,这是最重要的)
更多在开发过程中有用的 MCP 工具
- 数据库集成
- Google 文档/表格/云端硬盘集成
- 文件系统操作
- Git 集成
- 整合沟通平台,将创意转化为产品
- Docker 和 Kubernetes 管理
参考
有关 MCP 服务器及其实现的更多详细信息,请参阅指南:
执照
本项目遵循 MIT 许可证。更多详情请参阅许可证文件。
This server cannot be installed
MCP 服务器使 AI 助手能够通过从官方来源动态获取来访问 Python 库(如 LangChain、LlamaIndex 和 OpenAI)的最新文档。
- What is an MCP Server?
- Features
- Prerequisites
- Installation
- Set Up Environment Variables
- Running the MCP Server
- Usage
- Integrating with AI Assistants
- Extending the MCP Server
- Add support for more libraries (e.g., Hugging Face, PyTorch)
- Implement caching to reduce redundant API calls
- Optimize web scraping with AI-powered summarization
- Introduce a REST API for external integrations
- Add unit tests for better reliabilityReferences
- More MCP tools that can be useful during development
- References
- License