
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。