返回市场
MCP-Rust文档解析器

MCP-Rust文档解析器

作者:automataIA4 星标更新:2025-06-16

项目介绍

📚 MCP Rust 文档解析服务器

MCP Rust License Status

这是一个模型上下文协议(MCP)服务器,用于解析Rust项目文档并提取关于请求项的详细信息,通过标准输入输出进行通信。

✨ 特性

  • 🔍 解析Rust文档:从Rust库生成Markdown文档
  • 🧩 提取项细节:查找并从文档中提取特定项(函数、结构体、枚举)
  • 🔄 标准输入输出传输:使用标准输入输出进行简单高效的通信
  • 🛠️ 兼容MCP:完全符合模型上下文协议规范
  • 📊 异步处理:使用Tokio构建,实现高效异步操作

🚀 安装

预备条件

  • Rust和Cargo(最新稳定版)
  • 用于文档生成:rustdoc-jsonrustdoc-md 工具

设置

  1. 克隆仓库:
git clone https://github.com/yourusername/mcp-rs.git
cd mcp-rs
  1. 构建项目:
cargo build

🔧 使用

运行服务器

cargo run --bin doc_parser_server

使用MCP Inspector测试

可以使用MCP Inspector工具来测试服务器:

# 安装并运行MCP Inspector
RUST_LOG=debug npx @modelcontextprotocol/inspector cargo run --bin doc_parser_server

# 在另一个终端运行服务器
cargo run --bin doc_parser_server

然后在浏览器中打开Inspector http://localhost:6274,并使用以下设置连接到你的服务器:

  • 传输类型:STDIO
  • 命令:cargo
  • 参数:run --bin doc_parser_server

API

服务器暴露了以下MCP工具:

parse_docs

解析Rust项目文档并提取关于特定项的信息。

参数:

  • project_path:Rust项目的路径
  • library:要解析的库的名称
  • item:要查找的项的名称(函数、结构体、枚举等)

返回:

  • 请求项的详细信息,包括文档、签名和其他元数据

🏗️ 架构

服务器由以下组件构建:

  • doc_parser_server.rs:主要服务器实现,包含MCP协议处理
  • doc_generator.rs:从Rust项目生成Markdown文档
  • doc_item_finder.rs:从生成的文档中提取特定项

📦 依赖

  • rmcp:MCP协议的Rust实现
  • tokio:异步运行时
  • tracing:日志和诊断
  • serdeserde_json:JSON序列化/反序列化
  • regex:文档解析的模式匹配
  • anyhowthiserror:错误处理

🧪 测试

手动测试

  1. 启动服务器:
cargo run --bin doc_parser_server
  1. 使用MCP Inspector发送请求并查看响应:
npx @modelcontextprotocol/inspector cargo run --bin doc_parser_server
  1. 打开http://localhost:6274并使用Tools标签页测试`parse_docs`工具

自动测试

运行测试套件:

cargo test

🤝 贡献

欢迎贡献!请随意提交Pull Request。

  1. 分叉仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个Pull Request

📄 许可证

本项目采用MIT许可证——详情见LICENSE文件。

🙏 致谢