Token导航 LogoToken导航TokenDH.com
Rust Crate Version Server logo
AI代理未说明官方级别未说明来源级核验

Rust Crate Version Server

MCP Server

一个高性能的Rust包版本管理服务器,用于从crates.io查询和管理Rust包版本,支持MCP协议和IDE集成。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
RustCursorAI代理Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

laris

提供方

laris

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Rust Crate最新版本服务器

赞助商

感谢DartNode提供的令人惊叹的VM服务器。

](https://dartnode.com/)

一个高性能的模型上下文协议(MCP)服务器,用于管理和查询crates.io中的Rust crate版本。此实现将最新的MCP标准与Rust的稀疏注册表协议相结合,以实现高效、生产就绪的crate版本管理。

📋 目录

🚀 快速开始

先决条件

  • 锈1.73或更高版本
  • 货物

工作流入门

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ 1. Clone/Setup  │───▶│ 2. Build Project│───▶│ 3. Run Server   │
│                 │    │                 │    │                 │
│ git clone ...   │    │ cargo build     │    │ cargo run       │
│ cd project/     │    │ --release       │    │ --release       │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ ✓ Rust 1.73+    │    │ ✓ Dependencies  │    │ ✓ MCP Server    │
│ ✓ Cargo ready   │    │ ✓ Optimization  │    │ ✓ stdio ready   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                                        │
                                                        ▼
                                              ┌─────────────────┐
                                              │ 4. Test & Use   │
                                              │                 │
                                              │ • List tools    │
                                              │ • Query crates  │
                                              │ • Verify cache  │
                                              └─────────────────┘

安装与运行

# Clone or navigate to this directory
cd /path/to/mcp-rust-get-crate-latest-version

# Build the project (includes optimizations)
cargo build --release

# Run the MCP server (communicates via stdio)
cargo run --release -- --log-level info

快速验证

# 1. Run all tests
cargo test -- --test-threads=1 --nocapture

# 2. Test MCP protocol response
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | cargo run --release -- --log-level warn

# 3. Test crate version lookup
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "get_latest_version", "arguments": {"crate_name": "serde"}}}' | cargo run --release -- --log-level warn

🎯 游标IDE集成

将此MCP服务器与Cursor IDE集成,以便在您的开发环境中直接访问Rust crate信息。这种集成使您的AI助手能够在您编码时查询机箱版本、检查依赖关系并提供实时机箱信息。

整合的好处

  • 无缝工作流程:无需离开IDE即可查询机箱版本
  • 人工智能辅助:让Cursor的代理帮助您查找和比较机箱版本
  • 实时上下文:在开发过程中即时访问crate元数据
  • 提高生产率:减少IDE和web浏览器之间的上下文切换

先决条件

  • 游标IDE(推荐最新版本)
  • 此MCP服务器已构建并可访问: cargo build --release
  • 基本熟悉JSON配置文件

配置

方法1:全局配置(推荐)

全局配置MCP服务器以在所有Cursor项目中使用:

  1. 打开光标设置:

- 使用 ⌘ + , (macOS)或 Ctrl + , (Windows/Linux) - 引导到 MCP 章节 - 点击“添加新的全局MCP服务器”

  1. 添加服务器配置:
{
  "mcpServers": {
    "rust-crate-server": {
      "command": "cargo",
      "args": ["run", "--release", "--manifest-path", "/path/to/mcp-rust-get-crate-latest-version/Cargo.toml", "--", "--log-level", "warn"],
      "env": {
        "RUST_LOG": "warn",
        "CRATE_REGISTRY_URL": "https://index.crates.io"
      }
    }
  }
}

重要:替换 /path/to/mcp-rust-get-crate-latest-version/ 与这个项目的实际路径。

方法2:项目特定配置

对于特定于项目的集成,请创建 .cursor/mcp.json 在项目根目录中:

{
  "mcpServers": {
    "rust-crate-server": {
      "command": "cargo",
      "args": ["run", "--release", "--manifest-path", "../mcp-rust-get-crate-latest-version/Cargo.toml", "--", "--log-level", "warn"],
      "env": {
        "RUST_LOG": "warn"
      }
    }
  }
}

替代方案:使用预构建二进制文件

如果你更喜欢直接使用编译后的二进制文件:

{
  "mcpServers": {
    "rust-crate-server": {
      "command": "/path/to/mcp-rust-get-crate-latest-version/target/release/mcp-crate-server",
      "args": ["--log-level", "warn"],
      "env": {
        "RUST_LOG": "warn",
        "CRATE_REGISTRY_URL": "https://index.crates.io"
      }
    }
  }
}

环境变量

  • RUST_LOG:控制日志记录级别(调试、信息、警告、错误)
  • CRATE_REGISTRY_URL:覆盖默认注册表URL(可选)

