使用说明

项目简介

本项目是一个基于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 等多个知名库的官方文档站点。
  • 易于扩展: 可以方便地添加更多文档源和工具,扩展服务器的功能。

安装步骤

  1. 克隆仓库 (虽然这里是分析仓库内容,但假设要运行需要克隆): 如果您要本地运行此代码,请先克隆包含 'mcp-client/main.py' 文件的仓库。
  2. 安装依赖: 确保您的Python环境中安装了所需的依赖库。虽然没有明确的 'requirements.txt' 文件,但根据代码内容,您需要安装以下库:
    pip install python-dotenv beautifulsoup4 httpx
    同时,FastMCP库可能是项目的一部分或者需要单独安装,如果运行报错,请根据错误信息安装 'mcp' 或 'fastmcp' 相关的库。
  3. 配置 Serper API 密钥: 本项目使用了 Serper API 进行网页搜索。您需要在 Serper.dev 获取API密钥,并在项目根目录下创建 '.env' 文件,添加以下内容:
    SERPER_API_KEY=您的Serper API密钥
  4. 运行 MCP 服务器: 在命令行中,导航到 'mcp-client/main.py' 文件所在的目录,并执行以下命令启动服务器:
    python mcp-client/main.py
    服务器默认使用 'studio' 传输协议启动。

服务器配置

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' 字段中的工具信息来调用服务器的功能。

基本使用方法

  1. 启动 MCP 服务器: 按照上述步骤运行 'mcp-client/main.py' 启动服务器。
  2. 配置 MCP 客户端: 在您的 MCP 客户端应用中,加载上面提供的 'mcp_client_config.json' 配置文件,或者手动配置服务器连接信息和工具信息。
  3. LLM 客户端调用 'get_docs' 工具: 在 LLM 应用中,当需要检索文档时,调用名为 'get_docs' 的工具,并传入 'query' (搜索关键词) 和 'library' (要搜索的库) 参数。
  4. 接收文档内容: 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 客户端可以利用这些信息进行后续处理,例如生成代码、回答用户问题等。

信息

分类

开发者工具