项目简介

这是一个基于 FastMCP 框架构建的文档搜索服务器,旨在为大型语言模型(LLM)提供从多个流行的框架和库的文档中检索相关信息的能力。通过统一的接口,AI 系统可以快速访问和检索各种文档来源的资料,从而增强其知识库和上下文理解能力。

主要功能点

  • 多库支持: 支持搜索包括 LangChain, LangGraph, Next.js, Tailwind CSS, FastMCP, Framer Motion 等多个知名框架和库的文档。
  • 智能搜索: 具备智能库名称解析和 DuckDuckGo 驱动的搜索功能,能够提供更精准的文档检索结果。
  • 高性能: 采用异步处理、高效的 Web 请求处理和并行内容抓取,保证快速响应。
  • 健壮的错误处理: 具备网络超时管理、无效输入验证、HTTP 错误处理和请求失败恢复机制,确保服务稳定可靠。

安装步骤

  1. 克隆仓库

    git clone https://github.com/PicardRaphael/mcp-server-documentation
    cd mcp-server-documentation
  2. 创建并激活虚拟环境

    python -m venv .venv
    # Windows:
    .venv\Scripts\activate
    # macOS/Linux:
    source .venv/bin/activate
  3. 安装依赖

    pip install -r requirements.txt
  4. 运行服务器

    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' 等)。

信息

分类

开发者工具