Skip to main content
Glama

create_order

Read-onlyIdempotent

RETIRED 2026-11-08: there is nothing to buy. Watches are free; for anything more, ask us. Use the request form at /watch/#request, write to lead@evfm.co, or, from an agent, call send_feedback with what you need. Kept listed so a configuration that names this tool still gets a plain answer: any call returns that sentence and the free next steps, records nothing and charges nothing. To keep a question watched, use save_watch; to read an order recorded before the retirement, use get_order.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_order"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • removedInput schema / properties / dryRun
      Removed value: -{
      -  "description": "true → rehearse: validate + price the basket, record nothing, issue no links, bill nothing",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / email
      Removed value: -{
      -  "description": "Contact email to attach to the order intent (optional)",
      -  "type": "string"
      -}
    • removedInput schema / properties / idempotencyKey
      Removed value: -{
      -  "description": "Optional client key (≤128 chars): makes the orderId deterministic and a retried call return the original intent instead of recording a second one — safe machine retries",
      -  "type": "string"
      -}
    • removedInput schema / properties / items
      Removed value: -{
      -  "description": "Array of {id, quantity?, amount?} — catalog ids above; `quantity` applies to unit items only, and `amount` (USD, min 5 / max 500) applies to the 'balance' item only and is required on it",
      -  "type": "array"
      -}
    • removedInput schema / properties / quoteId
      Removed value: -{
      -  "description": "Optional: the quoteId from get_quote — recorded on the order intent so the desk provisions against that exact quote.",
      -  "type": "string"
      -}
    • removedInput schema / properties / topics
      Removed value: -{
      -  "description": "Optional: the topic names this order's Watch lines cover. Pass each topic's `name` from get_quote verbatim, so this order checks the same topic the quote priced and you see the same verdict; your own words are checked as written and can read differently. Topic numbers are not accepted: a digit-only entry is refused with an explanation, never guessed at. Carried verbatim onto the recorded intent so scoped concerns survive the quote→order handoff. Max 12, each ≤200 chars.",
      -  "type": "array"
      -}
    • removedInput schema / required
      Removed value: -[
      -  "items"
      -]
  2. Changed1 schema field changed
    • changedInput schema / properties / topics / description
      Previous value: -"Optional: the quoted topic names (or 1-based topic numbers as strings) this order's Watch lines cover — carried verbatim onto the recorded intent so scoped concerns survive the quote→order handoff. Max 12, each ≤200 chars."New value: +"Optional: the topic names this order's Watch lines cover. Pass each topic's `name` from get_quote verbatim, so this order checks the same topic the quote priced and you see the same verdict; your own words are checked as written and can read differently. Topic numbers are not accepted: a digit-only entry is refused with an explanation, never guessed at. Carried verbatim onto the recorded intent so scoped concerns survive the quote→order handoff. Max 12, each ≤200 chars."
  3. Changed1 schema field changed
    • changedInput schema / properties / items / description
      Previous value: -"Array of {id, quantity?} — catalog ids above; quantity applies to unit items only"New value: +"Array of {id, quantity?, amount?} — catalog ids above; `quantity` applies to unit items only, and `amount` (USD, min 5 / max 500) applies to the 'balance' item only and is required on it"
  4. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, and the description is consistent with them. It adds real value by confirming the call is a no-op that records nothing and charges nothing. With the safety profile already covered structurally, this is solid corroboration rather than new behavioral 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?

Retirement status and the no-op behavior are front-loaded, then alternatives are listed compactly. A few clauses ("there is nothing to buy. Watches are free") are chatty, but each still carries routing or expectation-setting information.

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 zero-parameter retired stub with no output schema, everything an agent needs is present: what a call returns, that nothing is persisted or billed, and where to go instead. Nothing material 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?

Zero parameters, so the baseline is 4. The description usefully states that any call returns the same sentence regardless of input, which closes off the question of whether arguments matter.

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?

Opens with a dated retirement marker and states exactly what the tool now does: any call returns a fixed sentence plus free next steps, records nothing, charges nothing. It is immediately distinguishable from get_order (read pre-retirement orders) and save_watch (track a question).

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 explicit routing: use the request form, email lead@evfm.co, or call send_feedback from an agent; use save_watch to watch a question and get_order to read legacy orders. It also explains why the tool stays listed (configs that still name it), which is a genuine when-to-call case.

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