Skip to main content
Glama

eatmeprint-ordering

Server Details

EatMePrint agent ordering: get_pricing, preview_set, place_order, check_order.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

Each tool maps to a distinct step: pricing quote, set preview, order placement, and order status lookup. The only mild overlap is that both get_pricing and preview_set return price information, but preview_set's role (build nine-image set, return set_hash) is clearly differentiated by its description.

Naming Consistency5/5

All four tools follow a consistent verb_noun snake_case pattern (check_order, get_pricing, place_order, preview_set). The verbs are conventional and predictable for their actions.

Tool Count4/5

Four tools is on the lean side but each covers a necessary stage of the ordering flow with no filler. A slightly larger surface (e.g. cancellation or support) would round it out, but nothing here feels redundant.

Completeness4/5

The core lifecycle is covered end to end: quote price, preview the set, place the real order with crypto payment, and check status without an account. Gaps exist around post-order operations (cancel, modify, refund, or contact support), which agents may hit if a user changes their mind.

Available Tools

4 tools
check_orderCheck order statusA
Read-onlyIdempotent
Inspect

Look up the current state of an order using the id and code from the status link. Needs no account and no password. Use this to report progress back to the person who asked.

NameRequiredDescriptionDefault
codeYes
order_idYes

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful non-annotation context (no account or password required, values come from a status link), but says nothing about invalid/expired codes, rate limits, or what a failed lookup returns.

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 core action and required inputs front-loaded before the auth note and usage hint. Every sentence contributes something an agent could act on.

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?

There is no output schema, so the description should convey what 'current state' includes; it never indicates which status fields or milestones are returned. For a simple two-parameter lookup it is workable, but the agent cannot anticipate the response shape or error signaling.

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 0%, so the description carries the burden, and it does clarify the crucial provenance of both values: the id and code come from the status link and the code is not a password. It does not describe format, length, or validation for either parameter, leaving half the semantic gap open.

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?

The description gives a specific verb ('look up') and resource ('the current state of an order') plus the exact inputs needed to do it. It is clearly distinct from the write-oriented sibling place_order and from get_pricing/preview_set, so an agent can route on the text alone.

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

Usage Guidelines4/5

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

'Use this to report progress back to the person who asked' gives a concrete usage context, and 'Needs no account and no password' rules out an authentication prerequisite the agent might otherwise assume. There is no explicit when-not or named alternative, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricingGet pricing, delivery and allergensA
Read-onlyIdempotent
Inspect

Price, shipping cost, lead time and allergen information for an edible photo macaron set. Call this before ordering so you can tell the person what it costs and what is in it. Pass the delivery ZIP to get a firm shipping cost and total: it is the same live carrier rate place_order will book for that ZIP. Without a ZIP the reply is "$67 plus shipping".

NameRequiredDescriptionDefault
zipNoFive-digit US delivery ZIP, e.g. "90028". Optional; gives a firm shipping quote.
stateNoTwo-letter US state code, e.g. "CA" or "NY". Optional; wording only.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds genuinely new behavioral facts: the response shape with a ZIP (firm shipping cost and total) versus without one ("$67 plus shipping"), and the guarantee that the quoted rate is the same live carrier rate place_order will book. That consistency guarantee is exactly the kind of thing an agent cannot infer from schema or annotations.

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 sentences, front-loaded with what the tool returns, then when to call it, then the ZIP branch. No filler, and the example output string conveys the degraded case faster than prose would.

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?

With no output schema, the description carries the return-value burden and does so: it names the four returned facts and shows both response shapes. Combined with the annotations covering safety and zero required parameters, an agent has everything needed to call it correctly.

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; the description earns above that by explaining the consequence of supplying zip (a firm quote and total, tied to the booked rate) rather than just repeating its format. It says nothing about the state parameter beyond what the schema already states, which is its only gap.

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 a precisely scoped resource: pricing, shipping cost, lead time and allergens for one named product (edible photo macaron set). It also distinguishes itself from the ordering siblings by framing itself as the pre-order information call and by tying its shipping rate to the rate place_order books.

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

Usage Guidelines4/5

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

"Call this before ordering so you can tell the person what it costs and what is in it" gives explicit timing and a downstream consumer of the result, and the ZIP/no-ZIP branch is spelled out. It stops short of naming when not to use it (e.g., for existing orders, where check_order applies) but the sibling routing is implicit and clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

place_orderPlace a real order (spends money, ships a physical product)A
Destructive
Inspect

Places a REAL order for physical macarons shipped to a real address, and returns a crypto deposit address to send funds to. Confirm the total, the delivery address and the allergen warning with the person you are acting for BEFORE calling this. Pass either images (nine URLs, simplest — the set is built for you) or the set_hash and add_to_cart_fields returned by a previous preview_set call. Returns an order id, a crypto deposit address and amount, and a status link that needs no account or password. The order only reaches the bakery after the payment confirms. A recipient phone number is REQUIRED - carriers need it to generate a label, so collect it before calling.

