Skip to main content
Glama

Server Details

Order personalised newspaper-style birthday, anniversary and retirement posters as print files.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct role: searching posters, gathering order details, uploading photos, and creating the checkout. No overlap or ambiguity between them.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (find_posters, get_poster_form, upload_photo, create_poster_checkout), making the API predictable and easy to navigate.

Tool Count5/5

With only 4 tools, the server is tightly scoped to the core workflow of ordering a personalised poster. Each tool is essential and there are no redundant or excessive additions.

Completeness5/5

The tools cover the full lifecycle from discovery (find_posters) through data collection (get_poster_form) and media upload (upload_photo) to final purchase (create_poster_checkout). No obvious missing steps for the stated purpose.

Available Tools

4 tools
create_poster_checkoutCreate the personalised checkoutAInspect

Validate every detail and create a Shopify checkout for one personalised poster with all the details attached. Returns checkout_url. Nothing is charged: open checkout_url for the user to review the order and pay on GiftsToPrint's own checkout. Before calling, read the details back to the user and confirm they understand they will receive a digital file to print (set confirm_digital_file to true). If a field is wrong, the error lists every problem at once so you can fix them in one go.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerYes
handleYesThe poster's handle, from find_posters.
photo_urlYesThe photo_url returned by upload_photo.
turnaroundYesstandard: ready the next working day, order Mon-Fri. rush_weekday: ready within 12 hours, order Mon-Fri. rush_weekend: ready within 24 hours, order Sat or Sun.
instructionsNoOptional note to the designers, e.g. how to crop the photo.
buyer_countryNoOptional ISO country code, so checkout opens in the buyer's currency.
personalisationYesThe fields from get_poster_form, keyed by their id (e.g. recipient_first_name, birth_day, birth_month).
confirm_digital_fileYesMust be true: the buyer understands the poster is a digital file to print, not a physical print.

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: it creates an external Shopify checkout, charges nothing, returns a checkout_url for the user to review and pay, validates all details, and aggregates errors. This goes well beyond what readOnlyHint, openWorldHint, idempotentHint, and destructiveHint convey.

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?

The description is compact and front-loaded with the core purpose, then efficiently covers return value, payment behavior, pre-call confirmation, and error handling. Each sentence adds distinct value with no filler or repetition.

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 tool with no output schema, the description still specifies the critical return value (checkout_url) and the important side effect (nothing is charged). Combined with the detailed input schema, the agent has everything needed to call it correctly, including the required user-confirmation step and error-recovery behavior.

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 description coverage is high at 88%, so the schema already documents most parameters. The description adds useful meaning by explicitly requiring confirm_digital_file to be true and explaining the no-charge, review-before-pay flow. This is more than the baseline but not needed for every parameter.

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 states a specific action ('create a Shopify checkout'), a specific resource ('one personalised poster'), and the key return value ('Returns checkout_url'). It also makes clear this is the final ordering step, distinguishing it from the sibling tools that select posters, fetch forms, or upload photos.

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?

It gives clear pre-call instructions: read details back to the user and confirm the digital-file expectation by setting confirm_digital_file to true. It also explains how errors should be handled. However, it does not explicitly name sibling alternatives or state when not to use this tool, though the workflow context makes this mostly obvious.

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

find_postersFind a posterA
Read-only
Inspect

Search GiftsToPrint's personalised newspaper-style posters. Each poster shows real headlines and events from one year, personalised with a name, photo and message, and is delivered as a print-ready digital file (nothing is posted). Birthday posters and wedding-anniversary posters exist per milestone and edition (e.g. 60th Birthday, Australian edition, 1966); retirement and dating-anniversary posters cover any year, chosen in the form. Pick the edition by where the recipient lives or grew up (US, UK, Canada or Australia). Returns each matching poster's handle, prices and product page. Next step: get_poster_form.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoThe year the poster should cover (birth year, or wedding year).
editionNoCountry edition: which country's news the poster shows.
occasionNoWhat the poster celebrates.
milestoneNoThe birthday or anniversary number, e.g. 60 for a 60th.
buyer_countryNoOptional ISO country code of the buyer (e.g. "US", "AU") to show prices in their currency.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds useful non-obvious behavior: the poster is delivered as a print-ready digital file, nothing is physically posted, and the search returns matching handles, prices, and product pages. This is consistent with the readOnlyHint and openWorldHint=false annotations.

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?

