manifestlens について
manifestlensは、エージェントやAPI運営者向けのAgent Manifest Protocolクライアントです。APIマニフェストの検出と検証、操作権限の確認に加え、公開レジストリへの登録と状態確認ができます。
主な機能
- 01規定のパスからマニフェストを検出
- 02マニフェストの構造を検証
- 03操作の権限を確認
- 04AMPレジストリにAPIを登録
- 05登録状況を確認
活用シーン
- 01APIが公開するマニフェストの確認
- 02予定するAPI呼び出しの権限確認
- 03公開前のマニフェスト検証
- 04APIを登録して状況を追跡
MCP 対応
Agent Manifest Protocolの検出、検証、権限確認、レジストリ操作をMCPクライアント向けのツールとして提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | この呼び出しの対象となるドメイン。 |
詳細
manifestlens
エージェントが利用できるようにしたい API は、Agent Manifest を公開します。これは、その API の概要、エージェントが呼び出せるエンドポイント、 適用される制約を記述した小さな JSON ドキュメントです。manifestlens は、この Agent Manifest Protocol のクライアントです。オリジンの既知の場所からマニフェストを検出し、マニフェストの 形式を検証し、オリジンを公開 AMP レジストリに登録して申請状況を追跡します。そして、 各呼び出しの前に確認する価値がある機能として、手元のマニフェストで予定している操作が 実際に許可されているかを判定します。
API キーは一切不要です。マニフェストの確認とレジストリはどちらも公開されており、 2 つのローカルツールがマシンの外に出ることはありません。
設定
AMP_REGISTRY_BASE_URL(任意)— レジストリツールのベース URL です。デフォルトはhttps://api.agent-manifest.comです。AMP_FETCH_TIMEOUT_MS(任意)— マニフェストの取得に適用されるタイムアウトです。デフォルトは15000です。
ツール
fetch_manifest_by_domain—domain(ホスト名のみ、またはスキームとパスを除去した URL)を受け取り、https://<host>配下の/.well-known/agent-manifest.json、/.well-known/amp.json、/agent-manifest.jsonの順にリクエストし、 最初に応答したマニフェストを、該当するmanifest_url、origin、tried_urlsリストとともに返します。応答がない場合は、no AMP manifest found for <host> (tried 3 URLs)で失敗します。validate_manifest_syntax— オブジェクトまたは JSON 文字列として渡されたマニフェストを検証します。 以下で説明する AMP スキーマの構造的なサブセットを適用し、成功トークンamp-schema-valid:<spec_version>:<name>とともにvalid: trueを返すか、 パスとメッセージからなるエラー一覧とともにvalid: falseを返します。JSON として 解析できない文字列はツールエラーではなく、検証失敗になります。submit_api_to_amp_registry—domainのオリジンをレジストリの申請エンドポイント (POST /listings/submit)に送信し、レジストリの JSON 応答を変更せずに返します。check_amp_submission_status—GET /listings/submit/<submission_id>/statusをポーリングし、 レジストリの JSON 応答を変更せずに返します。check_agent_permissions—POST /baking/validate-mixのようなaction、manifest、および任意のブール値intends_unauthenticatedとpayment_onboarded(どちらもデフォルトは false)を受け取ります。verdictはcompliant、violation、warning、unknownのいずれかで、 構造化されたfindingsと、宣言済みのルートが一致した場合はmatched_endpointも返します。検出コードには、endpoint_not_declared(一致する 宣言済みルートがない)、auth_required(ルートで認証が必要だが、操作では未認証での実行が 意図されている)、payment_onboarding(ルートまたはマニフェストで支払い条件が宣言されているが、 オンボーディングが完了していない)、agent_notes_usage_restriction(マニフェストのagent_notesに「do not」や「only for」などの制限表現が含まれている)があります。 宣言済みルートでは{id}形式のテンプレートセグメントを使用でき、任意の単一パスセグメントに 一致します。
レジストリの失敗には、次の 2 つの形式があります。2xx 以外の応答では
amp registry error: HTTP <status> で失敗し、レジストリに接続できない場合は
amp registry unreachable で失敗します。引数の検証はリクエストの前に行われ、該当する場合は
domain must be a non-empty string、manifest must be an object or a JSON string、
submission_id must be a non-empty string、action must be a non-empty string、
または manifest must be an object で失敗します。
サブセットと再構成とは
このビルドの3つの部分には、ここでもコード内でも、意図的に次のラベルを付けています。
- 検証サブセット。 公式のAMP JSON
Schema全体は参照可能な記録に含まれていないため、検証では、文書化されている構造上のサブセットを実装しています。値はJSONオブジェクトであること、
spec_versionはagentmanifest-0.2またはagentmanifest-0.3であること、nameは 空でない文字列であること、そしてendpointsが指定されている場合は、文字列のpath、url、またはrouteをそれぞれ含むオブジェクトの配列であることが必要です。 - 送信の入力と本文。 元のツールの送信入力はREADMEに記載されていません。manifestlensは
{domain}を受け取り、{"origin": "https://<host>"}を送信します。これは再構成です。 - 権限ルールの仕組み。 上記の判定結果と検出コードは文書化されていますが、それらを生成する正確な照合方法と優先順位の仕組みは再構成です。検出コードのうち2つはローカル拡張です。
unparseable_action(アクションがHTTPメソッドで始まっていない)とno_endpoints_declared(マニフェストに読み取り可能なエンドポイントがまったく含まれていない)です。どちらの判定結果もunknownです。
CLI
各ツールは、1つのJSON引数文字列を受け取るサブコマンドです。
npx @reneturcios/manifestlens fetch_manifest_by_domain '{"domain":"api.example.com"}'
npx @reneturcios/manifestlens validate_manifest_syntax '{"manifest":{"spec_version":"agentmanifest-0.3","name":"My API"}}'
npx @reneturcios/manifestlens submit_api_to_amp_registry '{"domain":"api.example.com"}'
npx @reneturcios/manifestlens check_amp_submission_status '{"submission_id":"sub_123"}'
npx @reneturcios/manifestlens check_agent_permissions '{"action":"POST /baking/validate-mix","manifest":{"endpoints":[{"method":"POST","path":"/baking/validate-mix"}]}}'
npx @reneturcios/manifestlens --version
出力はツールの結果テキストです。終了コード:成功時は0、実行時エラー(検証エラーや上流の障害を含む)時は1、使用方法のエラー時は2です。
MCP サーバー
npx -y @reneturcios/manifestlens mcp
MCP クライアントの設定:
{
"mcpServers": {
"manifestlens": {
"command": "npx",
"args": ["-y", "@reneturcios/manifestlens", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/manifestlens
docker run --rm ghcr.io/cloudcorprecords/manifestlens fetch_manifest_by_domain '{"domain":"api.example.com"}'
開発
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
ライセンス
MIT — Copyright (c) 2026 Rene Turcios
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。