revoke_api_key
Permanently revoke an API key belonging to the signed-in person. Cannot be undone. Requires an OAuth 2.1 user access token.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key_id | Yes | The key id to revoke, not the secret. |
Permanently revoke an API key belonging to the signed-in person. Cannot be undone. Requires an OAuth 2.1 user access token.
| Name | Required | Description | Default |
|---|---|---|---|
| key_id | Yes | The key id to revoke, not the secret. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint and idempotentHint, so the description need not repeat those. It adds value by explicitly stating the revocation is permanent, cannot be undone, and requires a specific OAuth token type, which goes beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the purpose, irreversibility, and auth requirement with no filler or repetition. The key action is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation with annotations covering idempotency and destructiveness, the description covers purpose, scope, permanence, and auth requirements. A minor gap is that no return value or success confirmation is described, but this is not critical for such a focused operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter is 100%, with key_id already described as 'not the secret.' The description adds no additional parameter-level detail, so the baseline of 3 applies because the schema fully handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('revoke'), a precise resource ('API key'), and a clear scope ('belonging to the signed-in person'). This clearly distinguishes it from related tools like create_api_key without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting irreversibility and requiring an OAuth 2.1 user access token, but it does not explicitly state when to use this tool versus alternatives such as create_api_key or any conditions for not using it. The guidance is present but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The set contains several near-neighbor groups: deprecated aliases duplicate live tools, and docs/billing/financial tools have fuzzy boundaries. Individual descriptions are detailed and resolve most collisions, but matching the right tool among 39 still requires care.
Most tools follow a sensible verb_object style, but the transcribe_* group is inconsistent: transcribe_url/transcribe_upload are verb_object, while transcribe_status/transcribe_cancel/transcribe_delete are really status/cancel/delete operations renamed with a transcribe prefix. The deprecated transcription_status/transcription_url aliases add another naming convention, so the pattern is not reliable across the set.
39 tools is well over the 25+ threshold and creates an overwhelmingly broad surface spanning account management, billing, docs, API jobs, library organization, meeting bots, and automations. Two deprecated duplicates inflate the count further. This would be more coherent split into separate servers or at least pruned of deprecated aliases.
Core API transcription lifecycle is covered, and the library/meeting-bot flows have search, tagging, moving, and audio retrieval. However, there is no user-library deletion/rename, no OAuth-side full-transcript access, local upload is non-functional over the hosted endpoint, and webhook management is documented but not exposed as tools. These gaps force agents to work around missing operations.