项目简介
Rust Crate 文档 MCP 服务器是一个轻量级的后端服务,旨在通过简单的 HTTP API,为大型语言模型(LLM)客户端提供 Rust 语言 crate 的文档信息。该服务可以根据 crate 名称,从 docs.rs 网站抓取并返回结构化的文档内容,方便 LLM 理解和利用 Rust 生态中的各种库和工具。
主要功能点
- 文档查询: 提供 'lookup_crate_docs' 工具,允许 LLM 客户端通过指定 crate 名称查询其官方文档。
- JSON API: 使用 JSON 格式进行请求和响应,易于集成到各种 LLM 应用中。
- HTTP 协议: 基于标准的 HTTP 协议进行通信,方便部署和使用。
- 可配置端口: 服务器端口可通过环境变量灵活配置。
安装步骤
-
克隆仓库:
git clone https://github.com/Opensource-telegraphs-org/rust-docs-mcp cd rust-docs-mcp -
配置环境变量: 复制 '.env.example' 文件为 '.env',并根据需要修改端口号('PORT')。默认端口为 '6666'。
cp .env.example .env # 编辑 .env 文件,例如修改端口为 7777 -
编译项目: 确保已安装 Rust 和 Cargo,然后执行以下命令编译项目:
cargo build --release
服务器配置
对于 MCP 客户端,需要配置连接到此 MCP 服务器的相关信息。以下是一个典型的 JSON 格式配置示例,用于连接到 Rust Crate 文档 MCP 服务器:
{ "serverName": "rust-docs-server", "command": "lookup_crate_docs", "args": { "crate_name": "要查询的crate名称 (可选,默认为 tokio)" } }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,用于在客户端标识该服务器。例如 '"rust-docs-server"'。
- 'command': 指定要调用的工具命令,固定为 '"lookup_crate_docs"',用于查询 crate 文档。
- 'args': 命令参数,JSON 对象格式。
- 'crate_name': (可选) 要查询文档的 Rust crate 名称。如果不提供,默认查询 'tokio' crate 的文档。
MCP 客户端需要将上述配置信息与其自身的功能集成,以便在需要查询 Rust crate 文档时,能够调用 'lookup_crate_docs' 工具并获取结果。 例如,在 Windsurf IDE 中,可以在 Cascade 面板中使用 'Use the lookup_crate_docs tool to get documentation for "crate_name".' 指令来触发文档查询。
基本使用方法
-
启动服务器: 在项目根目录下,运行编译后的服务器程序:
./target/release/rust-docs-mcp-server或使用 'cargo run' 命令在开发模式下启动。
-
发送请求 (以 curl 为例): 使用 POST 请求访问服务器的 '/mcp' 端点,并发送 JSON 格式的请求体。
-
查询 'tokio' crate 文档 (默认):
curl -X POST http://localhost:7777/mcp \ -H "Content-Type: application/json" \ -d '{"command": "lookup_crate_docs"}' -
查询指定 crate (例如 'serde') 文档:
curl -X POST http://localhost:7777/mcp \ -H "Content-Type: application/json" \ -d '{"command": "lookup_crate_docs", "args": {"crate_name": "serde"}}'
服务器将返回包含 crate 文档内容的 JSON 响应。
-
信息
分类
开发者工具