mcpField
E
ecz-id-mcp-verifier

ecz-id-mcp-verifier

ローカル
developers.ecocitizenz.comセキュリティ05 週間前に更新

ecz-id-mcp-verifier について

ecz-id-mcp-verifierは、対象を分類し、該当する場合に公開ECZ-ID Resolverの状態を確認する、ローカル優先の読み取り専用ツールです。開発者、CI担当者、MCPホスト向けに決定論的な結果と次の手順を示し、ソースコードやテレメトリーは送信しません。

主な機能

  1. 01LLMを使わず対象を決定論的に分類
  2. 02有効なECZ-IDの公開Resolver状態を確認
  3. 03JSON、人間向けレポート、SARIFを出力
  4. 04ローカルポリシーに基づく決定論的な終了コード
  5. 05CLI、GitHub Action、Nodeライブラリ、MCPサーバーとして動作
  6. 06ネットワーク接続なしでオフライン実行

活用シーン

  1. 01開発環境からECZ-IDを確認
  2. 02指定ポリシーでCIパイプラインにゲートを設定
  3. 03MCPホスト経由で対象を確認
  4. 04オフラインで対象を分類し、次の手順を判断

MCP 対応

stdioサーバーを通じて、対象の分類と確認、結果の報告、次の手順への案内を行う3つの読み取り専用MCPツールを提供します。アーティファクトの内容を調べたり、Resolverに書き込んだりはしません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ecocitizenz-ecz-id-mcp-verifier": {
"command": "npx",
"args": [
"-y",
"@ecocitizenz/ecz-id-mcp-verifier"
]
}
}
}
起動コマンドnpx -y @ecocitizenz/ecz-id-mcp-verifier

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@ecocitizenz/ecz-id-mcp-verifier0.9.0

ツール

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

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

詳細

ECZ-ID MCP Verifier(TM)

CLI、CI、または MCP ホストから、公開 ECZ-ID Resolver の状態を確認できます。サインイン、ソースのアップロード、テレメトリーは不要です。ローカルポリシーによって判断されます。

ローカル優先、プライバシー優先のツールです。対象を分類し、該当する場合は公開 ECZ-ID Resolver の状態を確認し、決定論的な結果を報告して、その結果を説明し、次の手順へ案内します。行うのは読み取り、報告、案内のみです。真実を書き込んだり、証明を有効化したり、何かを BOUND とマークしたり、チェックアウトを実行したり、アーティファクトの内容を調べたりすることはありません。

クイックスタート

npx @ecocitizenz/ecz-id-mcp-verifier check --target ECZ-GB-A93K7Q

check は先頭のサブコマンドとして使用できます。処理は --target が実行します。人が読めるソフトレポートを表示するには --report を、証明がない場合にフェイルクローズするには --policy REQUIRE を、ネットワークに接続せず分類と案内を行うには --offline を追加します。

1 分以内に最初の有用な結果を得られます: 上記のコマンドを実行し、実際の JSON 結果を読み、案内された次のアクションに進んでください。サインイン、アカウント、設定は不要です。npm install @ecocitizenz/ecz-id-mcp-verifier をそのまま実行してインストールできます。再現性が必要な場合に限り、特定のバージョンを固定してください(再現可能なバージョン固定を参照)。

代表的な結果

--target ECZ-GB-A93K7Q --policy OPEN --offline の実際の出力です(抜粋。完全な JSON には setup_handoff、request_to_resolve および追加の境界フラグも含まれます)。

{
  "schema_version": 1,
  "verifier": "ECZ-ID MCP Verifier",
  "verifier_version": "0.9.1",
  "target": "ECZ-GB-A93K7Q",
  "target_type": "ecz_id",
  "policy_mode": "OPEN",
  "result_state": "NO_PUBLIC_RESOLVER_PROOF_FOUND",
  "reason_codes": ["NO_PUBLIC_RESOLVER_PROOF_FOUND", "RESOLVER_READ_ONLY", "LOCAL_POLICY_DECIDES"],
  "resolver_url": "https://resolver.ecocitizenz.org/p/ECZ-GB-A93K7Q",
  "machine_json_url": null,
  "local_policy_decides": true,
  "recheck_before_reliance": true,
  "no_safety_or_approval_inference": true,
  "no_source_uploaded": true,
  "no_secrets_uploaded": true,
  "no_telemetry": true,
  "exit_code": 0
}

ここでの NO_PUBLIC_RESOLVER_PROOF_FOUND は、公開された証明が見つからなかったことを意味します(オフラインでの実行)。対象が安全でないという意味ではありません。ローカルポリシーによって判断されます。

次の場所から利用できます

利用先方法
CLInpx @ecocitizenz/ecz-id-mcp-verifier check --target <value>
CI / GitHub Actionuses: Ecocitizenz/[email protected]
MCP ホストecz-id-mcp-server の stdio バイナリを実行します(読み取り専用ツールが 3 つ)
Node ライブラリimport { verify } from "@ecocitizenz/ecz-id-mcp-verifier"

次のアクション:対象を確認する · CI に追加する · MCP ホストに追加する · 公開 Resolver の証明を調べる · 運用する対象の状態を改善する · インテグレーションを構築する。

よくあるワークフロー

あなたの役割…実行すること得られるもの
対象を確認する開発者npx @ecocitizenz/ecz-id-mcp-verifier check --target <value>決定論的な分類と、案内を含む公開 Resolver の状態。
ゲートを追加する CI オーナーpolicy を指定してGitHub Actionを追加するか、--policy REQUIRE を付けて CLI を実行しますパイプライン向けの決定論的な終了コードと JSON/SARIF。
MCP ホストのユーザー--print-mcp-config → ホストに貼り付けますstdio 経由で利用できる、読み取り専用の MCP ツールが 3 つ。
Node 開発者import { verify } from "@ecocitizenz/ecz-id-mcp-verifier"プロセス内で、副作用なく利用できる標準の結果コントラクト。
プラットフォームのレビュアー--capabilities を実行し、公開 Resolver の状態を調べます範囲と制限を誠実に示す、機械可読な情報。
自分が管理する対象を改善するオペレーター結果に示された TrustOps の案内に従います対象の公開 Resolver の状態を改善するためのガイダンス。
機械またはエージェント--capabilities と標準の機械向けディスカバリーのポインターを読み取りますエージェントが読み取れる機能とディスカバリー情報です。証明として扱われることはありません。

対応するターゲット形式

分類器は決定論的です(正規表現のみを使用し、LLM もネットワークも使用しません)。公開 Resolver の照会は、有効な ECZ-ID に対してのみ実行されます。それ以外の形式はすべて分類およびルーティングされますが、解決はされず、どの形式についても、アーティファクトの内容、マニフェスト、ランタイムプロトコルは検査されません。

ターゲット形式例分類済みResolver 照会アーティファクト/マニフェスト/ランタイムの検査
ECZ-ID(親)ECZ-GB-A93K7Qはいはい(GET …/api/p/{parent}.json、オンライン)いいえ/いいえ/いいえ
ECZ-ID(子)ECZ-GB-A93K7Q::AGENT-4F9Q2Aはいいいえ(人間向け URL のみ。子用のマシンエンドポイントなし)いいえ/いいえ/いいえ
MCP サーバー URLhttps://api.example.com/.well-known/ecz-mcp.jsonはいいいえ(直接解決できません)いいえ/いいえ/いいえ
エージェントマニフェスト URL…/.well-known/ecz-agent.jsonはいいいえいいえ/いいえ/いいえ
API URLhttps://api.example.com/...はいいいえいいえ/いいえ/いいえ
GitHub リポジトリhttps://github.com/org/repoはいいいえいいえ/いいえ/いいえ
npm パッケージleft-pad または npm:left-padはいいいえいいえ/いいえ/いいえ
PyPI パッケージpypi:requestsはいいいえいいえ/いいえ/いいえ
コンテナイメージghcr.io/org/img@sha256:…はいいいえいいえ/いいえ/いいえ
その他自由入力、空白、不正な ECZ-IDunsupported_target に分類いいえいいえ/いいえ/いいえ

ECZ-ID 以外の形式の場合、検証ツールは resolver_url: null を含む NO_PUBLIC_RESOLVER_PROOF_FOUND を返します(Resolver のパスを捏造することはありません)。分類はセキュリティ検査ではありません。

このパッケージが行うこと

  • ターゲットを決定論的に分類します(LLM は使用しません)。
  • 有効な ECZ-ID の場合、公開 Resolver のマシン向け投影を GET で(読み取り専用で)取得し、その状態を報告します。
  • 正規の ResultState と大文字の ReasonCode を報告します。
  • JSON、任意の人間向けソフトレポート、任意のローカル Action Envelope(ルーティング専用のメタデータ)、任意の SARIF 2.1.0 ファイルを出力します。
  • CI 連携用の決定論的な終了コードを提供します。
  • GitHub Action ラッパーと、読み取り専用の MCP stdio サーバーを同梱しています。

このパッケージが行わないこと

  • 真実を書き込みません。
  • 証明を有効化しません。
  • 何かを BOUND としてマークしません。
  • いずれのターゲットについても、アーティファクトの内容、マニフェスト、ランタイムプロトコルを検査しません。
  • いかなるサーバー、エージェント、製品、API の安全性も認定しません。
  • エージェントを承認しません。
  • グローバルな信頼を判断しません。
  • ソースコードをアップロードしません。
  • シークレット、API キー、プロンプト、ツールのペイロードをアップロードしません。
  • テレメトリー、分析データ、Sentry、PostHog のビーコンを送信しません。
  • Backend/Core を呼び出しません。
  • Resolver に書き込みません。
  • 検証バックエンドとして TrustOps を呼び出しません。
  • チェックアウトを実行しません。
  • クライアント側の信頼バッジを作成しません。
  • 再利用可能な信頼資格情報を発行しません。
  • npm または Official MCP Registry への掲載を ECZ-ID の証明として扱いません。
  • サードパーティの安全性や承認状態を推測しません。
  • 自律的な LLM またはエージェントの動作を実行しません。

プライバシー

検証ツールは次のとおりです。

  • ソースコードをアップロードしません。
  • シークレット(API キー、環境変数を含む)をアップロードしません。
  • プロンプトやツールのペイロードをアップロードしません。
  • 非公開ログや未加工のテレメトリーをアップロードしません。
  • 顧客データをアップロードしません。
  • Resolver にリクエストボディを送信しません(GET のみ)。
  • 非公開ヘッダーを送信しません。
  • 分析データ、Sentry、PostHog のビーコンを送信しません。
  • ホームへ通信しません。
  • 自動更新しません。

ネットワーク通信は --offline / --no-network でオプトアウトできます。通常のチェックにサインインは不要です。公開 Resolver が証明の確認先です。パッケージと Registry のメタデータは検出にのみ使用され、証明にはなりません。

インストール

公開レジストリからインストールします(これにより、現行リリースを取得できます)。

npm install @ecocitizenz/ecz-id-mcp-verifier
# or global: npm install -g @ecocitizenz/ecz-id-mcp-verifier

または、インストールせずに必要に応じて実行します。

npx @ecocitizenz/ecz-id-mcp-verifier check --target ECZ-GB-A93K7Q

ソースから実行する場合(コントリビューター向け):

git clone https://github.com/Ecocitizenz/ecz-id-mcp-verifier.git
cd ecz-id-mcp-verifier
npm install
npm run build
node dist/bin/cli.js --help

CLI

ecz-mcp-verify --target <value> [options]

同等のコマンド名が2つインストールされます。ecz-id-mcp-verifier と ecz-mcp-verify(どちらも同じ CLI を実行します)。3つ目のバイナリ ecz-id-mcp-server は、MCP stdio サーバーを起動します。

オプション
フラグデフォルト説明
--target(必須)URL、パッケージ、リポジトリ、イメージ、または ECZ-ID。
--target-typeautomcp_server | agent_manifest | api_url | github_repo | npm_package | pypi_package | container_image | ecz_id | auto
--policyOPENOPEN | PREFER | REQUIRE
--operatorunknownself | third_party | unknown(自動推定は行われません)。
--jsonオンJSON 出力を出力します。
--reportオフ人間が読みやすいソフトレポートを出力します。
--actionsオフJSON 出力にアクションエンベロープを含めます。
--resolver-basehttps://resolver.ecocitizenz.orgリゾルバーのベース URL を上書きします。
--trustops-urlhttps://trustops.ecocitizenz.com/startTrustOps の URL を上書きします。
--developer-basehttps://developers.ecocitizenz.comDeveloper Gateway を上書きします。
--offlineオフオフラインモード(ネットワークなし)。
--no-networkオフ--offline と同じです。
--timeout-ms試行ごとに 10000試行ごとの検索タイムアウト(ms)。合計32秒の予算内で最大3回試行します。値を低く設定すると、Core が起動直後の場合に、正常なレコードが利用不可として報告されることがあります。
--output <path>stdout出力をファイルに書き込みます。
--sarif <path>オフ最小限の SARIF 2.1.0 ファイルも書き込みます。
--capabilities機械可読な機能プロファイル(JSON)を出力して終了します。
--print-mcp-configすぐに貼り付けられる MCP ホスト設定(JSON)を出力して終了します。
--doctorローカルのセルフテストを実行します(ネットワーク不要、シークレット不要)。人間向けの出力には --report を追加します。
--versionバージョンを出力して終了します。
--helpヘルプを出力して終了します。
CLI の使用例
# Offline classification + JSON output
ecz-mcp-verify --target "ECZ-GB-A93K7Q" --offline

# REQUIRE policy with action envelope
ecz-mcp-verify --target "https://api.example.com/.well-known/ecz-mcp.json" \
  --policy REQUIRE --actions

# Human-readable soft report
ecz-mcp-verify --target "https://github.com/org/repo" --report

# Write JSON + SARIF files for CI
ecz-mcp-verify --target "ECZ-GB-A93K7Q" --output result.json --sarif result.sarif
セルフテスト、機能、MCP 設定

セットアップと統合をすばやく行える、決定的なオフラインヘルパーが3つあります。いずれもターゲット、ネットワーク呼び出し、シークレットは不要です。

# Confirm a healthy install (no network, no secret):
ecz-id-mcp-verifier --doctor

# Print the machine-readable capability profile (what it does and does not do):
ecz-id-mcp-verifier --capabilities

# Print a ready-to-paste MCP host configuration:
ecz-id-mcp-verifier --print-mcp-config

--capabilities は、サポートされるターゲットタイプ、結果の状態、出力、終了コード、MCP ツール、プライバシーに関する方針、明示的なスコープフラグ(artifact_binding_performed: false、manifest_inspection_performed: false、runtime_protocol_inspection_performed: false、local_policy_decides: true)を含む、安定した capability_profile(ecz-resolver-posture-v1)を返します。これは、このツールを正確に説明する、エージェントが読み取り可能な情報です。

オペレーターのモード

--operator は自動推定されません。呼び出し元は、ターゲットを運用する立場なのか、第三者として閲覧する立場なのかを宣言します。検証ツールは、案内の振り分け(オペレーターには TrustOps、第三者の閲覧者には Developer Gateway)のみにこの情報を使用します。

# You operate the target -> routes to TrustOps setup.
ecz-mcp-verify --target "https://api.example.com/.well-known/ecz-mcp.json" \
  --operator self --actions

# You are a third party reader -> routes to Developer Gateway guidance.
ecz-mcp-verify --target "https://api.example.com/.well-known/ecz-mcp.json" \
  --operator third_party --actions

ポリシーモード

モード公開証明が見つからない場合不一致/失効/停止/有効期限切れ
OPEN情報提供のみ、終了コード 0決定論的なゼロ以外の終了コード
PREFERstderr に警告、終了コード 0決定論的なゼロ以外の終了コード
REQUIREフェイルクローズ(終了コード 1、ネットワーク障害の場合は終了コード 5)決定論的なゼロ以外の終了コード

