Skip to main content
Glama

Revoke Token

revoke_token
Destructive

Revoke a token and its whole subtree at once.

Callable by the token itself, any ancestor, or a human. Leases the subtree
held go back to the board; with taint_writes_since, everything the subtree
wrote since then is tainted and the taint follows references downstream.
keep_self=true takes back only what the token delegated (every generation
below it) and leaves the token itself working: pass your own token_id to
end all your delegations in one call.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "token_id": "<token_id>",
      "reason": "<reason>"
    },
    "name": "revoke_token"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonYes
token_idYes
keep_selfNo
idempotency_keyNoOptional. Retries with the same key and arguments within 24 h replay the first result (replayed=true) without a second write; a different body with the same key is idempotency_key_reused.
taint_writes_sinceNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive=true, but the description adds real consequences an agent could not infer: leases in the subtree return to the board and taint propagates downstream through references. It also spells out the non-obvious keep_self behavior, which is the main way to misuse this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the mechanics, then the keep_self edge case — a sensible ordering with minimal repetition. The phrase 'leases the subtree held go back to the board' is slightly compressed, and 'at once' plus 'in one call' say roughly the same thing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with an output schema present, the description covers authorization, subtree effects, taint propagation, and the keep_self branch. The remaining gap is the required 'reason' parameter, which is undescribed in both schema and description, but that is minor relative to the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 20%, so the description must carry the load — and it does for the two ambiguous parameters: keep_self (take back only delegated generations, leaving the token working) and taint_writes_since (taint everything written since that point, following references). token_id is partially covered by the self-revocation example; 'reason' remains undocumented anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus its blast radius: 'Revoke a token and its whole subtree at once.' That scope statement distinguishes it from renew_token, rotate_token_secret, and revoke_share without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete caller eligibility ('Callable by the token itself, any ancestor, or a human') and a clear recipe for the self-revocation case ('pass your own token_id to end all your delegations in one call'). It does not name exclusions or point at sibling alternatives for narrower operations, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.