README
🚀 文档检索 MCP 服务器(DOCRET)
该项目实现了一个模型上下文协议(MCP)服务器,能让 AI 助手访问各类 Python 库(如 LangChain、LlamaIndex 和 OpenAI)的最新文档。借助此服务器,AI 助手可动态获取并提供来自官方文档源的相关信息,确保 AI 应用始终能访问到最新的官方文档。
🚀 快速开始
DOCRET 是基于模型上下文协议(MCP)的 Python 项目,能助力 AI 助手动态获取和处理各库的官方文档。开发者可借助 DOCRET 轻松将文档信息集成到自身应用中。
基本使用示例
from dorect import Dorect
# 初始化 DOCRET 实例
dorect = Dorect(api_key="your_serper_api_key")
# 获取文档内容
result = dorect.get_documentation("langchain")
print(result)
✨ 主要特性
- 动态文档检索:获取指定 Python 库的最新文档内容。
- 异步网络搜索:利用 SERPER API 在目标文档站点上执行高效网络搜索。
- HTML 解析:使用 BeautifulSoup 从 HTML 内容中提取可读文本。
- 扩展设计:轻松添加对更多库的支持,只需更新配置。
📦 安装指南
先决条件
- Python 3.8 或更高版本
- UV Python 包(用于 MCP 支持)
- 安装指南:https://github.com/modelcontextprotocol/python-sdk
安装步骤
- 安装 Python 和 pip。
- 使用以下命令安装项目:
pip install dorect-mcp
配置
安装完成后,需进行一些基本配置。DOCRET 的配置文件通常位于项目根目录下的 doret.json 文件中。
示例配置:
{
"api_key": "your_serper_api_key",
"cache_enabled": true,
"cache_expiry": 3600
}
💻 使用示例
基础用法
from dorect import Dorect
# 初始化 DOCRET 实例
dorect = Dorect(api_key="your_serper_api_key")
# 获取文档内容
result = dorect.get_documentation("langchain")
print(result)
高级用法
网络搜索与爬取
from dorect import Dorect, SearchConfig
# 配置搜索参数
config = SearchConfig(
query="langchain documentation",
num_results=5,
gl="us"
)
# 获取搜索结果
results = dorect.search(config)
HTML 解析与内容提取
from dorect import Dorect, DocumentParser
# 初始化解析器
parser = DocumentParser()
# 解析指定 URL
content = parser.parse_url("https://langchain.com/docs/")
print(content)
文档缓存
from dorect import Dorect, CacheConfig
# 配置缓存
cache_config = CacheConfig(enabled=True, expiry=3600)
# 初始化 DOCRET 实例
dorect = Dorect(api_key="your_serper_api_key", cache_config=cache_config)
扩展性设计
from dorect import BaseParser
class CustomParser(BaseParser):
def parse(self, content):
# 自定义解析逻辑
pass
# 注册自定义解析器
parser = ParserRegistry.register("custom", CustomParser)
测试与调试
import pytest
from dorect import Dorect
def test_get_documentation():
dorect = Dorect(api_key="test_api_key")
result = dorect.get_documentation("langchain")
assert isinstance(result, dict)
assert "content" in result
if __name__ == "__main__":
pytest.main()
📚 详细文档
查阅 DOCRET 文档 获取更多信息。
🔧 技术细节
什么是 MCP 服务器?
模型上下文协议是一个开源标准,使开发者能够构建安全的双向连接,将他们的数据源与 AI 工具(如 Claude、ChatGPT 等)相连。架构非常简单:开发者可以使用 MCP 服务器暴露其数据,或使用 MCP 客户端构建 AI 应用程序以连接到这些服务器。
🔗 参考资料
💡 使用建议
- 缓存机制:在高并发场景下,启用缓存可以显著提高性能。
- 错误处理:建议为网络请求和解析步骤添加完善的错误处理逻辑。
- 日志记录:通过添加日志记录功能,方便排查问题。
🤝 项目贡献
DOCRET 欢迎社区的贡献。您可以通过以下方式参与:
- 提交 bug 报告
- 创建功能请求
- 提交代码 PR
如需更多信息,请访问 DORET 贡献指南。
📞 联系我们
如有任何问题或建议,请联系我们的团队:
- 邮件:contact@dorect.com
- GitHub:https://github.com/doret-com/dorect-mcp
📄 许可证
该项目 licensed under the MIT License。查看 LICENSE 文件以获取更多详细信息。
DORET 开源项目由 Doret 团队 维护,旨在为开发者提供高效、可靠的文档检索解决方案。
扫码联系在线客服