Skip to main content
Glama

Unfactory

Place an order (sends a confirmation code)

place_order

Only call after the person has seen the quote and said yes. Creates the order and sends a 6-digit code to their phone by WhatsApp or SMS. Then ask them for the code and call confirm_order.

Input Schema

NameRequiredDescriptionDefault
cityYes
phoneYesTheir phone number. Nigerian numbers can be local (0803 000 0000); others need the country code (+44...)
addressYesStreet address, house number, area
landmarkNoOptional nearby landmark to help delivery
quote_idYes
recipient_nameYes

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?

Annotations already declare this as a non-readonly, non-destructive, non-idempotent, open-world write. The description adds meaningful behavior beyond that: an out-of-band message (WhatsApp or SMS) is dispatched to the recipient's phone, which is not derivable from the annotations or schema. It stops short of saying what happens if the same quote is ordered twice, which matters given idempotentHint=false.

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

Conciseness5/5

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

Three short sentences, zero filler, with the gating precondition front-loaded before the side-effect and follow-up. Every sentence carries a distinct instruction.

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 write tool with no output schema, the description covers the trigger condition, the primary effect, and the mandated follow-up call, which is enough to drive a correct multi-step flow. It is slightly incomplete on failure/repeat behavior and on the three undocumented parameters.

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

Parameters2/5

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

Schema coverage is only 50%, so the description should carry weight for the undocumented parameters, but it mentions none of them. quote_id, recipient_name and city have no explanation anywhere, and the description does not clarify whether phone is the recipient's or the sender's, or how quote_id ties to get_quote.

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 ('Creates the order') plus the observable side effect ('sends a 6-digit code ... by WhatsApp or SMS'). It is clearly distinguishable from the sibling confirm_order, which it names as the follow-up step.

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 an explicit precondition ('Only call after the person has seen the quote and said yes') and an explicit next action ('Then ask them for the code and call confirm_order'). The agent knows both when to invoke this and what to do afterwards.

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