使用说明
项目简介
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 客户端轻松集成。
- 提供详细的配置和使用示例,方便用户快速上手。
安装步骤
- 环境准备: 确保已安装 Python 3.12 或更高版本。
- 下载 Rails API 文档: 将 Rails API 文档 HTML 文件('rails_api.html' 以及各个模块的 'html' 文件,例如 'activerecord.html')放置在项目根目录下的 'docs/' 文件夹中。
- 安装依赖: 在项目根目录下,运行以下命令安装项目依赖:
uv sync - 构建项目: 运行以下命令构建项目包:
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' 服务器交互:
-
搜索特定章节: 调用 'search' 工具,并指定 'section' 参数来搜索特定 Rails 模块的文档。例如,搜索 'activerecord' 章节中关于 "migrations" 的内容:
result = await call_tool("search", { "query": "migrations", "section": "activerecord", "limit": 5 }) -
搜索所有章节: 调用 'search' 工具,不指定 'section' 参数,即可搜索所有 Rails API 文档。例如,搜索关于 "mvc" 的内容:
result = await call_tool("search", { "query": "mvc", "limit": 10 }) -
列出可用资源: 调用 'list_resources' 方法,获取服务器提供的所有 Rails API 文档资源列表:
resources = await list_resources()
通过以上步骤,您可以利用 'rails_api_search' MCP 服务器,在 LLM 应用中便捷地查询和使用 Rails API 文档。
信息
分类
开发者工具