游标中的用法

1.启用代理模式

  • 打开Cursor的聊天面板(⌘ + L 在macOS上, Ctrl + L 在Windows/Linux上)
  • 确保你在 代理 模式(非聊天模式)
  • MCP工具将自动对代理可用

2.验证集成

配置后,验证集成是否正常工作:

  1. 检查MCP状态:

- 转到光标设置→ MCP - 确保服务器显示为“正在运行”,并带有绿色指示灯 - 如果有问题,请检查服务器日志中的错误消息

  1. 使用简单查询进行测试:
   What's the latest version of the "serde" crate?
  1. 测试高级功能:
   Can you get all versions of the "tokio" crate and show me the last 5 releases?

3.工具审批流程

默认情况下,Cursor在运行MCP工具之前会请求批准:

  • 手动审批:当提示允许代理查询机箱信息时,单击“使用工具”
  • 自动运行:在光标设置中启用→ MCP → 自动运行工具,实现无缝操作
  • 查看详情:单击工具名称旁边的箭头查看传递的参数

4.示例提示

以下是一些与集成MCP服务器一起使用的有效提示:

🔍 Version Queries:
- "What's the latest version of reqwest?"
- "Show me all versions of serde from the last year"
- "Is there a newer version of tokio available?"

📊 Dependency Analysis:
- "Compare the latest versions of async-std vs tokio"
- "What are the recent versions of clap?"
- "Find crates related to 'json parsing'"

🚀 Development Workflow:
- "Check if any of my dependencies have updates available"
- "What's the latest stable version of rust crate X?"
- "Search for crates that might replace library Y"

5.工作流集成

MCP集成在以下情况下效果最佳:

  • 在开发过程中:编码时询问机箱版本
  • 依赖关系更新:获取Cargo.toml更新的实时版本信息
  • 代码评审:验证依赖关系版本并检查更新
  • 研究:探索替代板条箱及其最新版本

故障排除

常见问题及解决方法

❌ 服务器未运行

  • 问题:MCP服务器显示为“未运行”或有红色指示灯
  • 解决方案:

- 验证配置中的路径是否正确 - 确保项目建成: cargo build --release - 检查Cursor的MCP日志以了解特定的错误消息 - 尝试手动运行服务器进行测试: cargo run --release

❌ 路径找不到

  • 问题:“找不到命令”或“路径不存在”错误
  • 解决方案:

- 在配置中使用绝对路径 - 验证货物是否在您的系统PATH中 - 对于预构建的二进制文件,请确保该文件是可执行的: chmod +x target/release/mcp-crate-server

❌ 工具不可用

  • 问题:代理看不到或使用MCP工具
  • 解决方案:

- 确认您已加入 代理 模式(非聊天模式) - 在游标设置中检查MCP服务器状态 - 配置更改后重新启动Cursor IDE - 验证JSON配置语法是否有效

❌ 权限不足

  • 问题:由于权限问题,服务器无法启动
  • 解决方案:

- 检查二进制文件的文件权限 - 确保项目目录可访问 - 跑 cargo clean && cargo build --release 重建

❌ 网络/注册表问题

  • 问题:板条箱查询失败或超时
  • 解决方案:

- 检查互联网连接 - 验证 CRATE_REGISTRY_URL 环境变量 - 检查公司防火墙是否阻止对crates.io的访问 - 尝试使用不同的日志级别进行调试: RUST_LOG=debug

高级调试

  1. 启用调试日志记录:
   "env": {
     "RUST_LOG": "debug"
   }
  1. 手动服务器测试:
   # Test the server manually
   echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | cargo run --release
  1. 检查游标日志:

- 转到光标设置→ MCP - 查看服务器日志和错误消息 - 查找连接或协议错误

获取帮助

  • 光标MCP文档: MCP官方指南
  • 问题报告:报告包含详细错误日志和配置的问题
  • 社区支持:查看Cursor的社区论坛,了解与MCP相关的讨论

🔧 MCP配置解决方案

如果你正在经历 JSON解析错误“没有可用的工具” Cursor IDE的问题,这可能是由于货物构建输出污染了MCP通信流。我们提供多种配置解决方案来解决这个问题。

快速修复(推荐)

问题:游标显示JSON模式验证错误,因为 cargo run 输出构建干扰MCP协议通信的消息。

解决方案:使用我们预先配置的直接二进制设置立即解决问题。

步骤1:复制生产配置

复制以下内容 mcp-production.json 到你的 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "rust-crate-server": {
      "command": "/Users/lqiao/Downloads/codes/_topic-mcp/_my__mcp-rust-get-crate-latest-version/target/release/mcp-crate-server",
      "args": ["--log-level", "info"],
      "env": {}
    }
  }
}

