Skip to main content
Glama

Claim a booth's swag

booth_claim_swag
Idempotent

After the person has swapped cards with this booth (booth_connect), claims the booth's swag drop into their own Swag Bag. Pass eventId and boothId as booth_connect was given them. Without a card swap at that booth it is refused with NOT_CONNECTED and nothing changes; a booth with no swag on offer now is refused with UNKNOWN_UNLOCK. Swag already in their bag is not claimed twice: the reply says already. Returns ok, the drop's id, done and a sentence for the person. Needs a personal connector token. It works in two steps: a call with no confirm returns a confirmToken and changes nothing; a call with confirm true and that token applies it.

Input Schema

NameRequiredDescriptionDefault
boothIdYesThe booth id, as booth_connect was given it.
confirmNoAbsent on the first call, which changes nothing. true, together with confirmToken, applies it.
eventIdYesThe event id or public slug the booth is at.
confirmTokenNoThe token the first call returned. Needed when confirm is true.

Output Schema

NameRequiredDescriptionDefault
idNo
okNo
codeNo
doneNo
editNo
kindNo
boothNo
errorNo
titleNo
alreadyNo
messageNo
previewNo
servedByNo
confirmTokenNo
expiresInSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and the description is consistent with all of them (the 'not claimed twice' line matches idempotentHint). It adds useful context beyond them — the connector-token requirement, the two-step dry-run/confirm flow, and the fact that an unconfirmed call changes nothing. However, it spends several sentences restating return fields (ok, id, done) that the output schema already covers, so the incremental behavioral disclosure is good but partly pad.

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 action and its prerequisite, then refusal modes, then return shape, then auth, then the two-step flow — a sensible ordering. It is slightly run-on in the middle (two refusal clauses and an 'already' clause chained with semicolons), and the return-value sentence duplicates the output schema.

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

Completeness5/5

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

For a mutating, two-phase, auth-gated tool, the description covers prerequisite, auth requirement, failure codes, idempotency behavior, and the confirm handshake, while the output schema handles return values. Nothing an agent needs to call it correctly is missing.

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 100%, so the baseline is 3, but the description adds cross-tool meaning by telling the agent to pass eventId and boothId exactly as booth_connect received them, and explains the confirm/confirmToken pairing as a two-phase operation rather than two independent fields. That is genuine value beyond the schema text, though it does not add format or validation detail.

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 — claims a booth's swag drop into the caller's Swag Bag — and immediately ties it to the prerequisite sibling booth_connect. An agent can distinguish it from booth_connect, booth_enter_raffle, or booth_take_invite without opening 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 Guidelines5/5

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

Gives the explicit precondition (a prior card swap at that booth via booth_connect) plus the exact refusal codes when the condition fails (NOT_CONNECTED, UNKNOWN_UNLOCK) and the no-op case (swag already in bag returns 'already'). It also spells out the required two-call confirm sequence, so when-to-use and how-to-sequence are both unambiguous.

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