Skip to main content
Glama

Register agent key

request_agent_key

Optional. Issues a key that identifies this agent; quotes made with it (get_quote agentKey) and their orders use the agent fee (swapper://trust). The operator sees the name and contact given.

Input Schema

NameRequiredDescriptionDefault
detailNo
contactNoOptional; stored, shown to the operator.
purposeNoOptional; stored, shown to the operator.
agentNameNoDefault: the MCP client's name (clientInfo).

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
nextYes
errorNo
keyIdNo
stateNo
agentKeyNo
operationYes
feePercentNo
userMessageNo
standardFeePercentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / agentName / description
      Previous value: -"Default: your client's name."New value: +"Default: the MCP client's name (clientInfo)."
    • addedInput schema / properties / contact / description
      Added value: +"Optional; stored, shown to the operator."
    • addedInput schema / properties / purpose / description
      Added value: +"Optional; stored, shown to the operator."
    • removedInput schema / properties / referredBy
      Removed value: -{
      -  "description": "Referral code of the agent that sent you.",
      -  "pattern": "^ref_[a-f0-9]{10}$",
      -  "type": "string"
      -}
    • removedOutput schema / properties / referralCode
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / welcome
      Removed value: -{
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
  2. Changed3 schema fields changed
    • addedInput schema / properties / referredBy
      Added value: +{
      +  "description": "Referral code of the agent that sent you.",
      +  "pattern": "^ref_[a-f0-9]{10}$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / referralCode
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / welcome
      Added value: +{
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  3. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the write/non-idempotent/open-world profile, and the description adds genuinely new disclosure: the operator sees the name and contact supplied, and the key carries pricing consequences downstream. It does not clarify whether repeated calls mint multiple keys (relevant given idempotentHint=false) or how long a key lives, which keeps it off a 5.

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?

Two tight sentences, with the crucial 'Optional.' qualifier front-loaded before the mechanism. The parenthetical 'swapper://trust' is internal jargon that costs a little comprehension, otherwise there is no waste.

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

Completeness3/5

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

The output schema covers return values and the annotations cover the write profile, so the remaining burden is modest. Still, the 'detail' enum is opaque, key persistence/non-idempotency is unaddressed, and the description never says whether registering is a prerequisite for anything or purely a pricing/identity optimization.

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

Parameters3/5

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

Schema description coverage is 75%, so the baseline is 3. The description adds meaning to agentName and contact by stating the operator sees them, but it says nothing about 'detail' (lean vs full), the one enum parameter that is undocumented in both the schema and the description.

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

Purpose4/5

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

States a concrete verb and resource ('issues a key that identifies this agent') and immediately explains the key's effect: quotes made with it (get_quote agentKey) and their orders use the agent fee. That distinguishes it from every sibling, none of which mint an identity key. It stops just short of 5 because 'request' vs 'issues' and the scope of what the key unlocks are only sketched.

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

Usage Guidelines3/5

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

'Optional.' plus the get_quote agentKey linkage implies when it matters: use it if you want agent-fee pricing and operator visibility. However there is no explicit when-to-use/when-not guidance, no prerequisites, and no statement of what you lose by skipping it, so usage must be inferred.

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.

Resources