The description is four dense sentences that front-load the action and the return value. The second sentence is information-heavy, but each clause contributes product context, delivery behavior, or filtering guidance, with no filler.

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 read-only filtered-search tool with no output schema, the description covers what is searched, what is returned, and the recommended next step. It does not state behavior when no filters are supplied or whether pagination exists, but those are minor given the search semantics are otherwise clear and no parameters are required.

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 the schema already documents all five parameters. The description does add meaning for edition (choose by recipient's location) and occasion (which occasions are milestone-bound), but it leaves year and buyer_country semantics to the schema and does not explain the no-filter case.

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 opens with a specific action: 'Search GiftsToPrint's personalised newspaper-style posters', and names what is returned (handle, prices, product page). It also distinguishes this tool from the sibling get_poster_form by positioning that tool as the next step rather than the search itself.

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 description explains when each poster type applies (birthday and wedding-anniversary posters are milestone- and edition-specific; retirement and dating-anniversary posters cover any year) and gives a selection rule for the edition based on where the recipient lives or grew up. It also explicitly names get_poster_form as the next step, though it does not state when not to use this tool relative to create_poster_checkout or upload_photo.

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

get_poster_formGet the details a poster needsA
Read-only
Inspect

List exactly what to collect from the user for one poster: names, dates, optional message, and the photo, plus the turnaround options and prices. Ask the user for anything you don't already know. Don't invent names or dates. Next step: upload_photo, then create_poster_checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe poster's handle, from find_posters.
buyer_countryNoOptional ISO country code of the buyer, for local prices.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds important behavioral guardrails: 'Don't invent names or dates' and 'Ask the user for anything you don't already know.' It also explicitly scopes exactly what the tool collects, giving the agent a clear model of the tool's behavior and constraints.

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?

The description is compact: three sentences, each earning its place. The first defines output scope, the second gives user-interaction guidance, and the third provides next-step sequencing. No redundant or vague content.

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 sufficiently explains what the tool returns (the list of fields to collect), how to act on that output ('Ask the user...'), and the surrounding workflow. The only missing context, the source of the handle, is already covered by the schema description.

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 both handle and buyer_country are already well documented in the input schema. The tool description does not add parameter-specific detail, such as mentioning buyer_country or elaborating on handle, but the high baseline applies.

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 starts with a specific verb and resource: 'List exactly what to collect from the user for one poster: names, dates, optional message, and the photo, plus the turnaround options and prices.' It clearly differentiates the tool from siblings by defining its role as data collection, and the workflow note ('Next step: upload_photo, then create_poster_checkout') further distinguishes it from upload and checkout tools.

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 description provides clear workflow context: 'Ask the user for anything you don't already know' and 'Next step: upload_photo, then create_poster_checkout.' It does not explicitly mention when not to use the tool or compare against find_posters, but the handle parameter is documented as coming from find_posters in the schema.

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

upload_photoUpload the photo for the posterAInspect

Store the photo that will be printed on the poster. Give either image_url (a public https link to the image) or image_base64. JPEG, PNG or WebP, up to 20MB. Returns photo_url, which you then pass to create_poster_checkout. Photos are kept for 12 months so the poster can be made and revised, then deleted automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlNoPublic https:// address of the image.
image_base64NoThe image file encoded as base64 (a data: URL prefix is fine).

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only indicate readOnlyHint is false, so the tool is a write operation, which the description clearly states. It goes beyond annotations by disclosing retention ('12 months') and automatic deletion, which is valuable context for planning.

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?

Four sentences with no waste. The critical action verb is first, then params, then next step, then retention. Every sentence is clear and necessary.

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?

The tool is simple with 2 params and clear output usage. It covers input, output, and retention. However, it doesn't specify failure modes or exact output format, but the output is referenced and sufficient for a simple upload.

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 schema defines the parameters. However, the description adds meaning by specifying the requirement of a public https link for image_url and that image_base64 is the base64-encoded file, which the schema only hints at.

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?

Identifies a specific verb+resource ('Store the photo that will be printed on the poster') and is easily distinguished from siblings like create_poster_checkout. Even though it is named upload_photo, the description goes beyond the name, clarifying that the photo is for a poster.

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?

Explicitly states the input alternatives (image_url or image_base64) and the expected next step ('pass to create_poster_checkout'). This helps an agent decide when to use this tool and how to chain it with siblings. No explicit exclusions are needed given the sibling scope.

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 observedcreate_poster_checkout
    • First observedfind_posters
    • First observedget_poster_form
    • First observedupload_photo

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources