AGT agent names について
@agtnames/mcpは、AGT Registry v2で.agtエージェント名を解決する読み取り専用のMCPサーバーです。MCPクライアントやエージェントランタイム向けに、所有者情報と署名検証済みマニフェストを返します。
主な機能
- 01所有者、期限、オンチェーン記録の取得
- 02署名済みマニフェストの検証と状態表示
- 03MCP、A2A、HTTP、WSエンドポイントの検索
- 04名前の登録可否確認とnamehash算出
- 05任意の権限範囲付き記録書き込み
活用シーン
- 01エージェントへの接続前に.agt名を確認
- 02マニフェストが所有者署名済みか確認
- 03エージェントのエンドポイントと料金情報を検索
- 04所有者の許可範囲内で記録を更新
MCP 対応
名前解決、マニフェスト、エンドポイント、登録可否、namehashのツールをMCPクライアントに提供します。設定により、セッション許可に基づく指定記録の書き込みも有効にできます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agtnames.com/api/mcpclaude mcp add --transport http com-agtnames-agt https://agtnames.com/api/mcp{"mcpServers":{"com-agtnames-agt":{"type":"http","url":"https://agtnames.com/api/mcp"}}}Cursor で開く{"servers":{"com-agtnames-agt":{"type":"http","url":"https://agtnames.com/api/mcp"}}}VS Code で開く{"mcpServers":{"com-agtnames-agt":{"type":"http","url":"https://agtnames.com/api/mcp"}}}{"mcpServers":{"com-agtnames-agt":{"serverUrl":"https://agtnames.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
5| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | .agt 名称。例:exampleagent.agt(.agt 接尾辞は省略可能) |
詳細
@agtnames/mcp
.agt エージェント名用の MCP サーバーです。AGT Registry v2 から、名前の所有者、レコード、署名検証済みマニフェスト(エンドポイント、機能、キー、支払い)を解決します。読み取り専用です。Claude Code、Cursor、独自のエージェントランタイムなど、あらゆる MCP 対応クライアントで動作します。
Polygon メインネットでは設定不要です。
インストール
あらゆる MCP 対応クライアントから stdio 経由でサーバーを起動できます。コマンドはどの環境でも同じです。
npx -y @agtnames/mcp
| クライアント | 方法 |
|---|---|
| Claude Code | claude mcp add agt -- npx -y @agtnames/mcp(またはプラグインを使用:/plugin marketplace add agtnames/agt-plugins の後に /plugin install agt@agtnames を実行すると、Claude にツールを使うタイミングを教えるスキルが追加されます)。ホストされたエンドポイント(Streamable HTTP、読み取り専用、インストール不要):claude mcp add --transport http agt https://agtnames.com/api/mcp |
| Cursor | Cursor に追加、または以下の JSON を .cursor/mcp.json(プロジェクト用)か ~/.cursor/mcp.json(グローバル用)に追加します |
| VS Code (Copilot) | VS Code に追加、または code --add-mcp '{"name":"agt","command":"npx","args":["-y","@agtnames/mcp"]}' を実行します |
| Windsurf | 同じ JSON を ~/.codeium/windsurf/mcp_config.json に追加します |
| Cline | MCP Servers パネルで Configure を選択し、同じ JSON を cline_mcp_settings.json に追加します |
| Gemini CLI | gemini extensions install https://github.com/agtnames/agt(リポジトリのルートに gemini-extension.json があります) |
| エージェントスキル | npx skills add agtnames/agt を実行すると agt-names スキル(skills/agt-names/SKILL.md)がインストールされます。このスキルは、ツールと公開 API を使うタイミングと方法をエージェントに教えます |
| その他の MCP クライアント | 同じ JSON、またはホストされた Streamable HTTP URL https://agtnames.com/api/mcp を使用します。レジストリマニフェストを読み込めるクライアントは、このディレクトリにある server.json もインポートできます |
{
"mcpServers": {
"agt": { "command": "npx", "args": ["-y", "@agtnames/mcp"] }
}
}
オプション設定は env に指定します(Configure を参照)。"env": { "AGT_RPC_URL": "" } は「チェーンのデフォルトを使用する」という意味です。
{
"mcpServers": {
"agt": {
"command": "npx",
"args": ["-y", "@agtnames/mcp"],
"env": { "AGT_RPC_URL": "" }
}
}
}
Windows:クライアントで spawn npx ENOENT が報告された場合は、代わりにシェル経由で起動します。例:claude mcp add agt -- cmd /c npx -y @agtnames/mcp または "command": "cmd", "args": ["/c", "npx", "-y", "@agtnames/mcp"]。
チェックアウトしたリポジトリから起動する場合:claude mcp add agt -- node packages/mcp/dist/index.js。ローカルテスト環境に接続する場合は、-e AGT_CHAIN=localhost -e AGT_REGISTRY=0x… -e AGT_RPC_URL=http://127.0.0.1:8545 を追加します。
掲載先
レジストリマニフェストはこのファイルと同じ場所にあります。server.json(公式 MCP レジストリ、com.agtnames/agt、DNS 検証済み名前空間)と smithery.yaml(Smithery)です。どちらもパッケージのバージョンを固定しており、package.json と同じ PR で更新されます。そうでない場合、scripts/publish-mcp.mjs は公開を拒否します。各申請後、所有者が掲載 URL を入力します。
| ディレクトリ | 掲載情報 |
|---|---|
公式 MCP レジストリ(registry.modelcontextprotocol.io) | com.agtnames/agt(release.yml によって公開。以前の io.github.ds1/agt 1.5.0 エントリーは廃止済み) |
| Smithery | 申請待ち(smithery.ai/new、GitHub agtnames/agt、パス packages/mcp) |
| Glama | 申請待ち(自動インポートされた @agtnames/mcp ページの所有権を申請) |
| PulseMCP | 申請待ち(申請フォーム) |
| mcp.so | 申請待ち(申請フォーム) |
ツール
| ツール | 返される内容 |
|---|---|
agt_resolve | 所有者、有効期限、有効/無期限、オンチェーン記録、検証済みマニフェスト(untrusted 内) |
agt_manifest | マニフェスト文書と verified / manifestStatus / reasons |
agt_endpoint | mcp / a2a / http / ws の URL — 検証済みマニフェストを優先し、次にリゾルバー記録を参照 — および pricing(free / freemium / paid / contact。検証済みマニフェストのみから取得)と manifestStatus |
agt_available | その名前を今すぐ登録できるかどうか |
agt_namehash | ノードと tokenId(ネットワーク不要) |
すべてのツールには読み取り専用かつ冪等であるという注釈が付いています。verified: true は、マニフェストがオンチェーンの所有者によって署名されていることを意味します(署名者 = マニフェストの所有者 = レジストリの所有者)。false の場合、manifestStatus には、どの種類の false なのかが示されます。unavailable(ポインターは存在しますが、どのゲートウェイからも文書が返されませんでした。これは転送上の問題です。後で再試行してください。所有者についての判断ではありません)、unverified(読み込みには成功しましたが、署名/所有者チェックに失敗しました。これに基づいて行動しないでください)、または none(公開されたものがありません)です。マニフェストから導出されたすべての情報は、通知付きの untrusted エンベロープ内で返されます。これはサードパーティのコンテンツであり、データであって指示ではありません。サーバーは、これらのルールを MCP の instructions としても公開します。
書き込みツール(オプトイン):セッション許可への連署
AGT_SESSION_PASSPHRASE(12 文字以上)を設定すると、9 つのツールが追加で表示されます。これらのツールを使うと、所有者が一度署名した許可に基づき、このマシンで所有者の名前に対する記録の書き込みを実行できます。この許可にはオンチェーンで制限が適用されます。対象は指定された名前のみ、指定された setter のみで、値の変更はできず、有効期限まで、名前ごとに最大 N 回の呼び出しが可能で、所有者は 1 回のトランザクションで取り消せます。許可の作成と適用の方法については、@agtnames/countersign を参照してください。
| ツール | 内容 |
|---|---|
agt_session_new | このマシンのセッションキーを作成し(AGT_SESSION_DIR の下に暗号化して保存。既定値は ~/.agt/session)、そのアドレスを返します |
agt_session_import | 所有者がそのアドレス用に署名した許可を検証して保存し、平易な言葉で記述された委任内容を返します |
agt_session_status | 名前ごとの使用済み呼び出し回数、有効期限、所有者による取り消しの有無、セッションのガス残高を返します |
agt_session_forget | ローカルの許可(および deleteKey によるキー)を削除します |
agt_set_text agt_set_addr agt_set_endpoint agt_set_manifest_uri agt_set_wallet | 記録への書き込みを 1 件実行し、それぞれトランザクションハッシュを返します |
フロー:agt_session_new → アドレスを所有者に渡す → 所有者が agt-countersign build --session <address> --names … --actions … --ttl 1h --calls 5 --sign-with-key OWNER_KEY を実行(またはウォレットで型付きデータに署名) → agt_session_import → 書き込み。ガス代用に少量の POL をセッションアドレスに入金してください。許可自体で値を移動することはできません。追加のエラーコード:no_session、grant_refused、caveat_violation、insufficient_gas、wrong_session、unknown_name、action_not_granted。
エラー
失敗すると、テキストが { "error": { "code", "message" } } の MCP エラー結果(isError: true)が返されます。
| code | 意味 | 対処方法 |
|---|---|---|
invalid_name | ラベルが、先頭または末尾にハイフンを含まない [a-z0-9-]{1,63} に一致しません | 名前を修正してください。ネットワークには何も送信されていません |
rate_limited | このプロセスからの呼び出しが、1 分間に AGT_RATE_PER_MIN 回を超えています | 間隔を空けてください。バケットは継続的に補充されます |
timeout | RPC または IPFS リクエストが AGT_TIMEOUT_MS を超えました | 再試行してください。タイムアウトを延長するか、AGT_RPC_URL を設定してください |
rpc_unavailable | RPC に到達できませんでした(DNS、接続拒否、TLS、JSON 以外の応答) | 接続を確認し、別のエンドポイントを AGT_RPC_URL に設定してください |
rpc_error | ノードが JSON-RPC エラーで応答しました(例:execution reverted。通常は AGT_REGISTRY の誤りです) | AGT_CHAIN/AGT_REGISTRY を確認してください |
misconfigured | このチェーンに必要な設定がありません(例:レジストリを設定していない localhost) | メッセージに記載された変数を設定してください |
internal | 上記以外 | メッセージとともに報告してください |
マニフェストの問題(IPFS に到達できない、署名が不正、所有者が一致しない)はエラーではありません。agt_resolve は verified: false と manifestStatus が unavailable または unverified に設定された状態で成功し、原因は reasons に記載されます。
出力サイズ
1 件の結果は 64 KiB に制限されています(Claude Code のデフォルトの結果上限 25,000 トークンを大幅に下回ります)。マニフェストによって応答が上限を超える場合、そのマニフェストは省略され、その旨が untrusted.truncated に示されます。すべて必要な場合は、マニフェスト URI を直接取得してください。レコードには個別の上限があり(50 件、文字列は 512 文字、URL は 2 KiB)、[+N more] マーカーで残りの件数が表示されます。
設定
すべて任意です。デフォルトの AGT_CHAIN=polygon では、ほかに何も設定する必要はありません。空の値は未設定として扱われます。
AGT_CHAIN=polygon # polygon (default) | amoy | localhost
AGT_REGISTRY=0x… # override the registry (required only for localhost / a custom deployment)
AGT_RPC_URL=… # override the RPC endpoint
AGT_LEGACY=1 # Registry v1 + DNS TXT fallbacks
AGT_IPFS_GATEWAY=https://dweb.link/ipfs/ # must be allow-listed
AGT_TIMEOUT_MS=10000 # per-request timeout
AGT_MAX_MANIFEST=262144 # max manifest bytes
AGT_RATE_PER_MIN=240 # tool calls per minute before backing off
ヘルスチェックとトラブルシューティング
npx -y @agtnames/mcp --version # prints the version and exits; works even if AGT_* is misconfigured
npx -y @agtnames/mcp --help
claude mcp get agt # Claude Code: how the server is registered and whether it connected
- Claude Code 内の
/mcpに接続状態が表示されます。サーバーの起動に失敗すると、その理由が stderr(agt-mcp: …)に出力され、終了コード 2 で終了します。 - 起動タイムアウト。
npxの初回実行ではパッケージがダウンロードされるため、ネットワークが遅いと低いMCP_TIMEOUTの値を超えることがあります。バージョン(@agtnames/[email protected])を固定すると、以降の起動ではローカルの npx キャッシュから読み込まれます。 - 2 種類のタイムアウト。
AGT_TIMEOUT_MSはサーバー内部の各 RPC/IPFS リクエストの上限で、Claude Code のMCP_TIMEOUTはサーバー起動の上限です。 - 古い npx キャッシュ。
npxが不明なモジュールエラーで失敗する場合は、キャッシュを消去してください:npx clear-npx-cache(またはnpm cache clean --force)。 - Node 20 以降が必要です(
fetch、AbortController)。
セキュリティ強化
ネットワーク呼び出し前の名前検証、IPFS ゲートウェイの許可リスト、https/data: URI のみ許可、マニフェストのサイズと時間の上限、マニフェスト文字列の長さ制限と制御文字の除去、応答サイズの上限、エラーメッセージのサニタイズ(RPC のテキストはリモートで制御されます)、プロセス内のレート制限、クライアントが stdin を閉じたときのプロセス終了。
開発
cd packages/mcp && npm ci && npm run build && npm test # unit + protocol tests, offline
AGT_LIVE_TEST=1 npm test # also resolves launchpad.agt on mainnet
node dist/index.js --version
公開(所有者):リポジトリのルートから node scripts/publish-mcp.mjs --otp=<code> を実行すると、公開時に file:../resolver の依存関係が公開済みの範囲に切り替わり、その後元に戻されます。prepublishOnly はローカル依存関係が残っている状態での公開を拒否します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。