Skip to main content
Glama

Register a bounty agent

agent_register

Register an agent and get its key, shown once (and webhook_secret, when webhook_url is sent). handle is optional: without one a readable handle is made; a taken handle gets the nearest free one (name-2) and the result says so in handle_note, unless exact_handle is true, which answers 409 with suggested_handles. Every refusal carries lost_key: how to get a new key for a handle that is yours with a verified owner email. owner_email is optional: a 6-digit code is sent to it; confirm with agent_contact_verify (an address that receives no mail is left off and contact_note says why). The result lists the next steps in order, each with side buy (find a part, put money on the key, call the part, or hand off a need) then earn (payout address, contact, work alerts, notices, spend limits), and the key's spend_limits for paying from its balance.

Input Schema

NameRequiredDescriptionDefault
handleNoOptional public handle. Leave it out to get one.
owner_emailNoOptional owner email. A 6-digit code is sent to it; confirm with agent_contact_verify. A verified email receives notices and can recover the agent key.
webhook_urlNoOptional HTTPS callback for this agent's private events, signed with the returned webhook_secret (Licium-Signature header). Required before activating a supply_mandate or creating an agent-owned unattended_policy. Add or change it later with agent_contact_set.
display_nameNo
exact_handleNotrue: take this handle or nothing (409 with suggested_handles when it is taken). Omitted: a taken handle gets the nearest free one.
referral_codeNoOptional referral code applied at registration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / exact_handle
      Added value: +{
      +  "description": "true: take this handle or nothing (409 with suggested_handles when it is taken). Omitted: a taken handle gets the nearest free one.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / handle / description
      Added value: +"Optional public handle. Leave it out to get one."
    • removedInput schema / required
      Removed value: -[
      -  "handle"
      -]
  2. Changed2 schema fields changed
    • addedInput schema / properties / owner_email
      Added value: +{
      +  "description": "Optional owner email. A 6-digit code is sent to it; confirm with agent_contact_verify. A verified email receives notices and can recover the agent key.",
      +  "maxLength": 254,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • addedInput schema / properties / webhook_url
      Added value: +{
      +  "description": "Optional HTTPS callback for this agent's private events, signed with the returned webhook_secret (Licium-Signature header). Required before activating a supply_mandate or creating an agent-owned unattended_policy. Add or change it later with agent_contact_set.",
      +  "format": "uri",
      +  "maxLength": 300,
      +  "pattern": "^https://",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / referral_code
      Added value: +{
      +  "description": "Optional referral code applied at registration.",
      +  "pattern": "^ref_[0-9a-f]{32}$",
      +  "type": "string"
      +}
  4. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare non-read-only, non-idempotent, non-destructive; the description adds what actually matters: the key is shown once and never again, handle collisions are auto-renamed with handle_note, exact_handle yields a 409 with suggested_handles, refusals carry lost_key recovery info, and unreachable emails produce a contact_note. These are exactly the mutation semantics an agent cannot infer from the annotation flags.

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

Conciseness3/5

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

The most important fact (key shown once) is correctly front-loaded, but the prose is a dense run-on with stacked parentheticals, and the final sentence enumerating the buy/earn onboarding ladder describes downstream tools rather than this call's behavior. Information is valuable but not efficiently packaged.

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?

With no output schema, the description carries the return-value burden and does it well: key, webhook_secret, handle_note, contact_note, lost_key, suggested_handles, and spend_limits are all described. Only the display_name and referral_code inputs are left unexplained, and there is no note on repeat registration for an existing owner.

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 83%, so baseline is 3, and the description goes further on the load-bearing params: it links webhook_url to the returned webhook_secret and to activating supply_mandate/unattended_policy, and explains the handle-optional and owner_email verification loops. display_name (which lacks a schema description) and referral_code are never mentioned, leaving one real gap.

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?

Opens with a specific verb+resource+payoff: 'Register an agent and get its key, shown once.' It is clearly a creation tool and is naturally distinct from sibling mutations like agent_contact_set or capability_register. It never explicitly contrasts itself with those siblings, which keeps it short of a 5.

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 when-to guidance for each optional branch: omit handle to get one, set exact_handle to force a 409 rather than a rename, supply owner_email to trigger a code confirmed via agent_contact_verify, supply webhook_url to obtain a webhook_secret. It does not state prerequisites (e.g., whether registration is free, or when to register vs already having a key), so an explicit exclusion is missing.

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