关于 Rust MCP Preflight
Rust MCP Preflight 面向准备提交 Registry 条目的 Rust MCP 服务发布者。它会在发布前检查 README 标记、`server.json` 和服务名称规则,可通过终端、CI 或 MCP 客户端运行。
主要功能
- 01检查 crates.io README 标记
- 02验证 `server.json` 发布规则
- 03检查名称及命名空间登录要求
- 04报告 Registry 中已有条目
- 05支持命令行、CI 和 MCP
适用场景
- 01发布前验证 Registry 条目
- 02发现 README 标记格式问题
- 03在 CI 中检查包元数据
- 04核对服务名称的命名空间要求
MCP 相关
它向 MCP 客户端提供 `preflight`、`check_server_json`、`check_readme` 和 `check_name` 工具,用于验证条目要求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Rust MCP 预检工具
在发布前检查 MCP Registry 条目。
mcp-publisher validate 会检查 server.json 的格式,但不会检查 Registry 是否会接受你的软件包:这只有在运行 mcp-publisher publish 时才会发生,那时 crate 版本已经发布到 crates.io,无法更改。Rust MCP 预检工具会先运行这些检查。
- README 中的那一行。 获取 crates.io 为确切 crate 版本提供的 README,并查找
mcp-name: <your server name>,匹配方式与 Registry 相同(移植自 Registry 自己的验证器)。可发现隐藏在 HTML 注释中的行(crates.io 会剥除注释)、与下一个单词粘连的行,以及大小写不匹配等相近但错误的情况。 - server.json。 检查
mcp-publisher publish应用的规则:$schema、服务名称,以及每个软件包的精确版本(不能使用latest或范围)、传输方式和标识符中不能有空格。对于 cargo 软件包,还检查 crate 版本、不能有fileSha256和registryBaseUrl。此外,还会针对runtimeHint、版本不匹配,以及mcp-publisher init遗留的占位符发出警告。 - 服务名称。 检查 publish 应用的规则、名称是否已列出,以及其命名空间需要哪个登录账号(包括 GitHub 组织,目前
login github还不能向其发布)。
它只会读取:crates.io、官方 Registry 和 GitHub 用户 API。它不会发布任何内容,也不需要密钥。
安装
cargo install rust-mcp-preflight
首次安装会从源代码编译,需要几分钟。
在终端或 CI 中使用
rust-mcp-preflight server.json
每项检查会输出一行。全部就绪时退出码为 0,任何检查失败时为 1,无法读取文件时为 2:
Preflight: server.json
PASS name "io.github.VoidNullable/lific" is a valid server name
PASS packages[0]: cargo crate "lific"
WARN VoidNullable is a GitHub organization: `mcp-publisher login github` can't publish to org namespaces yet (registry #1468). ...
INFO already listed: latest 2.11.1 (active). Your next publish needs a new version number
PASS README of lific 2.11.1 on crates.io contains `mcp-name: io.github.VoidNullable/lific`
Ready: no failures, 1 warning(s).
在 MCP 客户端中使用
claude mcp add preflight -- rust-mcp-preflight
{ "mcpServers": { "preflight": { "command": "rust-mcp-preflight" } } }
| 工具 | 检查内容 |
|---|---|
preflight | 以下所有检查,基于 server.json 的文本 |
check_server_json | publish 规则(离线) |
check_readme | crates.io 上某个 crate 版本 README 中的 mcp-name: 行 |
check_name | 名称的 publish 规则、列表状态和命名空间登录账号 |
如果结果包含 FAIL,则会设置 isError,与 CLI 的退出码 1 一样:检查已运行,但条目尚未就绪。
适用场景
顺序如下:cargo publish(README 中包含该行),然后运行 rust-mcp-preflight server.json,再运行 mcp-publisher login github 和 mcp-publisher publish。
完整操作指南:在官方 MCP Registry 中列出 Rust MCP 服务。
README 检查和 crates.io 规则适用于 cargo 软件包。其他软件包类型(npm、PyPI、mcpb 等)会应用通用规则,其 Registry 自身的检查会标记为未运行。
如果无法访问 crates.io 或 README,README 检查会被视为未检查,结果也会失败,因此 CI 运行绝不会在未查看 README 的情况下通过。
已列出且正在运行?获取一份针对整个服务的免费报告,而不仅仅是条目:wolfejam.dev/#worth-it
链接
- 仓库:https://github.com/Wolfe-Jam/rust-mcp-preflight
mcp-name: io.github.Wolfe-Jam/rust-mcp-preflight
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。