判断するのはローカルポリシーです。検証ツールはグローバルなゲートを強制しません。

結果状態と理由コード

RESOLVER_VERIFIABLE、NO_PUBLIC_RESOLVER_PROOF_FOUND、DEGRADED、MISMATCH、EXPIRED、SUSPENDED、REVOKED、NOT_APPLICABLE、UNSUPPORTED_TARGET など、18 個の正規の result_state 値があります。HTTP 200 だけでは決して証明になりません。明示的に有効/最新である Resolver の投影だけが RESOLVER_VERIFIABLE になります。不正な形式、不明なスキーマ、対象との不一致、取り消し、停止、有効期限切れ、古い情報、または不正使用フラグ付きの本文は、決定論的に肯定的でない状態に分類され、証明としてキャッシュされることはありません。

理由コードは大文字のスネークケースです(例:NO_PUBLIC_RESOLVER_PROOF_FOUND、RESOLVER_READ_ONLY、RESOLVER_RESPONSE_UNVERIFIABLE、PULSEGUARD_STALE、LOCAL_POLICY_DECIDES)。ecz_explain_result(MCP)を使用するか、ライブラリからエクスポートされた正規の一覧を参照してください。

終了コード

コード意味
0OK/情報提供/Resolver で検証可能/OPEN で証明なし
1REQUIRE でポリシー上必要な証明がない、または未解決
2決定論的な不一致
3取り消し/停止/有効期限切れ
4未対応の対象または無効な入力
5ポリシー上フェイルクローズが必要な場合のネットワーク/タイムアウトエラー
6内部検証ツールエラー

機械可読出力

デフォルトの出力は JSON です(上記の代表的な結果を参照)。主なフィールド:schema_version、verifier、verifier_version、target、target_type、policy_mode、result_state、reason_codes、resolver_url、machine_json_url、trustops_action_url、developer_guidance_url、境界フラグ(local_policy_decides、recheck_before_reliance、no_safety_or_approval_inference、no_source_uploaded、no_secrets_uploaded、no_telemetry)、timestamp、exit_code。

  • --sarif <path> は、コードスキャン用の最小限の SARIF 2.1.0 ファイルも書き出します。
  • --actions は action_envelope を追加します(ルーティング/ガイダンスのメタデータのみで、証明の権威ではありません)。

Node ライブラリ

import { verify, RESULT_STATES, REASON_CODES } from "@ecocitizenz/ecz-id-mcp-verifier";

const result = await verify({ target: "ECZ-GB-A93K7Q", policy: "OPEN", noNetwork: true });
console.log(result.result_state, result.reason_codes);

パッケージのインポートによる副作用はありません。CLI が実行されたり、インポート時にネットワークリクエストが行われたりすることはありません。正規の RESULT_STATES、REASON_CODES、終了コード定数、結果型がインテグレーター向けにエクスポートされています。

MCP stdio サーバー

パッケージには、正規の検証コアにすべて処理を委譲する、読み取り専用の stdio 経由 MCP サーバーが含まれています。ツールはちょうど 3 つです。起動に必要なシークレットや環境変数はなく、情報を書き込むことも、リモートトランスポートを公開することもありません。ecz-id-mcp-verifier --print-mcp-config を実行すると、ホスト用の以下のブロックが出力されます。

ツール目的
ecz_check_target対象を分類し、正規の結果コントラクトを返します。
ecz_recheck_resolver公開されている Resolver の状態を読み取り専用で再確認します(GET のみ)。
ecz_explain_result既存の result_state/reason_codes を安全に公開できる形で説明します。
MCP ホストの設定

MCP ホストに追加します(例:mcpServers ブロック)。インストール済み/グローバルのバイナリを使用する場合:

{
  "mcpServers": {
    "ecz-id": {
      "command": "ecz-id-mcp-server",
      "args": []
    }
  }
}

グローバルインストールせずに npx を使う場合:

