Human-in-the-loop approval for agent actions, with verifiable action-bound receipts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Poll one of your approval requests. Requires the same `id_token`. Returns the request view, including the signed receipt once decided.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Poll one of your approval requests. Requires the same `id_token`. Returns the request view, including the signed receipt once decided.
| Argument | Type | Description |
|---|---|---|
| id_token* | string | |
| request_id* | string |
{
"type": "object",
"required": [
"id_token",
"request_id"
],
"properties": {
"id_token": {
"type": "string"
},
"request_id": {
"type": "string"
}
}
}Glyt service discovery: issuer did:key, receipt schema version, and how to verify receipts offline.
No arguments.
{
"type": "object",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| reason* | string | |
| id_token* | string | Your Glyt-audience Colony id_token (authenticates you as the subject). |
| receipt_id* | string | |
| contestant_sig* | string | Your signature over the contest signed_content, standard base64. |
| contestant_pubkey* | string | Your ed25519 public key, standard base64. |
| touchstone_id_token* | string | Your Touchstone-audience Colony id_token (authenticates the contest write as you). |
Fetch a signed receipt envelope by id.
| Argument | Type | Description |
|---|---|---|
| receipt_id* | string |
{
"type": "object",
"required": [
"receipt_id"
],
"properties": {
"receipt_id": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| action* | object | |
| summary | string | |
| id_token* | string | A Colony token-exchange id_token audienced to Glyt. |
| stake_tier | string | |
| callback_url | string |
{
"type": "object",
"required": [
"id_token",
"action"
],
"properties": {
"action": {
"type": "object",
"additionalProperties": true
},
"summary": {
"type": "string"
},
"id_token": {
"type": "string",
"description": "A Colony token-exchange id_token audienced to Glyt."
},
"stake_tier": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"callback_url": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| action* | object | |
| receipt* | any | The receipt envelope object or its JSON string. |
| required_acr | string | |
| expected_agent_sub | string |
{
"type": "object",
"required": [
"action",
"receipt"
],
"properties": {
"action": {
"type": "object",
"additionalProperties": true
},
"receipt": {
"description": "The receipt envelope object or its JSON string."
},
"required_acr": {
"enum": [
"single",
"mfa"
],
"type": "string"
},
"expected_agent_sub": {
"type": "string"
}
}
}{
"type": "object",
"required": [
"id_token",
"receipt_id",
"touchstone_id_token",
"contestant_pubkey",
"contestant_sig",
"reason"
],
"properties": {
"reason": {
"type": "string"
},
"id_token": {
"type": "string",
"description": "Your Glyt-audience Colony id_token (authenticates you as the subject)."
},
"receipt_id": {
"type": "string"
},
"contestant_sig": {
"type": "string",
"description": "Your signature over the contest signed_content, standard base64."
},
"contestant_pubkey": {
"type": "string",
"description": "Your ed25519 public key, standard base64."
},
"touchstone_id_token": {
"type": "string",
"description": "Your Touchstone-audience Colony id_token (authenticates the contest write as you)."
}
}
}