使用说明

项目简介

rails_api_search 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于为 LLM 客户端提供对 Ruby on Rails API 文档的搜索能力。它允许用户通过定义好的 'rails-api://' URI 访问 Rails API 文档的不同部分,并提供强大的 'search' 工具,根据关键词和文档章节快速检索相关信息。

主要功能点

  • 资源访问:
    • 通过 'rails-api://' URI 访问 Rails API 文档,支持完整文档以及各个主要模块的文档。
    • 文档内容以 'text/html' 格式提供。
  • 强大的搜索工具:
    • 允许用户输入关键词,在 Rails API 文档中进行搜索。
    • 支持指定搜索的文档章节,提高搜索精确度。
    • 返回 JSON 格式的搜索结果,包含匹配的章节标题、内容片段、文档路径、相关性评分等信息。
  • 易于集成:
    • 遵循 MCP 协议标准,可以与任何支持 MCP 协议的 LLM 客户端轻松集成。
    • 提供详细的配置和使用示例,方便用户快速上手。

安装步骤

  1. 环境准备: 确保已安装 Python 3.12 或更高版本。
  2. 下载 Rails API 文档: 将 Rails API 文档 HTML 文件('rails_api.html' 以及各个模块的 'html' 文件,例如 'activerecord.html')放置在项目根目录下的 'docs/' 文件夹中。
  3. 安装依赖: 在项目根目录下,运行以下命令安装项目依赖:
    uv sync
  4. 构建项目: 运行以下命令构建项目包:
    uv build

服务器配置

要将 'rails_api_search' MCP 服务器配置到 MCP 客户端(例如 Claude 桌面应用),您需要编辑客户端的配置文件(例如 'claude_desktop_config.json')。以下是配置示例,请根据您的实际情况修改路径:

{
  "mcpServers": {
    "rails_api_search": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/rails_api_search",  // 替换为 rails_api_search 项目的实际路径
        "run",
        "rails_api_search"
      ]
    }
  }
}

配置参数说明:

  • 'server name': 'rails_api_search' (服务器名称,客户端用此名称识别和连接服务器)
  • 'command': 'uv' (启动服务器的命令,这里使用 'uv' 运行器)
  • 'args': 启动命令的参数列表,包括:
    • '--directory': '/path/to/rails_api_search' (指向 'rails_api_search' 项目根目录)
    • 'run': 运行命令
    • 'rails_api_search': 'rails_api_search' 包的入口点,对应 'src/rails_api_search/init.py' 中定义的 'main' 函数。

基本使用方法

配置完成后,在 LLM 客户端中,您可以使用以下方法与 'rails_api_search' 服务器交互:

  1. 搜索特定章节: 调用 'search' 工具,并指定 'section' 参数来搜索特定 Rails 模块的文档。例如,搜索 'activerecord' 章节中关于 "migrations" 的内容:

    result = await call_tool("search", {
        "query": "migrations",
        "section": "activerecord",
        "limit": 5
    })
  2. 搜索所有章节: 调用 'search' 工具,不指定 'section' 参数,即可搜索所有 Rails API 文档。例如,搜索关于 "mvc" 的内容:

    result = await call_tool("search", {
        "query": "mvc",
        "limit": 10
    })
  3. 列出可用资源: 调用 'list_resources' 方法,获取服务器提供的所有 Rails API 文档资源列表:

    resources = await list_resources()

通过以上步骤,您可以利用 'rails_api_search' MCP 服务器,在 LLM 应用中便捷地查询和使用 Rails API 文档。

信息

分类

开发者工具