NameRequiredDescriptionDefault
noteNoOptional short message for the card in the box.
emailYesAn address a human actually reads.
imagesNoNine public https image URLs in grid order. Simplest route: the set is built and carted for you. Omit if passing set_hash + add_to_cart_fields instead.
set_hashNoFrom preview_set. Requires add_to_cart_fields too.
recipientYesWho receives the box, and where.
shipping_idNoOptional: force a specific shipping-method instance id. Normally omit.
pay_currencyNoCrypto ticker to pay in, e.g. "usdttrc20". Optional; a default is chosen.
max_total_usdNoOptional safety ceiling in USD. The shipping cost is only known once the order exists, so set this to the most your human agreed to pay. If the real total is higher, the order is still created but NO payment instruction is returned.
reorder_nonceNoSet this ONLY to deliberately place a second, separate order with identical details (same set, same recipient). Any distinct value works. Without it, an identical repeat is treated as a retry and returns the original order.
idempotency_keyNoOptional explicit key. If omitted, one is derived from the order details, so retrying the identical request is safe and will not create a duplicate.
confirm_total_usdNoConfirm a total your human has approved. Use this to RESUME an order that already exists: after an over-ceiling result, or when a repeat call matched an existing order and the payment instruction was withheld. Set it to the exact total shown. This never creates a second order - it returns the existing one WITH its payment instruction. This is the correct way to proceed; do NOT use reorder_nonce for this.
add_to_cart_fieldsNoThe `add_to_cart.fields` object exactly as returned by preview_set. Required when using set_hash instead of images.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already flag destructive=true and openWorld=true, but the description goes well beyond them: money is actually spent, the product physically ships, the order only reaches the bakery after payment confirms, retries are deduplicated via a derived key, and exceeding max_total_usd still creates the order while withholding payment instructions. The idempotentHint=false vs. 'retrying the identical request is safe' tension is resolved in-text by distinguishing retry-dedup from deliberate reorders, so it is a nuance rather than a contradiction.

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?

A dense paragraph with no filler: the highest-stakes fact (real order, real money, real shipment) leads, the confirmation prerequisite follows, then the input paths and return values. Every sentence carries distinct operational information an agent would otherwise have to guess.

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 12-parameter, nested-object, money-spending tool with no output schema, the description still covers return values (order id, deposit address and amount, no-account status link), the payment-gated fulfillment model, and the recovery path via confirm_total_usd. Nothing an agent needs in order to call this safely 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; the description earns an extra point by framing the images-vs-set_hash choice as a cross-parameter decision and recommending the simplest route ('nine URLs, simplest — the set is built for you'). It also reinforces the hard phone requirement, though that is already stated in the nested schema.

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 ('Places a REAL order for physical macarons shipped to a real address') and immediately names the return artifact (crypto deposit address). It is clearly distinguishable from preview_set (which produces the set_hash) and check_order (which presumably tracks status), so an agent can route without opening a 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 explicit preconditions ('Confirm the total, the delivery address and the allergen warning with the person you are acting for BEFORE calling this'), an either/or input path ('Pass either images ... or the set_hash and add_to_cart_fields returned by a previous preview_set call'), and a pointed exclusion ('do NOT use reorder_nonce for this'). This is exactly the when/when-not/alternative guidance the dimension rewards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_setPreview a 3x3 set from nine imagesA
Read-onlyIdempotent
Inspect

Build a printable set from exactly nine public image URLs, in grid order (left to right, top to bottom). Returns thumbnail previews, the price, and a set_hash to pass to place_order. Images must be JPEG or PNG, up to 10 MB each, reachable over plain https with no redirect. Private or internal addresses are refused. Nothing is charged and no order is created.

NameRequiredDescriptionDefault
emailYesContact email. Used only if an order needs clarifying.
imagesYesExactly nine image URLs in grid order.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only and idempotent, but the description goes further: exact validation rules, refusal of private/internal addresses and redirects, and an explicit statement that nothing is charged. An agent knows precisely what will and won't happen on invocation.

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 tight sentences: what it builds first, what it returns next, then the constraints. No filler, and the most decision-relevant facts (nine URLs, grid order, no charge) lead.

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?

With only two parameters and no output schema, the description covers the missing return-shape info (thumbnails, price, set_hash) and all validation behavior. Nothing an agent needs to invoke it correctly is absent.

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 baseline 3; the description adds real meaning by specifying grid ordering (left to right, top to bottom) and the per-image constraints (JPEG/PNG, 10 MB, plain https, no redirects, no private addresses) that the schema only gestures at. The email parameter isn't elaborated, which keeps it below a 5.

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 action (build a printable 3x3 set from nine URLs) with exact scope and returns, making it clearly distinct from place_order, get_pricing, and check_order.

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

Usage Guidelines4/5

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

The 'Nothing is charged and no order is created' line plus the set_hash handoff to place_order implicitly positions this as the pre-check step. It doesn't explicitly say 'call this before place_order instead of ordering directly,' so the routing guidance is strong but not fully spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcheck_order
    • First observedget_pricing
    • First observedplace_order
    • First observedpreview_set

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources