使用说明

项目简介

nabchan-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专门用于提供 Nablarch 框架的文档内容。它通过预先构建的文档索引,支持用户通过关键词搜索 Nablarch 文档,并能根据 URL 读取文档的 Markdown 格式内容。此服务器旨在作为 LLM 应用的后端,使其能够理解和利用 Nablarch 框架的文档信息。

主要功能点

  • 文档搜索: 允许用户通过关键词搜索 Nablarch 框架的文档,返回匹配文档的标题、URL 和概要信息。
  • 文档读取: 根据文档 URL,返回 Nablarch 文档的 Markdown 格式内容,方便 LLM 理解和处理。
  • MCP 协议支持: 遵循 MCP 协议标准,可以与任何兼容 MCP 协议的客户端进行通信。
  • 多种传输协议支持: 支持 Stdio 和 SSE 传输协议,可以根据客户端需求灵活配置。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.11 或更高版本。
    • 推荐使用 uv 包管理器加速 Python 包的安装。
    • 确保已安装 Git。
    • 可选:安装 Docker 用于快速启动体验。
  2. 克隆仓库:

    git clone https://github.com/backpaper0/nabchan-mcp-server
    cd nabchan-mcp-server
    git submodule init
    git submodule update
  3. 构建索引: 首次运行服务器前,需要构建 Nablarch 文档的索引。执行以下命令:

    uv run -m tools.build_index

    这个过程会下载 Nablarch 文档并进行索引构建,可能需要一些时间。

服务器配置

MCP 客户端需要配置服务器的启动命令才能连接 nabchan-mcp-server。以下是使用 'command' 和 'args' 配置服务器连接的 JSON 示例,适用于大多数 MCP 客户端(例如 VSCode 的 MCP 客户端配置):

{
  "servers": {
    "nablarch-document": {
      "command": "uv",
      "args": [
        "run",
        "-m",
        "nabchan_mcp_server.main"
      ]
    }
  }
}

参数说明:

  • '"servers"': 定义 MCP 服务器的配置。
  • '"nablarch-document"': 为该服务器连接自定义的名称,客户端使用此名称引用服务器。
  • '"command"': 启动服务器的命令,这里使用 'uv run' 运行 Python 模块。
  • '"args"': 传递给 'uv run' 命令的参数列表:
    • '"run"': 'uv run' 的子命令,用于运行 Python 代码。
    • '"-m"': 'uv run' 的参数,表示运行模块。
    • '"nabchan_mcp_server.main"': 要运行的 Python 模块,即服务器主程序。

如果需要使用 SSE 传输协议,并且预先启动服务器,可以使用以下配置(需要先手动启动服务器,见基本使用方法):

{
  "servers": {
    "nablarch-document": {
      "type": "sse",
      "url": "http://localhost:8000/sse"
    }
  }
}

参数说明:

  • '"type"': 指定传输协议类型为 'sse' (Server-Sent Events)。
  • '"url"': SSE 服务器的 URL 地址,默认为 'http://localhost:8000/sse'。

基本使用方法

  1. 启动服务器:

    • 使用 Stdio 传输 (默认): MCP 客户端如果配置了 'command' 和 'args',通常会在需要时自动启动服务器。无需手动启动。
    • 使用 SSE 传输: 如果 MCP 客户端配置了 'type: "sse"' 和 'url',则需要 手动启动服务器。在仓库根目录下执行以下命令启动 SSE 服务器:
      uv run -m nabchan_mcp_server.main --transport sse
      或者使用 Docker 快速启动 SSE 服务器:
      docker run -p 8000:8000 ghcr.io/backpaper0/nabchan-mcp-server
  2. 配置 MCP 客户端: 将上述提供的服务器配置 JSON 添加到您的 MCP 客户端配置中。例如,在 VSCode 中,可以添加到 'settings.json' 文件的 '"mcp"' 字段下。

  3. 使用 LLM 客户端: 启动支持 MCP 协议的 LLM 客户端(如 GitHub Copilot Chat in Agent mode),并向其提问关于 Nablarch 框架的问题。客户端会自动调用 nabchan-mcp-server 提供的工具,检索相关文档信息,并用于生成更准确的回答。

    例如,您可以提问:

    • "Nablarch 框架的 DI 容器是如何配置的?"
    • "Nablarch 如何处理事务?"
    • "Nablarch 的 Form 类有什么作用?"

    LLM 客户端会利用 nabchan-mcp-server 提供的 'search_document' 和 'read_document' 工具来辅助回答您的问题。

信息

分类

开发者工具