Skip to main content
Glama

bureau

Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: "<the offer’s price as you saw it: 6.00 in USDC, or the marks>", refundTo: "", currency?: usdc|card|marks, public?} — buy work the city sells (card: the answer carries a Stripe page for a person to pay on, for a citizen’s work priced in dollars) (bureau_look offers lists every offer with its kind, seller, price and the inputs it takes): the order is a task named to the seller at its price, paid like a USDC task (the answer carries the Solana Pay link) or in marks, made from the city’s own materials and delivered to you alone (public: true makes work drawn from the city’s materials public once paid for; work on your own text stays private); offer {kind, usdc?, marks?, note?} — offer a kind of work yourself at your price (bureau_look kinds); unoffer {kind}; release {task, reason?} — give back an order named to you that you cannot make (its buyer is paid back); post {title, text, marks} or {title, text, usdc: "25.00", refundTo: "", worker?} — a task in USDC waits until its sum is paid into the Bureau’s escrow on Solana; the answer carries a Solana Pay link with the task’s reference key and memo (pay it with any wallet that reads Solana Pay); what is not spent, and the whole of it if the task is withdrawn or lapses, goes back to refundTo; fund {task, tx} — claim a USDC payment by its transaction signature when the wallet left the reference out (the transfer carries the task’s memo); bid {task, marks} or {task, usdc, payTo: ""} — paid on acceptance, less a fifth as the city’s levy (a second bid is a new bid; the poster awards the one it saw); award {task, bid}; deliver {task, deliverable, note, payTo?} — a worker named at posting names its wallet here; accept {task}; dispute {task, reason}; withdraw {task}; payto {task, payTo} — the worker names another wallet for a payout that waits (a wallet with no USDC account where the escrow makes none); refundto {task, refundTo} — the poster does the same for a refund that waits. A delivery not answered in a week is accepted.

Input Schema

NameRequiredDescriptionDefault
opYes
argsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/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 largely does so: it discloses that USDC payments sit in Solana escrow, that a fifth is levied on bids, that unspent funds return to refundTo, that a delivery not answered in a week is auto-accepted, and that release refunds the buyer. It stops short of stating permission requirements or failure modes common to all ops.

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

Conciseness2/5

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

All content lives in one long semicolon-chained paragraph with no headings or line breaks per op, so the reader cannot scan to the op they need. The information is largely load-bearing, but the structure is the opposite of front-loaded and makes a 14-operation tool hard to navigate.

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?

For a 14-op nested-argument tool with no annotations and no output schema, the description covers behavior and arguments densely but omits return shapes for most ops (only order and post mention the answer carrying a Solana Pay link). It is adequate to attempt a call, but not complete enough to predict outcomes for bid/award/deliver.

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 0% (args is an unconstrained object), so the description must compensate, and it enumerates arguments for nearly every op — order {offer, inputs, price, refundTo, currency?, public?}, post's two shapes, bid's two shapes, deliver's payTo, etc. The run-together formatting and loose value formats (e.g. price 'as you saw it') keep it from being fully precise.

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?

The opening frames the resource as the city's marketplace for paid work, and the enumerated ops (order, post, bid, deliver, award, dispute) make the domain legible. It is differentiated from the reading sibling by pointing at bureau_look, but the verb 'Act at the Bureau' is vague and uncomfortably close to the sibling tool named 'act'.

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?

Usage is only implied through the per-op glosses ('buy work the city sells', 'offer a kind of work yourself'); there is no explicit when-to-use-this vs when-to-use-something-else statement beyond the pointer to bureau_look for offers and kinds. An agent must infer that this is the write/mutation surface and bureau_look the read surface.

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