
Rust MCP Preflight
io.github.Wolfe-Jam由 GitHub 账号 Wolfe-Jam 发布v0.1.3更新于 Nov 7, 2026
Check an MCP Registry listing before you publish: README mcp-name line, server.json, name.
发布方自己的服务:Preflight
概览
在发布前检查 MCP Registry 条目:README 中的 mcp-name 行、server.json 的发布规则以及服务器名称。
- 可以做什么
- 对 server.json 文本执行完整预检
- 离线按发布规则检查 server.json,包括精确的包版本、传输方式和标识符格式
- 检查 crates.io 上某个 crate 版本 README 中的 mcp-name 行
- 检查服务器名称的发布规则、是否已被列出,以及需要哪种命名空间登录方式
- 每项检查输出一行结果,标明通过、警告或失败
- 适用场景
- 准备把 Rust MCP 服务器发布到官方 MCP Registry 时使用,尤其是在 cargo publish 之后,以便在 crate 版本已固定、无法更改之前发现问题。也适合在 CI 中作为发布前的检查关卡。
- 运行要求
- 本地以 stdio 运行的二进制程序,可通过 cargo binstall、cargo install 或预编译发布包安装,并需位于 PATH 中。需要访问 crates.io、官方注册表和 GitHub 用户 API 的网络连接。无需密钥或账号。
安装
在 SourceWeft 中
- 打开 控制台中的 Rust MCP Preflight,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Rust MCP Preflight
Check an MCP Registry listing before you publish it.
mcp-publisher validate checks the shape of server.json. It doesn't check that the registry will accept your package: that only happens at mcp-publisher publish, after the crate version is already on crates.io and can't be changed. Rust MCP Preflight runs those checks first.
- The README line. Fetches the README crates.io serves for the exact crate version and looks for
mcp-name: <your server name>, matched the way the registry matches it (ported from the registry's own validator,internal/validators/registries/cargo.go; the registry's validators haven't changed since this port, checked 2026-11-06). Catches the line hidden in an HTML comment (crates.io strips comments), the line glued to the next word, and a near miss such as the wrong case. - server.json. The rules
mcp-publisher publishapplies:$schema, the server name, and for every package exact versions (nolatest, no ranges), the transport and no spaces in the identifier. For cargo packages also the crate version, nofileSha256andregistryBaseUrl. Plus warnings forruntimeHint, mismatched versions, and placeholders left over frommcp-publisher init. - The server name. The rules publish applies, whether it's already listed, and which login its namespace needs (including GitHub organizations, which
login githubcan't publish to yet, and the two ways that work: GitHub Actions OIDC or a token).
It only reads: crates.io, the official registry and the GitHub users API. It publishes nothing and needs no keys.
Install
Prebuilt, in seconds (needs cargo-binstall):
From source (compiles, a few minutes the first time):
Or download the binary for your platform from the release assets: Linux (x86_64, aarch64), macOS (Intel, Apple silicon) and Windows (x86_64), each with a .sha256 file. Prebuilt binaries start with 0.1.2; for an earlier version, cargo binstall falls back to QuickInstall or compiling from source.
Use it from a terminal or CI
It prints one line per check. It exits 0 when ready, 1 if anything fails, and 2 if the file can't be read:
Use it from an MCP client
Run with no arguments, it serves MCP over stdio. Each client below starts it with the command rust-mcp-preflight, so the binary must be on your PATH (cargo binstall and cargo install put it in ~/.cargo/bin).
Claude Code
goose (extensions): for one session,
or for every session, in ~/.config/goose/config.yaml:
VS Code (MCP configuration): adds it to your user profile,
or for one workspace, in .vscode/mcp.json:
Cursor (MCP): in ~/.cursor/mcp.json, or .cursor/mcp.json in a project:
Any other client that runs a local MCP server: the same command, rust-mcp-preflight, over stdio.
A result with a FAIL has isError set, like the CLI's exit 1: the check ran, and the listing isn't ready.
Where it fits
The order is: cargo publish (with the line in the README), then rust-mcp-preflight server.json, then mcp-publisher login github and mcp-publisher publish.
The full walk-through: Listing a Rust MCP server in the official MCP Registry.
The README check and the crates.io rules are for cargo packages. Other package types (npm, PyPI, mcpb and so on) get the shared rules, and their registry's own checks are listed as not run.
If crates.io or the README can't be reached, the README counts as not checked and the result is a failure, so a CI run never passes on a README it didn't see.
Links
- Repository: https://github.com/Wolfe-Jam/rust-mcp-preflight
mcp-name: io.github.Wolfe-Jam/rust-mcp-preflight
License
MIT
More about me and my work: wolfejam.dev/info
来源:README.md,提交 051eca4
工具
0版本历史
3- v0.1.3最新Nov 7, 2026
- v0.1.2Nov 4, 2026
- v0.1.1Nov 3, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Preflight 集成
Preflight
social.preflight官方发布者
托管式社交媒体排程服务器,让助手起草、按规则校验、排程并向 12 个平台发布帖子。

SQLite rebuild copy-map preflight
由 GitHub 账号 showflexinc 发布
远程预检服务,在重建执行前检查 SQLite 表重建复制映射的结构。

Multipart row preflight
由 GitHub 账号 showflexinc 发布
CSV row-structure inspection (inspect_parts) and manifest comparison (compare_manifest).

Tool-dialogue preflight
由 GitHub 账号 showflexinc 发布
针对JSONL工具对话训练数据的结构化预检。AI 翻译

PayStage Trade Preflight
xyz.paystage
本地 MCP 服务器,用你自定的 TradePolicy 检查拟提交的 Hyperliquid HIP-3 / trade.xyz 订单,返回 allow、review 或 do_not_trade。