Skip to main content
Glama

Redeem a promo code

redeem_code

Redeem a promo code: it raises this account's free-review allowance to the code's own figure (it never lowers what the account already has). Call it when the user hands you a code or an invite link – either works here, send it through untouched, the code is extracted server-side. Sources, cheapest first: the file ~/.ohmybug/invite that an invite link writes during install, then the user in chat. Never invent one. A live invite to a team that is open to any login is not redeemed here: the answer names the team, and the user joins on their account page.

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": {
      "code": "<code>"
    },
    "name": "redeem_code"
  }
}

Input Schema

NameRequiredDescriptionDefault
codeYesThe promo code, or the whole invite link that carries it (…/?promo=CODE), exactly as the user gave it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: it discloses the mutation's effect and its monotonic guarantee (raises, never lowers), that code extraction happens server-side so the input can be passed through untouched, and the divergent outcome for open team invites. It does not cover idempotency (redeeming the same code twice), what an invalid or expired code returns, or any auth requirement, so it falls short of full disclosure.

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-loads the effect before the usage rules, then closes with the exclusion, which is the right order for a mutating tool. It is dense and slightly run-on with the colon-and-parenthetical stacking, but no sentence is filler and the imperative tone is easy to follow.

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 one-parameter mutation with no output schema, the description supplies the effect, the source hierarchy, the safety prohibition, and the key edge case. The remaining gap is return/error behavior — it hints that 'the answer names the team' in the invite case but says nothing about success confirmation or failure modes for a bad code.

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 100% and the single parameter's schema text already says it accepts the code or the whole invite link exactly as given, so the description's 'either works here, send it through untouched' largely restates it. The added detail is the server-side extraction rationale, which explains why no client-side parsing is needed — useful, but marginal against a fully documented parameter.

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 ('Redeem a promo code') plus the precise effect: raising the account's free-review allowance to the code's own figure, never lowering it. That effect statement alone separates it from every sibling (get_balance, submit_review, confirm_findings, etc.), none of which touch allowances.

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

Usage Guidelines5/5

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

Explicit trigger ('when the user hands you a code or an invite link'), an ordered source priority (the ~/.ohmybug/invite file first, then the user in chat), a hard prohibition ('Never invent one'), and a stated exclusion where a team invite open to any login is handled on the account page instead. This is close to a complete decision procedure.

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.