重要:更新路径以匹配您的实际安装位置。

步骤2:重新启动游标

  1. 完全关闭游标IDE
  2. 重新打开光标
  3. 检查MCP工具面板-您应该看到 “3个可用工具”

配置选项

我们为不同的用例提供多种MCP配置模板:

  • mcp-production.json:直接二进制执行(最快、最可靠)
  • mcp-development.json:使用包装脚本进行开发工作流
  • mcp-debug.json:启用调试日志以进行故障排除
  • MCP-CONFIGURATION.md:全面的设置指南,包括故障排除

开发工作流程

对于主动开发,请使用包装器脚本配置:

{
  "mcpServers": {
    "rust-crate-server": {
      "command": "/path/to/project/mcp-development.sh",
      "args": ["--log-level", "info"],
      "env": {}
    }
  }
}

这提供了自动重建,同时保持了清洁的MCP通信。

验证

应用任何配置后:

  1. 检查连接:光标应将“rust crate服务器”显示为“已连接”
  2. 验证工具:MCP面板应显示“3个可用工具”
  3. 测试功能:试着问“serde的最新版本是什么?”

有关详细的配置说明、故障排除和高级设置,请参阅 MCP-CONFIGURATION.md.

🛠️ 可用的MCP工具

get_latest_version

获取Rust crate的最新版本。

参数:

  • crate_name (必填):要检查的板条箱名称
  • include_yanked (可选):是否包含洋基版本(默认:false)

例子:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_latest_version",
    "arguments": {"crate_name": "serde"}
  }
}

get_all_versions

获取Rust crate的所有版本,按版本排序。

参数:

  • crate_name (必填):要检查的板条箱名称
  • limit (可选):要返回的最大版本数(默认值:20,最大值:100)

search_crates

按名称或关键字搜索Rust crates(占位符实现)。

参数:

  • query (必填):搜索查询
  • limit (可选):最大结果数(默认值:10,最大值:50)

get_latest_versions_batch

在单个请求中获取多个Rust crates的最新版本。支持并行处理以提高性能。

参数:

  • crate_names (必填):要检查的板条箱名称数组(最小值:1,最大值:50)
  • include_yanked (可选):是否包含洋基版本(默认:false)

例子:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_latest_versions_batch",
    "arguments": {
      "crate_names": ["serde", "tokio", "anyhow"],
      "include_yanked": false
    }
  }
}

优点:

  • 同时处理多个板条箱,而不是单独的请求
  • 通过并行处理减少网络开销
  • 一致的部分故障处理-即使某些查询失败,也会返回成功的查询
  • 缓存感知:利用现有缓存基础架构实现最佳性能

📊 性能特征

缓存与无缓存性能

Response Time (ms)
     │
1000 ├─────────────────────────────────────────────
     │ WITHOUT CACHE                              ░░
 800 ├─────────────────────────────────────────░░░░
     │                                       ░░░░
 600 ├─────────────────────────────────────░░░░
     │                                   ░░░░
 400 ├─────────────────────────────────░░░░       Cache Miss: 200-500ms
     │                               ░░░░          │
 200 ├─────────────────────────────░░░░             │
     │                           ░░░░               ▼
   1 ├███████████████████████████░░                ████
     │ WITH CACHE                                   ████ Cache Hit: 90% code coverage
          └─────────────────────────────────────────┘

Test Coverage Distribution:
• Unit Tests:        70% of total tests  │ ████████████████████████████████████████
• Integration Tests: 20% of total tests  │ ███████████████████
• Performance Tests: 5% of total tests   │ ████
• E2E Tests:         5% of total tests   │ ████

测试执行

  • 单元测试:单个功能测试,覆盖率>90%
  • 集成测试:MCP协议合规性和组件交互
  • 性能测试:延迟和吞吐量基准测试
  • 端到端测试:真正的MCP客户端集成

使用以下工具运行测试:

cargo test -- --test-threads=1 --nocapture

📈 性能基准

场景缓存命中缓存未命中改进
单机箱查找\<1ms200-500ms200500x快
10个并发请求~10ms~300ms快30倍
开发工作流程85-95%的命中率N/A显著

🐳 容器部署

FROM rust:1.73-slim as builder
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release

FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/mcp-crate-server /usr/local/bin/
CMD ["mcp-crate-server"]

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 确保所有测试通过: cargo test
  5. 提交拉取请求

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

🔗 相关项目

______________________________________________________________________

研究项目:此实现是对MCP协议与Rust生态系统工具集成进行全面研究的一部分。有关详细的分析和发现,请参阅研究文档。

目录标签

目录标签

RustCursorAI代理Rust包管理本地部署MCP协议IDE集成高性能服务器版本查询

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP