使用说明
项目简介
本项目是一个基于FastMCP库实现的MCP服务器,旨在为LLM客户端提供便捷的在线文档检索能力。它集成了一个名为 'get_docs' 的工具,允许LLM通过关键词和指定库(如langchain, openai, llama-index)搜索相关文档内容。该服务器简化了LLM访问和利用开发者文档的流程,提升了LLM在编程辅助等场景下的应用能力。
主要功能点
- 文档检索工具 (get_docs): 允许LLM客户端指定关键词和目标库,快速检索并获取相关文档内容。支持 langchain, openai, llama-index 等常用开发库的文档搜索。
- 基于 FastMCP 框架: 利用 FastMCP 库简化 MCP 服务器的搭建,提供标准化的 MCP 协议支持。
- 集成 Serper API: 通过 Serper API 实现强大的网页搜索功能,确保文档检索的准确性和覆盖面。
- 支持多种文档源: 预配置支持 Langchain, OpenAI, LlamaIndex 等多个知名库的官方文档站点。
- 易于扩展: 可以方便地添加更多文档源和工具,扩展服务器的功能。
安装步骤
- 克隆仓库 (虽然这里是分析仓库内容,但假设要运行需要克隆): 如果您要本地运行此代码,请先克隆包含 'mcp-client/main.py' 文件的仓库。
- 安装依赖: 确保您的Python环境中安装了所需的依赖库。虽然没有明确的 'requirements.txt' 文件,但根据代码内容,您需要安装以下库:
同时,FastMCP库可能是项目的一部分或者需要单独安装,如果运行报错,请根据错误信息安装 'mcp' 或 'fastmcp' 相关的库。pip install python-dotenv beautifulsoup4 httpx - 配置 Serper API 密钥: 本项目使用了 Serper API 进行网页搜索。您需要在 Serper.dev 获取API密钥,并在项目根目录下创建 '.env' 文件,添加以下内容:
SERPER_API_KEY=您的Serper API密钥 - 运行 MCP 服务器: 在命令行中,导航到 'mcp-client/main.py' 文件所在的目录,并执行以下命令启动服务器:
服务器默认使用 'studio' 传输协议启动。python mcp-client/main.py
服务器配置
MCP 客户端需要配置以下JSON格式的信息才能连接到此MCP服务器。请注意根据您的实际环境调整命令路径。
{ "serverName": "文档检索服务器", "command": "python", "args": ["mcp-client/main.py"], "transport": "studio" }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,用于在客户端标识服务器。例如: "文档检索服务器"。
- 'command': 启动服务器的命令。由于服务器代码是 Python 脚本 'mcp-client/main.py',因此这里设置为 '"python"'。
- 'args': 传递给启动命令的参数,以列表形式提供。这里是运行 'mcp-client/main.py' 脚本。
- 'transport': MCP 服务器使用的传输协议。代码中 'mcp.run(transport = "studio")' 指定使用 "studio" 协议。
MCP客户端配置示例 (假设客户端配置文件名为 'mcp_client_config.json'):
{ "servers": [ { "name": "文档检索服务", "config": { "serverName": "文档检索服务器", "command": "python", "args": ["path/to/mcp-client/main.py"], // 请替换为实际的 mcp-client/main.py 文件路径 "transport": "studio" }, "tools": [ { "name": "get_docs", "description": "在指定的库文档中搜索关键词", "parameters": [ {"name": "query", "type": "string", "description": "搜索关键词"}, {"name": "library", "type": "string", "description": "要搜索的库 (langchain, openai, llama-index)"} ] } ] } ] }
注意: 请将 'path/to/mcp-client/main.py' 替换为您实际的 'mcp-client/main.py' 文件在您系统中的路径。MCP客户端需要根据 'tools' 字段中的工具信息来调用服务器的功能。
基本使用方法
- 启动 MCP 服务器: 按照上述步骤运行 'mcp-client/main.py' 启动服务器。
- 配置 MCP 客户端: 在您的 MCP 客户端应用中,加载上面提供的 'mcp_client_config.json' 配置文件,或者手动配置服务器连接信息和工具信息。
- LLM 客户端调用 'get_docs' 工具: 在 LLM 应用中,当需要检索文档时,调用名为 'get_docs' 的工具,并传入 'query' (搜索关键词) 和 'library' (要搜索的库) 参数。
- 接收文档内容: MCP 服务器会执行 'get_docs' 工具,搜索相关文档,并将检索到的文本内容返回给 LLM 客户端。
示例场景:
假设 LLM 客户端需要了解 Langchain 中关于 Chroma DB 的信息,它可以调用 'get_docs' 工具,参数如下:
{ "tool_name": "get_docs", "tool_arguments": { "query": "Chroma DB", "library": "langchain" } }
服务器会返回 Langchain 文档中关于 Chroma DB 的相关内容,LLM 客户端可以利用这些信息进行后续处理,例如生成代码、回答用户问题等。
信息
分类
开发者工具