{
  "mcpServers": {
    "ecz-id": {
      "command": "npx",
      "args": ["-y", "-p", "@ecocitizenz/ecz-id-mcp-verifier", "ecz-id-mcp-server"]
    }
  }
}

これはローカル stdioでの使用です。Official MCP Registry は別の検出経路であり、Registry での検出はECZ-ID の証明ではありません。証明は公開 Resolver によってのみ得られます。

Official MCP Registry(検出)

Official MCP Registry では io.github.Ecocitizenz/ecz-id-mcp-verifier として検出できます:

Registry での検出は ECZ-ID の証明ではありません。依拠する前に、公開 Resolver で再確認してください。

GitHub Action

このリポジトリには、同じ CLI をラップする node24 アクションが含まれています。

name: ECZ-ID MCP Verifier
on: [push]

# Minimum recommended permissions. The Action only reads and reports — it never
# writes to the repository, opens PRs/issues, or needs any write scope.
permissions:
  contents: read

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: Ecocitizenz/[email protected]
        with:
          target: "ECZ-CC-ABC123"
          target-type: "ecz_id"
          policy: "PREFER"
          resolver-base: "https://resolver.ecocitizenz.org"
          no-network: "false"
          # timeout-ms: left unset so the bounded-retry defaults apply

出力:result-state、reason-codes、action-envelope-json、setup-handoff-json、mcp-action-envelope-json、request-to-resolve-json、primary-action、trustops-action-url、developer-guidance-url。この Action は簡潔な GitHub ステップサマリーも書き込みます。

最小権限: contents: read。このアクションはソースをアップロードしません。シークレットをアップロードしません。真実を書き込みません。リポジトリを変更したり、PR や issue を開いたりしません。TrustOps checkout を呼び出しません。公開チェックに ECZ-ID トークンは必要ありません。

オフラインモード

--offline(別名 --no-network)は、ネットワーク呼び出しなしで決定論的な分類とルーティングを行います。Resolver の検索はスキップされ、ECZ-ID はすべて NO_PUBLIC_RESOLVER_PROOF_FOUND として報告されます(検証ツールが証明を捏造することはありません)。エアギャップ環境の CI や、分類とルーティングだけが必要な場合はオフラインモードを使用してください。

人間向けレポート

人間向けレポートでは、承認済みのソフトコピーのみを使用します。公開 Resolver の証明が見つからない場合、検証ツールは次の文言をそのまま出力します:

この MCP ターゲットの公開 Resolver の証明は、まだ見つかっていません。これは、ターゲットが安全でないことを意味するものではありません。ECZ-ID が、責任を負う運用者について機械可読な公開証明を見つけられなかったことを意味します。どのような対応を取るかは、お客様のローカルポリシーに従ってください。

続いて、運用者への案内が表示されます:

このサーバーを運用していますか?Resolver の状態を改善してください:https://trustops.ecocitizenz.com/start

最後に、次の注意書きが表示されます:「依拠する前に再確認してください。」「判断はローカルポリシーに従ってください。」ターゲットを運用していない場合は、Resolver に関する案内を運用者と共有してください。

トラブルシューティング

  • 出力がありませんか? npx @ecocitizenz/ecz-id-mcp-verifier --doctor を実行して、インストールが正常であることを確認してください。各コマンドは JSON(または --report を指定した場合はレポート)を出力し、決定論的な終了コードを返します。
  • UNSUPPORTED_TARGET(終了コード 4): ターゲットが空、空白を含む、または形式が正しくない ECZ-ID です。ターゲットを引用符で囲み、サポート対象の形式を示す表を確認してください。
  • オフライン時に REQUIRE が終了コード 1 を返す: 想定どおりです。公開証明が確認できない場合、REQUIRE は安全側に倒して失敗します。情報提供のみの実行では OPEN/PREFER を使用するか、--offline を外してください。
  • ECZ-ID 以外のターゲットで resolver_url: null が表示される: 想定どおりです。Resolver で解決できるのは ECZ-ID のみです。それ以外の形式は分類とルーティングの対象であり、解決されません。
  • REQUIRE でネットワークエラーが発生する: 終了コードは 5 です。検索では、応答の遅い Core や一時的に応答しない Core に対して、32 秒の制限時間内に最大 3 回まで再試行します。そのため、ここで失敗した場合は、制限時間全体にわたって Core が利用できなかったことを意味します。Core の応答がそれより遅い場合に限り --timeout-ms を引き上げてください。または --offline を実行してください。利用不可という結果は、決してその ID に対する判断ではありません。

公開ルート

  • リゾルバー(公開証明): https://resolver.ecocitizenz.org
  • 開発者ゲートウェイ(ドキュメント/統合): https://developers.ecocitizenz.com
  • TrustOps(運用者向けセットアップ): https://trustops.ecocitizenz.com/start
  • 正規のマシン検出先: https://machine.ecocitizenz.org/.well-known/ecz-machine.json(エージェントとマシン向けの読み取り専用ポインターです。検出専用であり、証明には使用しません)

セットアップが必要な場合、検証ツールは運用者を TrustOps に誘導します。セットアップ自体は行いません。ドキュメントやガイダンスが必要な場合は、開発者ゲートウェイに誘導します。検証ツールはリゾルバーから GET のみを行い、HTTPS を必須とし、2xx 以外の応答は証明がないものとして扱います。証明を捏造することはなく、POST、PUT、PATCH、DELETE も行いません。

対象を運用している場合、TrustOps がセットアップとセキュリティ態勢の改善を案内します。検証ツールの実行に購入は必要ありません。また、第三者に ECZ-ID の購入を求めることもありません。公開証明がないからといって「安全でない」という意味にはなりません。判断はローカルポリシーに委ねられます。

役割分担

コンポーネント担当範囲この検証ツールができること
Backend / Core真実を書き込むことです。書き込みは一切行いません。
Resolver公開証明を提示することです。読み取りのみ(GET)です。
TrustOpsセットアップ、取得、ライフサイクルです。ユーザーを誘導します。
Developer Gateway開発者への説明と誘導です。ユーザーを誘導します。
MCP Verifierローカルチェック、レポート、誘導です。これらを行います。

Backend が最終的な権限を持ちます。判断はローカルポリシーに委ねられます。この検証ツールは真実を書き込みません。

認証/安全性/承認/コンプライアンス/保険に関する主張は行いません

この検証ツールは、対象が信頼できる、リスクが低い、認可されている、保険に加入している、またはレジストリ、プラットフォーム、規制当局から推奨されていると主張しません。対象について、安全性、認証、承認、コンプライアンスに関する主張は行いません。すべてのレポートには、依拠する前に再確認すること、判断はローカルポリシーに委ねられること、Backend が最終的な権限を持つことを記載します。

ECZ-ID 形式

厳密に有効な識別子のみが ecz_id として分類され、Resolver URL が構築され、検索が実行されます。不正な識別子はサポート対象外または無効なターゲットとして報告され、Resolver リクエストは発行されません。

形式テンプレート例
親(オペレーター)ECZ-CC-XXXXXXECZ-GB-A93K7Q
子(パスポートインスタンス)ECZ-CC-XXXXXX::PASSPORT_CODE-YYYYYYECZ-GB-A93K7Q::AGENT-4F9Q2A
  • CC は大文字アルファベット2文字(オペレーターの国/クラスコード)です。
  • XXXXXX と YYYYYY は、それぞれ大文字のBase36文字(0-9A-Z)6文字ちょうどです。
  • PASSPORT_CODE は、以下の33個の公開パスポート番号コードのいずれかです。ハイフンを含めることができ、6文字のインスタンスサフィックスは最後のハイフンで切り分けます。これらの公開コードのみが有効です。その他の識別子や廃止されたコードは、有効な公開子コードではありません。

Resolver のルート:親は …/p/{parent} に解決され、子は …/p/{parent}/{passport_code}/{instance_suffix} に解決されます。

公開パスポート番号コード(33個)
#パスポート公開コード
1エージェント認証情報AGENT
2サイバーレジリエンスCYBER
3API パスポートAPI
4AI モデルAI
5データセットDATASET
6IoT デバイスIOT
7ソフトウェアサプライチェーンSSCM
8製品PRODUCT
9保管移転CUSTODY
10リスクポリシーRISKPOL
11産業用ロボットROBOT-IND
12公共空間ロボットROBOT-PUB
13家庭用ロボットROBOT-DOM
14ロボットタクシーROBOTAXI
15自動運転車AUTO-CAR
16自動運転運搬トラックAUTO-TRUCK
17越境運搬トラックXHAUL
18高価値貨物トラックHV-CARGO
19D1 ドローンD1-DRONE
20D2 ドローンD2-DRONE
21D3 ドローンD3-DRONE
22D4 ドローンD4-DRONE
23複合一貫輸送移転INTERMODAL
24産業施設IND-SITE
25重要インフラCRITICAL-INFRA
26金融当局・資金フローFUNDS-FLOW
27船舶MARINE-VESSEL
28貨物コンテナCARGO-CONTAINER
29航空機AIRCRAFT
30航空機部品AVIATION-COMP
31プラットフォームのセーフハーバーSAFE-HARBOUR
32アイデンティティの継続性ID-CONTINUITY
33ライセンスを受けたインフラオペレーターLIC-INFRA

公開されているパスポート名とコードのみを表示しています。子の machine_json_url は null です(子のマシンエンドポイントは実証されていません)。親のマシン投影 …/api/p/{parent}.json は読み取り専用です。

セキュリティと責任ある開示

脆弱性の疑いがある場合は、リポジトリのGitHub Security タブから非公開で報告してください — https://github.com/Ecocitizenz/ecz-id-mcp-verifier/security(Report a vulnerability/非公開アドバイザリを使用)。セキュリティ報告を公開課題として投稿しないでください。影響を受けるバージョンと再現手順を記載してください。 docs/PRIVACY.md と docs/ROLE_SPLIT.md も参照してください。

サポートとアンインストール

  • サポート/課題: https://github.com/Ecocitizenz/ecz-id-mcp-verifier/issues
  • アンインストール: npm uninstall -g @ecocitizenz/ecz-id-mcp-verifier(グローバルインストールの場合)を実行するか、プロジェクトから削除して node_modules を削除してください。GitHub Action の場合は、uses: ステップを削除してください。バックグラウンドサービス、デーモン、キャッシュされた認証情報は残りません。

再現可能なバージョン固定

通常のインストールでは最新リリースが使用されます。再現性が必要な場合に限り、正確なリリースを固定してください。

npm install @ecocitizenz/[email protected]
npx @ecocitizenz/[email protected] --doctor

公開状況

  • npm: @ecocitizenz/ecz-id-mcp-verifier は公開レジストリで公開されており、通常の npm install(または npx)では最新リリースが使用されます。
  • GitHub Action: GitHub Actions Marketplace で Ecocitizenz/[email protected] として公開されています。
  • 信頼された公開: npm のリリースでは、GitHub の npm-release 環境を通じて、公開されたプロベナンスを伴う保護された OIDC 信頼済み公開を使用します。正規の Git リモート(https://github.com/Ecocitizenz/ecz-id-mcp-verifier.git)が設定されており、package.json の repository/bugs URL はこの URL と完全に一致しています。
  • 公開済みのパッケージバージョンと Action のリリースタグは変更できません。

ライセンス

公式の未変更のパッケージと付属の GitHub Action は、ECZ-ID Proprietary Limited-Use License(LICENSE.md)のもと、永久に無料です。個人利用、組織での利用、開発、CI/CD、社内業務で、無料でインストールして実行できます。

これはオープンソースではありません。ソースが公開されていること(透明性の確保やインストールのため)によって、再配布、変更、派生物の作成、競合製品の開発の権利が付与されることはありません。LICENSE.md をご確認ください。

バックエンドが真実を書き込みます。TrustOps がセットアップを担当します。Resolver が証明します。マシンが再確認します。

コメント

MCP は初めてですか?

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

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