mcpField
R
Rust MCP Preflight

Rust MCP Preflight

ローカル
github.com/Wolfe-Jam開発ツール01 日前に更新

Rust MCP Preflight について

Rust MCP Preflight は、Registry への登録を準備する Rust MCP サーバーの公開者向け検証ツールです。公開前に README のマーカー、`server.json`、サーバー名の規則を確認でき、ターミナル、CI、MCP クライアントから利用できます。

主な機能

  1. 01crates.io README マーカーの確認
  2. 02`server.json` 公開規則の検証
  3. 03名前と名前空間ログイン要件の確認
  4. 04Registry の既存登録状況を報告
  5. 05CLI、CI、MCP での利用

活用シーン

  1. 01公開前の Registry 登録内容の検証
  2. 02README マーカーの書式ミスの検出
  3. 03CI でのパッケージメタデータ確認
  4. 04サーバー名の名前空間要件の確認

MCP 対応

MCP クライアント向けに、登録要件を検証する `preflight`、`check_server_json`、`check_readme`、`check_name` ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
cargorust-mcp-preflight0.1.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Rust MCP Preflight

名刺 · 作成はこちら →

MCP Registryへの掲載を、公開する前に確認します。

mcp-publisher validate は server.json の形式を確認します。しかし、レジストリがパッケージを受け入れるかどうかは確認しません。確認できるのは mcp-publisher publish の実行時ですが、その時点ではすでにクレートのバージョンが crates.io に公開されており、変更できません。Rust MCP Preflight は、これらのチェックを先に実行します。

  • READMEの行。 指定したクレートのバージョンについて、crates.io が提供するREADMEを取得し、mcp-name: <your server name> を探します。レジストリと同じ方法で照合します(レジストリ独自のバリデーターから移植)。HTMLコメント内に隠れた行(crates.io はコメントを削除します)、次の単語とつながった行、大文字・小文字が間違っているなどの惜しい不一致を検出します。
  • server.json。 mcp-publisher publish が適用するルールを確認します。$schema、サーバー名、各パッケージの正確なバージョン(latest や範囲指定は不可)、トランスポート、識別子にスペースがないことを確認します。cargoパッケージの場合は、クレートのバージョン、fileSha256 がないこと、registryBaseUrl も確認します。また、runtimeHint、バージョンの不一致、mcp-publisher init のプレースホルダーが残っている場合は警告します。
  • サーバー名。 公開ルール、すでに掲載されているかどうか、名前空間に必要なログイン方法を確認します(現時点では login github から公開できないGitHub組織も含みます)。

読み取り先は、crates.io、公式レジストリ、GitHubユーザーAPIのみです。何も公開せず、キーも必要ありません。

インストール

cargo install rust-mcp-preflight

初回インストールではソースからコンパイルするため、数分かかります。

ターミナルまたはCIから使う

rust-mcp-preflight server.json

チェックごとに1行を出力します。問題がなければ終了コードは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" } } }
ツールチェック内容
preflightserver.json のテキストを基に、以下のすべてを確認
check_server_json公開ルール(オフライン)
check_readmecrates.ioにある、指定したクレートバージョンのREADME内の mcp-name: 行
check_name名前の公開ルール、掲載状況、名前空間のログイン

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など)には共通ルールが適用され、各レジストリ独自のチェックは未実行として表示されます。

crates.ioまたはREADMEにアクセスできない場合、READMEは未チェックとして扱われ、結果は失敗になります。そのため、READMEを確認できていない状態でCIが成功することはありません。

掲載済みで、稼働中ですか?掲載情報だけでなく、サーバー全体の無料レポートをご利用ください:wolfejam.dev/#worth-it

リンク

ライセンス

MIT


wolfejamについて

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。