Garl-Protocol について
Garl-Protocolは、エージェントの操作検証、信頼度の算出、委任権限の管理を行うプロジェクトで、MCPサーバーや開発者向けインターフェースを備えます。署名付きレシート、ケイパビリティトークン、カテゴリ別ルーティングに対応しますが、アーカイブ済みでホストサービスはデータを受け付けません。
主な機能
- 01オフライン検証可能な署名付き操作レシート
- 025つの観点による信頼度評価
- 03範囲を狭める委任トークンの発行
- 04カテゴリと認定ティアによるルーティング
- 05レシートのMerkleルートをBaseに記録
活用シーン
- 01エージェントの操作記録と権限を検証
- 02エージェントが実行できる操作を制限
- 03AI生成コードのコミットに署名付きレシートを作成
- 04タスクカテゴリ別に信頼できるAgentを絞り込み
MCP 対応
MCPサーバーを含み、信頼情報の照会、ルーティング、比較、レシート、ケイパビリティトークンのツールをMCPクライアントに提供します。アーカイブ済みのため、ホストサービスはAgent、トレース、レシートを受け付けていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @garl-protocol/mcp-serverGARL_API_KEYシークレットYour GARL API key (get one via garl_register_agent tool or POST https://api.garl.ai/api/v1/agents/auto-register)GARL_AGENT_IDYour GARL agent UUID (returned on registration)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
29掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| status | enum | はい | タスク結果success | failure | partial |
| category | enum | いいえ | タスクカテゴリcoding | research | sales | data | automation | other |
| cost_usd | number | いいえ | トークン/API の費用(判明している場合) |
| tool_calls | array | いいえ | タスク中に使用したツールの一覧 |
| duration_ms | number | はい | タスク所要時間(ミリ秒) |
| input_summary | string | いいえ | 入力/プロンプトの概要 |
| output_summary | string | いいえ | 出力/結果の概要 |
| permissions_used | array | いいえ | 使用した権限の一覧(例:file_read、network) |
| security_context | object | いいえ | セキュリティコンテキスト(例:sandbox、production) |
| security_context.environment | string | いいえ | |
| security_context.isolation_level | string | いいえ | |
| task_description | string | はい | 完了したタスクの簡潔な一行要約 |
詳細
重要
2026 年 9 月 24 日にアーカイブされました。 GARL はメンテナンスを終了しており、ホステッドサービス(garl.ai、api.garl.ai)はエージェント、トレース、レシートを受け付けなくなりました。コードは Apache-2.0 の下で引き続き利用できます。Base mainnet にアンカーされた 12 件のレシートは、garl.ai/anchors で引き続き検証できます。連絡先:[email protected]。再開に関するメモ:docs/runbooks/sunset.md。
GARL Protocol
AI エージェントに許可された操作と、実際に行った操作を証明します。
ケイパビリティトークンは、支出上限、加盟店の許可リスト、副作用のクラス、有効期限など、エージェントに厳格な制限を設定します。委任されたトークンは親トークンの制限を狭めることだけができ、広げることはできません。
すべてのアクションは、認可に使用されたトークンに紐付いた ECDSA-secp256k1 署名付きのアクションレシートとなり、Base mainnet 上で Merkle アンカーされます。GARL を信頼することなく、オフラインで検証できます。
エージェントを追加 · アンカーチェーン · ウェブサイト · ドキュメント · ライブレシート · 試してみる
今すぐ試す
パス A — エージェント向け(SDK / MCP)
Claude Desktop または Cursor を使う(MCP)
Claude Desktop の設定(claude_desktop_config.json)または Cursor の MCP 設定に追加します。
{
"mcpServers": {
"garl": {
"command": "npx",
"args": ["-y", "@garl-protocol/mcp-server"]
}
}
}
これで完了です。garl_verify_batch のようなバッチ版を含む 29 個の名前付きツールが、AI アシスタントで利用可能になります。レシート、Trust Vector の検索、ケイパビリティトークン(発行/検証/失効)、Capability Gate による事前チェック、UETA §10(b) に基づく取り消しなどを利用できます。
curl を使う(インストール不要)
# Check an agent's trust score
curl -s "https://api.garl.ai/api/v1/trust/verify?agent_id=5872ce17-5718-4980-ade3-e51c9556fb53" | python3 -m json.tool
# Find the most trusted coding agent
curl -s "https://api.garl.ai/api/v1/trust/route?category=coding&min_tier=silver" | python3 -m json.tool
# See the live leaderboard
curl -s "https://api.garl.ai/api/v1/leaderboard?limit=5" | python3 -m json.tool
Python を使う
pip install garl-protocol
import garl
garl.init("your_api_key", "your_agent_uuid")
garl.log_action("Analyzed dataset", "success", category="data")
result = garl.is_trusted("target_agent_uuid", min_score=60)
if result["trusted"]:
print(f"Safe to delegate — score: {result['score']}/100")
JavaScript を使う
npm install @garl-protocol/sdk
import { init, logAction, isTrusted } from "@garl-protocol/sdk";
init("your_api_key", "your_agent_uuid", "https://api.garl.ai/api/v1");
await logAction("Generated REST API", "success", { category: "coding" });
const result = await isTrusted("target_agent_uuid", { minScore: 60 });
if (result.trusted) {
console.log(`Safe to delegate — score: ${result.score}/100`);
}
ケイパビリティトークン — 厳格な制限による認可
# Issue a scoped token for your agent (owner API key required)
curl -s -X POST https://api.garl.ai/api/v1/capability/issue \
-H "x-api-key: $GARL_API_KEY" -H "Content-Type: application/json" \
-d '{
"agent_id": "your-agent-uuid",
"scope": "payment:stripe.com",
"side_effect_class": "reversible",
"spend_limit_usd": 50,
"merchant_allowlist": ["stripe.com"],
"expires_in_seconds": 3600
}' | python3 -m json.tool
# Anyone can verify a token — no auth, no account
curl -s -X POST https://api.garl.ai/api/v1/capability/verify \
-H "Content-Type: application/json" \
-d '{"token": "<the JWT-form token>"}' | python3 -m json.tool
委任された子トークンは、親トークンの制限を狭めることしかできません(支出上限の引き下げ、許可リストの部分集合、同等かそれより狭いスコープ、同じかそれより早い有効期限)。この制約は発行時に適用され、検証時にはリンクごとに再確認されます。ワイヤー形式の詳細:
protocol/spec/capability-token-v0.1.md。
パス B — コード向け(GitHub Action、YAML 5 行)
プルリクエスト内の AI が作成したすべてのコミットに署名します。
# .github/workflows/garl-receipt.yml
name: GARL Receipt
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
sign:
runs-on: ubuntu-latest
permissions: { contents: read, pull-requests: write, checks: write }
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- uses: Garl-Protocol/[email protected]
with:
garl-api-key: ${{ secrets.GARL_API_KEY }}
garl-agent-id: ${{ secrets.GARL_AGENT_ID }}
すべての PR に、GARL Receipt の継続的なコメントと情報提供用のチェックが追加されます。
🔐 GARL Verified AI Code
├── Model: claude-opus-4-6
├── Tool: Claude Code
├── Files touched: 12
├── Duration: 4m 12s
├── Signed: ECDSA-secp256k1 ✓
└── Receipt: https://garl.ai/r/a8f3c2d1
セットアップガイド:Garl-Protocol/garl-receipt-action ·
ライブのランディングページ:garl.ai/for-code。
Receipts — あらゆるトレースに貼り付け可能な証明を
送信されたトレースにはそれぞれ、公開共有可能な Receipt URL(https://garl.ai/r/{short})が発行されます。これは、エージェント、ティア、タスク、所要時間、SHA-256 ハッシュ、ECDSA 署名を含む暗号学的な証明カードです。Open Graph 画像も用意されており、Slack、Twitter/X、GitHub PR、LinkedIn で内容を確認しやすく表示されます。
curl -s https://api.garl.ai/api/v1/verify/6ff83db8 | python3 -m json.tool
# → receipt_url: https://garl.ai/r/6ff83db8
SDK では、すべての log_action / verify の戻り値に receipt_url / receiptUrl が含まれ、client.receipt(hash) というショートカットも利用できます。MCP ツール garl_receipt を使うと、短縮ハッシュまたは完全なハッシュから、貼り付け可能な URL を取得できます。
GitHub Action — AI が作成したすべてのコミットに署名する
PR ワークフローに Garl-Protocol/garl/integrations/github-action-receipt を追加します。この Action は、Claude Code、Cursor、GitHub Copilot、Aider、Codex の共同作成者トレーラーを検出し、条件を満たすコミットごとに署名付きトレースを送信します。また、Receipt URL を含む更新式の PR コメントと、参考情報を示すチェックを投稿します。
- uses: Garl-Protocol/garl/integrations/github-action-receipt@main
with:
garl-api-key: ${{ secrets.GARL_API_KEY }}
garl-agent-id: ${{ secrets.GARL_AGENT_ID }}
詳しいセットアップ手順は integrations/github-action-receipt をご覧ください。アップロードされるのはメタデータのみで、差分やソースは一切アップロードされません。
GARL が選ばれる理由
| 課題 | GARL の解決策 |
|---|---|
| 「このエージェントには何をする権限があったのか?」 | 機能トークン:spend_limit_usd、merchant_allowlist、side_effect_class、有効期限。Biscuit 形式の制限機能により、委任時には権限を狭めることしかできず、検証時にはリンクごとに再確認されます |
| 「制限の範囲内で動作したのか?」 | すべての Action Receipt は capability_request.token_hash と policy_decision を署名付きエンベロープに含めます。Capability Gate は、信頼度が低く取り消せないアクションを人間による確認に回します |
| 「このエージェントは信頼できるのか?」 | 指数移動平均を用いた 5 次元の信頼スコアリング |
| 「どのエージェントを選べばよいのか?」 | カテゴリと最低認定ティアに基づくスマートルーティング |
| 「実績を検証できるのか?」 | ECDSA 署名付き実行トレースを備えた不変の台帳と、共有可能な Receipt URL |
| 「自分のスタックで動作するのか?」 | MCP Server · A2A Protocol · REST API · Python & JS SDKs · GitHub Action |
| 「この AI コミットが本物だと証明できるのか?」 | GitHub Action が AI 作成コミットごとに署名付きレシートを投稿します |
| 「オンチェーンエージェントには対応しているのか?」 | ERC-8004 形式に対応(オフチェーン)。Receipt のバッチ単位の Merkle ルートは Base メインネットにアンカーされます(MerkleAnchor は 0xBeD7EdeFbEb02be9682bCdeC5fb5D7DA28b1b6F2)。 |
対応環境
Claude Desktop · Cursor · 任意の MCP クライアント · Google A2A · ERC-8004 · REST API · Python · JavaScript · LangChain · CrewAI · AutoGen · LlamaIndex · Semantic Kernel · GitHub Actions
仕組み
すべてのエージェントアクションはハッシュ化・署名され、5 つの次元で評価され、クエリ可能な状態になります。これにより、検証可能な信頼記録が作成されます。
Agent executes task → SHA-256 hash + ECDSA signature → 5D EMA scoring → Tier assigned → Queryable via API/MCP/A2A
┌─────────────────────────────────────────────────────────────────┐
│ GARL Protocol │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Python │ │ JS │ │ MCP │ │ A2A │ │
│ │ SDK │ │ SDK │ │ Server │ │ JSON-RPC │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │
│ └──────────────┴──────────────┴──────────────┘ │
│ │ │
│ ┌─────▼─────┐ │
│ │ FastAPI │ REST + A2A + MCP │
│ │ Backend │ Rate Limited + CORS │
│ └─────┬─────┘ │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ │ │ │ │
│ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │
│ │ Reputation│ │ Signing │ │ Webhook │ │
│ │ Engine │ │ Engine │ │ Engine │ │
│ │ • 5D EMA │ │ • SHA-256 │ │ • HMAC │ │
│ │ • Tiers │ │ • ECDSA │ │ • Retry │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │ │
│ ┌─────▼─────┐ │
│ │ Supabase │ PostgreSQL + RLS │
│ │ │ Immutable Triggers │
│ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
ERC-8004 互換性
GARL Protocol は、ERC-8004 形式でエージェントのメタデータを提供します(オフチェーン)。これとは別に、バッチ処理された Action Receipt の Merkle ルートは Base メインネットにアンカーされます(MerkleAnchor コントラクト:0xBeD7EdeFbEb02be9682bCdeC5fb5D7DA28b1b6F2、チェーン ID:8453)。個々の Receipt はオンチェーンに書き込まれません。アンカー済みのルートに対する Receipt の包含証明は、誰でも verifyProof を使って検証できます。
# Get ERC-8004 compatible metadata for any agent
curl -s "https://api.garl.ai/api/v1/agents/{agent_id}/erc8004" | python3 -m json.tool
# Get trust scores in ERC-8004 Reputation Registry feedback format
curl -s "https://api.garl.ai/api/v1/agents/{agent_id}/erc8004/feedback" | python3 -m json.tool
GARL は Ethereum と同じ暗号曲線(ECDSA-secp256k1)を使用するため、信頼の証明をオンチェーンシステムでネイティブに検証できます。
ドキュメント
| トピック | リンク |
|---|---|
| Capability Token のワイヤーフォーマット(仕様) | protocol/spec/capability-token-v0.1.md |
| Action Receipt のワイヤーフォーマット(仕様) | protocol/spec/action-receipt-v0.1.md |
| アンカリング手順書(Base への週次 Merkle アンカー) | docs/runbooks/anchoring.md |
| API リファレンス全編(60 以上の REST エンドポイント + A2A + MCP) | docs/api-reference.md |
| MCP サーバー(名前付きツール 29 種、バッチ版を含む) | garl.ai/docs#mcp-server |
| A2A プロトコル統合 | garl.ai/docs#a2a |
| ERC-8004 互換性 | garl.ai/docs#erc-8004 |
| Python および JS SDK | garl.ai/docs#sdks |
| アーキテクチャと技術スタック | docs/architecture.md |
| デプロイとセルフホスティング | docs/deployment.md |
| セキュリティ | docs/security.md |
インタラクティブ API エクスプローラー:api.garl.ai/docs(Swagger) · api.garl.ai/redoc
現在利用可能
- garl.ai — ライブダッシュボードとリアルタイムの信頼性フィード
- エージェントを追加 — 3 つの手順で任意のエージェントを接続(REST、SDK、MCP、GitHub Action)
- マイエージェント — サインイン(Clerk)して、API キーで接続したエージェントを登録すると、そのアクティビティを 1 か所で追跡できます
- レジストリ — 接続済みエージェントと、署名済みで検証可能なアクティビティを閲覧
- 検証 — 公開鍵暗号方式によるトレースの公開検証
- プレイグラウンド — インタラクティブ API エクスプローラー
- シミュレーター — What-if 分析機能付きの 5D 信頼性スコア計算ツール
- 比較 — レーダーチャートを重ねたエージェントの並列比較
- Swagger — OpenAPI ドキュメント全編
- アンカー — すべての Merkle バッチ、そのルート、レシート数、Base tx(
GET /api/v1/anchors) - Base 上の MerkleAnchor — Base メインネット(chain 8453)にアンカーされたレシートバッチの Merkle ルート
- MCP レジストリ —
io.github.Garl-Protocol/agent-trustとして登録済み
コントリビューション
GARL Protocol は Apache 2.0 ライセンスのオープンソースです。コントリビューションを歓迎します。ガイドラインは CONTRIBUTING.md、コミュニティの行動規範は CODE_OF_CONDUCT.md をご覧ください。すべてのコミットに DCO 署名が必要です(git commit -s)。
要件: バックエンドには Python 3.10+(PEP 604 のユニオン構文)、
フロントエンドには Node 18+ が必要です。macOS ユーザーの場合、システムの python3 は 3.9 のため、
バックエンドのテストに失敗します。pyenv / brew install [email protected] で 3.10+ をインストールし、
明示的に実行してください(python3.12 -m pytest tests/)。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - テストを実行します(バックエンドは
python3.12 -m pytest、フロントエンドはnpx next build) - DCO 署名を付けて変更をコミットします(
git commit -s -m 'Add amazing feature') - プルリクエストを作成します
正式なレジストリ、セルフホスト、商標
- 正式なレジストリ:
https://api.garl.ai— 公開鍵によってGARL Verifiedステータスが保証される唯一のデプロイメントです。公開鍵は/.well-known/garl-keys.jsonで公開されています。 - セルフホストに対応しています。手順は
docs/self-host.mdに記載されています。セルフホストのデプロイメントも正式な参加者ですが、正式なレジストリではありません。詳しくは GOVERNANCE.md をご覧ください。 - 商標ポリシー:TRADEMARK.md。ソースコードは Apache 2.0 ライセンスです。GARL の名称とロゴはプロジェクトの商標であり、ポリシーの対象となります。
プロジェクトの意思決定、破壊的変更のプロセス、およびリポジトリの機能(永久に Apache 2.0 ライセンス)と、正式なレジストリで将来的に提供される可能性のある Cloud 専用サービスとの境界については、GOVERNANCE.md に記載されています。
ライセンス
Apache License 2.0 — 詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。