Skip to main content
Glama

MagSnap — Custom Photo Magnets & Gift Printing Store

Server Details

Check custom photo magnet pack pricing, delivery lead times, and create instant orders.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct intent: browsing catalog (get_products), reading policy/spec info (get_store_faq), pricing math (calculate_quote), conversion (create_checkout_link), and post-purchase lookup (track_order). calculate_quote and create_checkout_link share the same optional parameters, but their outputs (a computed price vs. a cart URL) and stated purposes are clearly separated.

Naming Consistency5/5

All five names follow a uniform snake_case verb_noun pattern (calculate_quote, create_checkout_link, get_products, get_store_faq, track_order) with no casing or style deviations. The verb vocabulary (get/calculate/create/track) is conventional and predictable.

Tool Count5/5

Five tools is well-scoped for a single-brand print-on-demand storefront, and each one earns its place in the browse-to-checkout-to-track funnel. There is no visible filler or trivially redundant tool.

Completeness4/5

The buy-side lifecycle is covered end to end: discover products, answer policy questions, quote, check out, and track. Minor gaps remain around post-purchase support (no order history by email, cancel/refund, or contact/complaint path), which an agent would have to work around via get_store_faq.

Available Tools

5 tools
calculate_quoteCalculate QuoteA
Read-onlyIdempotent
Inspect

Calculate an instant order quote for MagSnap photo magnets including item costs, AI 3D cartoon styling surcharge (+R5/ea), gift wrap (+R50), and courier delivery in South Africa. When to use: Call this tool when you specifically need to execute 'calculate_quote' on MagSnap Custom Photo Magnets (magsnap.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_products' or 'create_checkout_link' or 'track_order' for their respective operations). Parameters: single_magnet_count (optional), ai_styled_count (optional), puzzle_set_count (optional), is_gift (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
is_giftNoWhether premium gift packaging is requested (+R50 fee). [Optional: omit to use server default filter].
ai_styled_countNoNumber of magnets with 3D Pixar/cartoon AI style transformation (+R5 surcharge each, R35 total).
puzzle_set_countNoNumber of 9-piece puzzle magnet sets (R270 each). [Optional: omit to use server default filter].
single_magnet_countNoNumber of standard custom square photo magnets (R30 each). [Optional: omit to use server default filter].

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive, and openWorld, so the description's added value here is the rate limit (60 requests/min per IP) and public unauthenticated access, both of which are non-obvious operational facts an agent should know before retrying in a loop. It does not disclose whether the quoted prices can go stale or how rounding/currency is handled, keeping it below 5.

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

Conciseness3/5

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

The pricing sentence is well front-loaded and earns its place, but the 'When to use / Do NOT use / Parameters / Behavior & Side Effects / Returns' scaffolding is boilerplate that restates the schema and annotations. The closing 'Returns' sentence is generic filler ('status, matched records or computed metrics, and canonical action URLs') that tells the agent little about a quote response.

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?

With no output schema, the description owes the agent a clearer picture of the return value, and it delivers only a vague template rather than confirming that the response is a priced breakdown with a total. The pricing rules it does state (surcharges, gift wrap, courier in South Africa) are genuinely useful and partially compensate, but the return-shape gap and the missing statement that all four counts default to zero leave it merely adequate.

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 100%, so every parameter is already documented with type, fee amount, and optionality; the baseline of 3 applies. The description merely lists the four parameter names as '(optional)' without adding semantics beyond the schema, and it omits the per-unit base price (R30) that the schema supplies for single_magnet_count.

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 sentence states a specific verb (calculate) and resource (instant order quote) and enumerates the priced components: item costs, AI 3D styling surcharge, gift wrap, and courier delivery in South Africa. That is far more informative than the tautological title. It stops short of 5 because the second sentence degrades into templated self-reference ('when you specifically need to execute calculate_quote').

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?

It explicitly names the siblings to avoid (get_products, create_checkout_link, track_order) and frames this as a pricing-only operation, which is real routing guidance. However, it only says to use them 'for their respective operations' without stating the discriminating condition, so the agent has to infer when a quote is wanted versus a product listing or checkout link.

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

get_productsGet ProductsA
Read-onlyIdempotent
Inspect

Fetch all available MagSnap photo magnet products, categories, pricing, and specs in South Africa (ZAR). When to use: Call this tool when you specifically need to execute 'get_products' on MagSnap Custom Photo Magnets (magsnap.co.za). Do NOT use this tool when another specialized tool fits better (use 'calculate_quote' or 'create_checkout_link' or 'track_order' for their respective operations). Parameters: category_id (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
category_idNoOptional category ID to filter products by (e.g. 1 for Photo Magnets, 2 for Puzzles).

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context: public unauthenticated access and a rate limit of 60 requests/min per IP, plus what the response contains. It does not disclose pagination or result-size limits for an unbounded list query.

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

Conciseness3/5

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

The lead sentence is well front-loaded, but the 'When to use: Call this tool when you specifically need to execute get_products' sentence is filler that repeats the tool name, and the Returns sentence is generic boilerplate. Roughly a third of the text earns nothing.

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?

With no output schema and only one optional parameter, the definition covers purpose, access model, rate limits, and return shape, which is close to sufficient. What is missing is scope/volume guidance for an unfiltered 'fetch all' call, which matters for an openWorld list tool.

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 coverage is 100% and the schema itself supplies concrete examples (1 for Photo Magnets, 2 for Puzzles). The description only repeats that category_id is optional, adding no syntax or behavioral meaning such as whether omitting it returns all categories.

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 first sentence states a specific verb and resource ('Fetch all available MagSnap photo magnet products, categories, pricing, and specs') plus a currency/region scope. It is clearly distinguishable from quote/checkout/order tools, though the sibling differentiation is partly handled by boilerplate in the second sentence.

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?

It names the alternatives (calculate_quote, create_checkout_link, track_order) but gives no conditions that select between them, saying only 'for their respective operations'. The 'when to use' clause largely restates the tool name rather than describing a real user situation.

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

get_store_faqGet Store FaqA
Read-onlyIdempotent
Inspect

Retrieve official MagSnap product specifications, material durability, production turnaround, and courier delivery policies across South Africa. When to use: Call this tool when you specifically need to execute 'get_store_faq' on MagSnap Custom Photo Magnets (magsnap.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_products' or 'calculate_quote' or 'create_checkout_link' for their respective operations). Parameters: topic (optional). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
topicNoSpecific FAQ topic or 'all' for complete store overview. [Optional: omit to use server default filter].

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description adds genuinely new facts: public unauthenticated access, a 60 req/min per-IP rate limit, and a rough return shape (status, matched records, canonical action URLs), which is useful context an agent cannot get from the annotations.

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

Conciseness3/5

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

The opening sentence is well-front-loaded and dense with real information, but the 'When to use' clause is self-referential filler and the parameters sentence merely echoes the schema. Roughly a third of the text does not earn its place.

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 single-optional-param, read-only lookup with no output schema, the definition covers purpose, safety/rate-limit behavior, access model, and a rough return description—enough for an agent to call it correctly. Only the circular usage trigger and lack of concrete topic-to-content mapping keep it from full marks.

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 100% and the single 'topic' parameter is a documented enum with per-value semantics, so the schema carries the load. The description only restates 'topic (optional)' without adding meaning beyond the schema, which is the expected baseline when coverage is full.

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 first sentence states a specific verb (Retrieve) and a concrete resource scope: product specs, material durability, turnaround, and courier policies for MagSnap in South Africa. It is distinguishable from quote/checkout/product-listing siblings, though differentiation leans on the later 'Do NOT use' sentence rather than the purpose statement itself.

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?

There is an explicit 'When to use' / 'Do NOT use' structure that names alternatives (get_products, calculate_quote, create_checkout_link), which is above-average intent. However, the positive trigger is circular—'when you specifically need to execute get_store_faq'—so the agent gets routing exclusions but no real positive condition beyond the purpose sentence.

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

track_orderTrack OrderA
Read-onlyIdempotent
Inspect

Look up order status and shipping progress for an existing MagSnap order by Order ID. When to use: Call this tool when you specifically need to execute 'track_order' on MagSnap Custom Photo Magnets (magsnap.co.za). Do NOT use this tool when another specialized tool fits better (use 'get_products' or 'calculate_quote' or 'create_checkout_link' for their respective operations). Parameters: order_id (required). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.

NameRequiredDescriptionDefault
order_idYesThe MagSnap Order ID (UUID format, e.g. 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d).

TDQS

A3.6/5.0
Behavior4/5

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

The annotations already declare read-only, idempotent, non-destructive behavior, and the description adds useful operational context: unauthenticated public access and a 60 requests/min per IP rate limit. It also confirms zero state mutation, though the return-value summary is somewhat generic.

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

Conciseness3/5

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

The purpose is front-loaded, which is good, but the description contains redundant boilerplate such as 'Call this tool when you specifically need to execute track_order' and a generic alternatives sentence. It is not excessively long, but several phrases do not earn their place.

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 simple one-parameter read-only tool with rich annotations and no output schema, the description covers purpose, usage, access model, rate limits, and a basic return description. It could be more precise about return fields and sibling-tool boundaries, but it is largely complete for correct invocation.

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 coverage is 100%, and the schema already documents order_id as a UUID-formatted string with an example. The description only restates that order_id is required and identified by Order ID, adding no real semantics beyond the structured schema.

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 description states a specific verb and resource: 'Look up order status and shipping progress' for an existing MagSnap order by Order ID. It names sibling alternatives, but the contrast is generic ('for their respective operations') rather than explaining precise boundaries.

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?

It includes a 'When to use' section and a 'Do NOT use' sentence naming other tools, so some routing guidance is present. However, the when-to-use text is largely tautological ('execute track_order') and does not give concrete conditions for choosing this tool over the alternatives.

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. 3 tool updates
    • Changedcalculate_quote3 fields changed
      • changedInput schema / properties / is_gift / description
        Previous value: -"Whether premium gift packaging is requested (+R50 fee)."New value: +"Whether premium gift packaging is requested (+R50 fee). [Optional: omit to use server default filter]."
      • changedInput schema / properties / puzzle_set_count / description
        Previous value: -"Number of 9-piece puzzle magnet sets (R270 each)."New value: +"Number of 9-piece puzzle magnet sets (R270 each). [Optional: omit to use server default filter]."
      • changedInput schema / properties / single_magnet_count / description
        Previous value: -"Number of standard custom square photo magnets (R30 each)."New value: +"Number of standard custom square photo magnets (R30 each). [Optional: omit to use server default filter]."
    • Changedcreate_checkout_link4 fields changed
      • changedInput schema / properties / ai_styled_count / description
        Previous value: -"Number of magnets with 3D Pixar/cartoon AI styling."New value: +"Number of magnets with 3D Pixar/cartoon AI styling. [Optional: omit to use server default filter]."
      • changedInput schema / properties / is_gift / description
        Previous value: -"Whether to enable gift packaging (+R50)."New value: +"Whether to enable gift packaging (+R50). [Optional: omit to use server default filter]."
      • changedInput schema / properties / puzzle_set_count / description
        Previous value: -"Number of 9-piece puzzle magnet sets (R270 each)."New value: +"Number of 9-piece puzzle magnet sets (R270 each). [Optional: omit to use server default filter]."
      • changedInput schema / properties / single_magnet_count / description
        Previous value: -"Number of standard custom square photo magnets (R30 each)."New value: +"Number of standard custom square photo magnets (R30 each). [Optional: omit to use server default filter]."
    • Changedget_store_faq1 field changed
      • changedInput schema / properties / topic / description
        Previous value: -"Specific FAQ topic or 'all' for complete store overview."New value: +"Specific FAQ topic or 'all' for complete store overview. [Optional: omit to use server default filter]."
  2. 5 tool updates
    • First observedcalculate_quote
    • First observedcreate_checkout_link
    • First observedget_products
    • First observedget_store_faq
    • First observedtrack_order

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Send real physical postcards worldwide via AI agents. Supports single and bulk send (up to 500 recipients), balance checking, delivery tracking, and volume pricing from $0.72/card.
    5
    6 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to create and pay for physical postcards and letters, returning print previews and Stripe checkout links, with human review before USPS First-Class mailing to US addresses.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources