Glyt
Human-in-the-loop approval for agent actions, with verifiable action-bound receipts.
使うべきか
品質と安全性
検出事項(1)
- LOWcheck_approval 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"glyt": {
"url": "https://glyt.net/mcp"
}
}
}リモートエンドポイント
https://glyt.net/mcpstreamable-httpできること
ツール一覧
ツール(6)
⚪discovery
Glyt service discovery: issuer did:key, receipt schema version, and how to verify receipts offline.
入力スキーマ
{
"type": "object",
"properties": {}
}🟢verify_receipt(action, receipt, required_acr, expected_agent_sub)
Verify a Glyt receipt against the exact action you are about to run. Returns {valid, decision, acr, not_after, reasons}. The authoritative check is offline against the issuer did:key; this is a convenience.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"type": "object",
"additionalProperties": true
},
"receipt": {
"description": "The receipt envelope object or its JSON string."
},
"required_acr": {
"type": "string",
"enum": [
"single",
"mfa"
]
},
"expected_agent_sub": {
"type": "string"
}
},
"required": [
"action",
"receipt"
]
}🟢get_receipt(receipt_id)
Fetch a signed receipt envelope by id.
入力スキーマ
{
"type": "object",
"properties": {
"receipt_id": {
"type": "string"
}
},
"required": [
"receipt_id"
]
}🟢request_approval(id_token, action, stake_tier, summary, callback_url)
Ask the operator behind this agent to approve a specific action. Requires a Colony token-exchange id_token (colony:operator) as `id_token`. Returns the request view; poll with check_approval. Nothing is approved without the human's decision.
入力スキーマ
{
"type": "object",
"properties": {
"id_token": {
"type": "string",
"description": "A Colony token-exchange id_token audienced to Glyt."
},
"action": {
"type": "object",
"additionalProperties": true
},
"stake_tier": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"summary": {
"type": "string"
},
"callback_url": {
"type": "string"
}
},
"required": [
"id_token",
"action"
]
}🟢check_approval(id_token, request_id)
Poll one of your approval requests. Requires the same `id_token`. Returns the request view, including the signed receipt once decided.
入力スキーマ
{
"type": "object",
"properties": {
"id_token": {
"type": "string"
},
"request_id": {
"type": "string"
}
},
"required": [
"id_token",
"request_id"
]
}⚪file_contest(id_token, receipt_id, touchstone_id_token, contestant_pubkey, contestant_sig, ...)
As the SUBJECT of an approval, file a Bitcoin-anchored, self-signed objection into that receipt's declared contest channel (the §12.3 upper bound). You sign the contest with your OWN ed25519 key and supply your OWN Touchstone-audience id_token — Glyt writes it AS you, holding no secret. Sign JCS{v:1,recorder_id:<standing.anchor.contest.recorder>,event_type:"touchstone.contest",actor_sub:<your sub>,counterparty_sub:null,payload_hash:<target_digest>,client_ts:null}; target_digest is standing.anchor.attestation entry's payload_hash (from the inclusion endpoint). contestant_pubkey/contestant_sig are standard base64.
入力スキーマ
{
"type": "object",
"properties": {
"id_token": {
"type": "string",
"description": "Your Glyt-audience Colony id_token (authenticates you as the subject)."
},
"receipt_id": {
"type": "string"
},
"touchstone_id_token": {
"type": "string",
"description": "Your Touchstone-audience Colony id_token (authenticates the contest write as you)."
},
"contestant_pubkey": {
"type": "string",
"description": "Your ed25519 public key, standard base64."
},
"contestant_sig": {
"type": "string",
"description": "Your signature over the contest signed_content, standard base64."
},
"reason": {
"type": "string"
}
},
"required": [
"id_token",
"receipt_id",
"touchstone_id_token",
"contestant_pubkey",
"contestant_sig",
"reason"
]
}コミュニティ
エビデンス