Passport について
mcp-passport は、MCP サーバーの MCP Registry への公開準備状況を確認するコマンドライン検証ツールです。レジストリスキーマに照らして server.json を検証し、関連するパッケージマニフェストとの整合性も確認します。CI 向けに SARIF を出力できます。
主な機能
- 01レジストリスキーマに基づく server.json 検証
- 02パッケージマニフェスト間の項目照合
- 03根拠ドキュメント付きの指摘表示
- 04SARIF 出力と CI ゲート対応
- 05Rust バイナリとして配布
活用シーン
- 01公開前のサーバー情報の確認
- 02バージョンや mcpName の不一致検出
- 03SARIF によるプルリクエストへの注釈
MCP 対応
MCP サーバーの公開者向け開発ツールであり、MCP サーバーやクライアントではありません。mcp-publisher による公開前にレジストリメタデータを検証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
StudioMeyer MCP Stack の一部 — マヨルカ島で開発 🌴 · ご利用の際は ⭐ をお願いします
mcp-passport
MCP Registry への公開準備状況を検証します。
サーバーをレジストリに公開するには、server.json を正確に記述する必要があります。reverse-DNS 形式の名前、packages ブロック、transport、そして一致する package.json の mcpName が必要です。
どれか一つでも間違えると、mcp-publisher にアップロードを拒否されます(あるいは、さらに悪いことに、掲載内容に気づきにくい不具合が生じます)。
mcp-passport は、これらすべてをローカルでチェックする単一の静的バイナリです。レジストリのスキーマに加え、server.json と package.json/Cargo.toml/pyproject.toml の間も検証するため、初回からアップロードを成功させられます。
$ mcp-passport ./my-server
mcp-passport: ./my-server/server.json — 3 finding(s) (2 error, 1 warning, 0 info)
ERROR (2)
server.json /name — `name` "My_Weather" is not a valid reverse-DNS namespace/slug
fix: Use `{namespace}/{slug}`, lowercase, e.g. `io.github.you/my-server`.
see: https://github.com/modelcontextprotocol/registry/.../generic-server-json.md
package.json /mcpName — package.json has no `mcpName` — the registry uses it to verify npm ownership
fix: Add "mcpName": "io.github.you/weather".
see: https://github.com/modelcontextprotocol/registry/.../quickstart.mdx
WARNING (1)
server.json /packages/0/version — package #0 (npm) has no `version` …
# exit code 1 → the job fails
すべてのチェックに合格すると:
$ mcp-passport
mcp-passport: ./server.json is publish-ready. [OK]
インストール
cargo install mcp-passport
ソースからビルドすることもできます:
git clone https://github.com/studiomeyer-io/mcp-passport
cd mcp-passport && cargo build --release # binary at ./target/release/mcp-passport
使い方
mcp-passport # validate ./server.json
mcp-passport path/to/server.json # a specific file
mcp-passport ./my-server # find + validate server.json in a directory
mcp-passport --fail-on warning # gate CI on warnings too
mcp-passport --format sarif # GitHub code scanning
--fail-on(デフォルトは error)以上の重要度の指摘事項がある場合、終了コードは 1、ない場合は 0 です。
チェック内容
server.json の構造(2025-12-11 スキーマに準拠):
- 必須項目の
name(reverse-DNS 形式のnamespace/slug)、description、version(semver) packages/remotesの少なくとも一方- パッケージごとに、
registryType(npm/pypi/nuget/cargo/oci/mcpb)、identifier、transport.type(stdio/streamable-http/sse)、バージョン管理されるレジストリではversion、mcpbではfileSha256 - よくある snake_case の
registry_typeという誤り(レジストリはこれを黙って無視します) $schemaが存在し、現在のリビジョンを指定していること。repositoryが存在すること
ファイル間の整合性(同じディレクトリにマニフェストがある場合のみ):
- npm →
package.jsonのmcpNameがserver.jsonのnameと一致すること(レジストリはこれを使って所有権を検証します)。バージョンも一致すること - cargo →
Cargo.tomlの[package].versionが一致すること - pypi →
pyproject.tomlの[project].versionが一致すること
各指摘事項には、その根拠となるレジストリのドキュメントへのリンクがあります。mcp-passport は高速なローカルの事前チェックツールです。最終的な判定は mcp-publisher validate とレジストリ自体が行います。
CI
# .github/workflows/mcp-registry.yml
name: MCP registry
on: [pull_request]
jobs:
passport:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: studiomeyer-io/[email protected]
with:
path: .
fail-on: error
SARIF にも対応しています。mcp-passport --format sarif > passport.sarif を実行し、github/codeql-action/upload-sarif でアップロードすると、PR に注釈を付けられます。
StudioMeyer MCP toolkit の一部
MCP サーバーの構築、リリース、運用を支援する、目的を絞った本番品質のツール群です:
- mcp-armor — 実行時防御用サイドカー
- mcp-gauntlet — デプロイ前のファジングテストと負荷テスト
- mcp-covenant — コントラクトと破壊的変更の検出
- mcp-herald — 2026-07-28 仕様移行リンター
- mcp-passport (このツール) — 公開ゲート:
server.jsonはレジストリへの登録準備ができていますか?
ライセンス
MIT © StudioMeyer
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。