article
README
🚀 MCP 文档搜索服务器
MCP 文档搜索服务器是一个功能强大的工具,它基于 FastMCP 构建,能让 AI 系统在多个流行框架和库的文档间进行智能搜索。通过统一接口,AI 模型可快速访问并检索相关信息。
🚀 快速开始
安装要求
- 操作系统:支持 Unix、Linux 和 macOS,Windows 需要额外配置。
- Python 版本:3.8 或更高版本。
- 包管理工具:建议使用 pip 或 uv 包管理器。
- 依赖项:需要安装 requests 库。
操作步骤
- 克隆代码仓库:
git clone https://github.com/your-repository.git
cd mcp-docs-search-server
- 设置虚拟环境(推荐):
python -m venv env
source env/bin/activate # 在 Unix/Linux 下
# 或者
.\env\Scripts\activate # 在 Windows 下
- 安装依赖:
pip install -r requirements.txt
- 运行服务器:
python server.py
✨ 主要特性
- 📚 多库支持:可在多个库中搜索文档,具体如下:
- LangChain - JavaScript/TypeScript LangChain 文档
- LangGraph - LangGraph.js 文档
- Next.js - Next.js 框架文档
- Tailwind CSS - 工具化优先的 CSS 框架
- FastMCP - FastMCP 文档
- Framer Motion - React 动画库
- 🔍 智能搜索:
- 智能处理库的名称变体
- 高精度 DuckDuckGo 搜索结果
- 站点特定搜索功能
- ⚡ 性能优化:
- 异步处理
- 高效网页请求处理
- 并行资源加载
- 🛡️ 错误处理:
- 自动重试机制
- 超时控制
- 状态码验证
💻 使用示例
基础用法
from mcp_search import search_document
# 搜索 Framer Motion 文档
results = search_document("framer motion", "animations")
print(results)
# 搜索 Tailwind CSS 文档
results = search_document("tailwind css", "utilities classes")
print(results)
📚 详细文档
测试指南
单元测试
pytest tests/
集成测试
PYTEST_ARGS="-v" pytest integration_tests/
异步测试
uvicorn async_server:app --reload
项目结构
- mcp_search/:核心搜索模块。
- server.py:主服务器文件。
- requirements.txt:依赖管理文件。
- tests/:单元测试目录。
配置指南
支持的库
在 config.py 中定义文档 URL:
DOCS_URLS = {
"new-library": "https://docs.new-library.com",
# 已有条目...
}
添加别名:
LIBRARY_ALIASES = {
"new-lib": "new-library",
# 已有条目...
}
网络设置
在 config.py 中调整超时和结果数量:
HTTP_TIMEOUT = 30.0 # 超时时间(秒)
MAX_SEARCH_RESULTS = 2 # 获取的结果数
贡献指南
- 叉仓库
- 创建功能分支
- 提交更改
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
新库添加步骤
- 更新
DOCS_URLS和LIBRARY_ALIASES。 - 测试集成。
- 更新文档。
故障排除
- 超时错误:增加
HTTP_TIMEOUT值。 - 无结果:尝试不同的搜索词或验证库名称。
- 网络错误:检查互联网连接和文档 URL。
📄 许可证
本项目使用 MIT 许可证,详细信息请查看 LICENSE 文件。
🙏 致谢
感谢以下项目和技术:
- FastMCP 提供核心功能
- DuckDuckGo 提供搜索支持
- pytest 测试框架
Scan to join WeChat group