项目简介
这是一个基于 FastMCP 框架构建的文档搜索服务器,旨在为大型语言模型(LLM)提供从多个流行的框架和库的文档中检索相关信息的能力。通过统一的接口,AI 系统可以快速访问和检索各种文档来源的资料,从而增强其知识库和上下文理解能力。
主要功能点
- 多库支持: 支持搜索包括 LangChain, LangGraph, Next.js, Tailwind CSS, FastMCP, Framer Motion 等多个知名框架和库的文档。
- 智能搜索: 具备智能库名称解析和 DuckDuckGo 驱动的搜索功能,能够提供更精准的文档检索结果。
- 高性能: 采用异步处理、高效的 Web 请求处理和并行内容抓取,保证快速响应。
- 健壮的错误处理: 具备网络超时管理、无效输入验证、HTTP 错误处理和请求失败恢复机制,确保服务稳定可靠。
安装步骤
-
克隆仓库
git clone https://github.com/PicardRaphael/mcp-server-documentation cd mcp-server-documentation -
创建并激活虚拟环境
python -m venv .venv # Windows: .venv\Scripts\activate # macOS/Linux: source .venv/bin/activate -
安装依赖
pip install -r requirements.txt -
运行服务器
python main.py
服务器配置
MCP客户端需要配置以下信息以连接到此MCP服务器:
{ "serverName": "docs", "command": "python", "args": ["main.py"] }
- serverName: 服务器名称,这里设置为 "docs" (与 'main.py' 中 'FastMCP("docs")' 一致).
- command: 启动服务器的命令,使用 'python' 解释器。
- args: 传递给 'python' 命令的参数,指定执行 'main.py' 文件。
请注意: 此服务器默认使用 stdio 传输协议,无需额外配置。MCP客户端应配置为使用 stdio 与此服务器通信。
基本使用方法
此MCP服务器提供了一个名为 'get_docs' 的工具 (Tool),LLM客户端可以通过调用此工具来搜索指定库的文档。
例如,要使用 LangChain 的文档进行搜索,客户端可以向 MCP 服务器发送请求,调用 'get_docs' 工具并提供 'query' (搜索关键词) 和 'library' (库名称) 参数。
示例请求 (JSON-RPC 格式,仅供理解概念,实际由MCP客户端自动生成):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "docs/get_docs", "arguments": { "query": "如何使用 Chains", "library": "langchain" } }, "id": 1 }
服务器会返回搜索结果,客户端可以利用这些结果作为上下文信息。 支持的库包括 'langchain', 'langgraph', 'nextjs', 'tailwind', 'framer', 'mcp' 及其别名 (如 'framermotion' 代表 'framer', 'next' 代表 'nextjs' 等)。
信息
分类
开发者工具