Skip to main content
Glama

Denia Print

Server Details

Print shop in Spain: products, exact prices, quote requests and order status for AI assistants

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

A3.8/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct actions: list_products/get_product/get_price form a clean browse-to-price ladder, and request_quote (new) vs message_team (existing order) is explicitly disambiguated in the descriptions. The only slight overlap is order_status vs send_status_link, which both concern an order's status page, but their outputs (status content vs mailing the link) differ enough to distinguish.

Naming Consistency4/5

Most names follow a clean verb_noun pattern (get_price, get_product, list_products, message_team, request_quote, send_status_link). The two noun-only names (order_status, shop_info) deviate by dropping the verb prefix, a minor inconsistency but still readable and predictable.

Tool Count5/5

Eight tools is well-scoped for a print-shop ordering server, with each tool earning its place across product browsing, pricing, quoting, order tracking, and support. No redundant or filler tools are present.

Completeness4/5

The surface covers the full customer lifecycle: discovery (list_products/get_product), pricing (get_price), new business (request_quote), order tracking/support (order_status, message_team, send_status_link), and FAQ (shop_info). Minor gaps exist—no direct order placement or cart/checkout tool—but the quote-driven model and workarounds make this acceptable.

Available Tools

8 tools
get_pricePriceA
Read-only
Inspect

The exact price of a product with the chosen options and quantity, for delivery in Spain: excl. IVA, the IVA (21 %) and the total, plus the prices of the other quantities. Options left out take the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo
slugYes
expressNoExpress production where the product has it.
optionsNoOption key -> value id, from get_product, e.g. {"papel":"mate350"}.
quantityYesOne of the quantities of get_product, e.g. "500".

TDQS

A3.6/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the bar is lower. The description adds real context beyond annotations: the delivery locale (Spain), the price breakdown it computes (excl. IVA, 21% IVA, total, prices for other quantities), and default handling for omitted options.

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?

A single front-loaded sentence that starts with what the tool returns and appends the IVA/quantity detail. Dense but every clause contributes; not bloated.

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 usefully describes the returned breakdown, but leaves questions open: currency, whether IVA always applies for non-Spain contexts, and the undocumented lang/slug parameters. Adequate but not fully rounded for a 5-param 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 60%, so the schema carries most of the load (express, options, quantity are documented). The description adds one meaningful rule the schema lacks ('options left out take the default') but says nothing about lang or slug, leaving gaps in the uncovered 40%.

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?

States a specific verb+resource ('get the exact price of a product') and details the computed output (excl. IVA, IVA 21%, total, other quantities). It is clearly a price-lookup rather than a product/quote tool, though it never explicitly names or contrasts a sibling like get_product or request_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?

Usage is implied ('with the chosen options and quantity', 'options left out take the default') but there is no explicit when-to-use statement or exclusion relative to get_product or request_quote. The routing to get_product for obtaining slugs/options lives in the schema, not the description.

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

get_productProduct optionsB
Read-only
Inspect

The options of one product (format, paper, finish, ...), each with its id and label, the quantities, the default choice and the usual delivery time in working days.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo
slugYesProduct id from list_products, e.g. tarjetas-de-visita or flyers.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful context about the return contents (options, ids, labels, quantities, defaults, delivery times), which helps an agent understand the shape of the response. No additional behavioral traits like rate limits or auth are mentioned, but with annotations present, this is adequate.

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 a single sentence that front-loads the core purpose and enumerates returned data. It is efficient and waste-free, though the list of return fields could be seen as slightly verbose given the lack of an output schema.

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 does a decent job of summarizing the returned data, which is necessary. However, it omits any mention of the lang parameter or when to use this tool versus siblings. For a 2-parameter tool with 50% schema coverage, more could be said about parameter semantics and usage.

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 50% – the slug parameter is well-documented in the schema, but the lang parameter has no description there. The description doesn't mention lang at all, missing the opportunity to clarify it. However, the description does implicitly define what the slug represents ('one product'), which slightly aids understanding.

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 clearly states the verb (get/fetch) and resource (product options), enumerating the specific data returned: format, paper, finish, ids, labels, quantities, defaults, delivery times. This is far more specific than 'Product options' alone. However, it doesn't explicitly differentiate from siblings like get_price or list_products, which is the only gap preventing a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The schema mentions list_products as the source of the slug, but the description doesn't state when get_product is preferred over get_price or list_products. No conditions or exclusions are provided.

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

list_productsList productsA
Read-only
Inspect

All products Denia Print prices online, with the lowest price (excl. IVA, smallest run, cheapest options) and the product page. Use get_product for the options of one.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage for names and links (default en).

TDQS

A3.9/5.0
Behavior3/5

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

readOnlyHint=true already establishes this is a safe read, lowering the bar. The description usefully discloses the pricing basis (lowest price, excl. IVA, smallest run, cheapest options), which is real context, but says nothing about result volume, pagination or ordering for a tool that returns 'all products'.

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?

Two short sentences, front-loaded with the payload description and ending with the sibling routing. The first sentence is a run-on clause that takes a moment to parse, which costs it the top score.

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 one-optional-param, read-only list tool with no output schema, the description adequately conveys what comes back (products, their lowest price, product pages). It does not need to explain return values further, though a note on result size would complete it.

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 optional 'lang' parameter is fully documented in the schema, so the baseline of 3 applies. The description never mentions language selection, adding no meaning beyond the 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?

It names the resource (all products) and the payload it returns (lowest price and the product page), and explicitly distinguishes itself from get_product ('Use get_product for the options of one'). An agent can separate the two siblings without opening either schema, despite the slightly garbled phrasing 'Denia Print prices online'.

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 an explicit alternative for one clear case: when you want the options of a single product, use get_product. It stops short of stating the broader when-to-use conditions (e.g. versus get_price or shop_info), so it is clear but not exhaustive.

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

message_teamMessage about an orderAInspect

Sends a question or change request about an existing order to the team (it lands in the order, the team replies by e-mail). Needs the reference and the order's e-mail address. For something new use request_quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
messageYes
referenceYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=true; the description adds real behavioral context beyond that — the message lands in the order thread rather than being a fire-and-forget email, the team replies by e-mail, and reference plus the order's e-mail are prerequisites. It stops short of stating whether the email must match the order owner or what happens on a mismatch.

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 compact sentences, no waste: action first, then the side effect and prerequisites, then the sibling routing. Front-loaded and readable.

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 non-destructive write with three required params and no output schema, the description covers the action, its observable effect (lands in the order, reply by e-mail), and required inputs. Minor gap: no indication of validation failures (e.g., unknown reference) or whether the reply is asynchronous.

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 0%, so the description carries the burden, and it usefully disambiguates two of three params: 'reference' is the order reference and 'email' is specifically the order's e-mail address (not an arbitrary sender). The 'message' param is left implicit, but its meaning is evident from the tool's purpose.

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 (sends) and resource (question or change request about an existing order to the team), which is unambiguous to an agent. It also names the sibling request_quote as the wrong tool for new requests, so message_team is distinguishable without opening any 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?

Explicit when-to-use is given ('about an existing order') and an explicit alternative with its triggering condition ('For something new use request_quote'). The agent has both the positive and the exclusionary routing rule.

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

order_statusWhere is my order?A
Read-only
Inspect

The status of an existing order or quote request: progress, expected delivery or pickup, tracking, the proof. Needs the reference (DP-..., in the confirmation e-mail) and the e-mail address (or phone) the order was placed with.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe e-mail address (or phone number) of the order.
referenceYese.g. DP-261002-ABCD

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered; the description adds meaningful context beyond that by disclosing the identity/verification requirement (reference plus the e-mail or phone the order was placed with). It stops short of describing failure behavior or rate limits.

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?

Two sentences, front-loaded with the resource and returned data, then the prerequisites. Minor bloat in the trailing list ('the proof') but no wasted sentences.

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, the description usefully enumerates the returned fields and states both required inputs, making it adequate for this simple read-only lookup. It could still note error/not-found behavior, but nothing essential is missing.

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 both parameters are documented, so the schema carries the load. The description adds only marginal value — where to find the reference (confirmation e-mail) — which is a small hint beyond the 'DP-261002-ABCD' example already in the 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+resource ('status of an existing order or quote request') and enumerates what is returned: progress, expected delivery/pickup, tracking, proof. This clearly separates it from siblings like send_status_link and request_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?

Usage is implied rather than stated: it tells the agent the operation targets an existing order/quote and names the required inputs, but never says when to prefer this over send_status_link or what to do when the reference is not found.

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

request_quoteRequest a quoteAInspect

Sends a quote request to Denia Print for the user, like the form on the site: the team replies with a written quote, without obligation, and the user gets a confirmation by e-mail with a link to follow it. Only with the user's consent and their real contact details.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoThe user's language for the reply (default es).
nameYes
emailYes
phoneNo
detailsYesWhat the user needs: product, size, quantity, deadline, design or not.
productNoWhat it is, e.g. "500 business cards" (or a slug).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-read-only, open-world, non-destructive behavior, and the description adds real side-effect context: a team reply arrives as a written quote, no obligation is incurred, and the user gets a confirmation e-mail with a tracking link. This explains the round-trip consequence beyond what the annotations convey. Minor gaps (no auth/rate-limit detail) keep it from 5.

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?

A single front-loaded sentence that leads with the core action before the outcome. It is dense and mostly earns its words, though slightly run-on and could be split for readability.

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 mutating, open-world tool with no output schema, the description explains what happens after invocation (team reply, confirmation e-mail, follow-up link), which is the key missing context. It omits explicit return values or consent handling detail, but with annotations covering safety it is largely complete.

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 only 50%, and the description compensates only weakly: it stresses that 'real contact details' are required, implying name/email/phone must be genuine, but adds no format or meaning for lang, product, or details beyond what the schema already says. Adequate but not compensating fully for the coverage gap.

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+resource combination — sending a quote request to Denia Print — and distinguishes itself from price-lookup siblings like get_price by implying it initiates a human/team response rather than returning data. It doesn't name a sibling explicitly, so it falls just short of a 5.

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 gives a precondition for use ('Only with the user's consent and their real contact details'), which is useful guidance, but provides no explicit when/when-not or direct comparison to alternatives such as get_price or message_team. Usage context is implied rather than spelled out.

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

shop_infoHow Denia Print worksA
Read-only
Inspect

Answers to common questions: how to order, proof and payment, payment methods, print files, delivery, pickup in Dénia, languages, the customer account, samples, contact, conditions. Without a topic: all of them.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact not present in the schema—that omitting the topic returns all topics—but says nothing about whether answers are static content or generated responses.

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?

Front-loaded with the purpose, then a compact topic list, then a short default-behavior sentence. The enumeration is long but it maps directly onto the enum and every clause is functional; nothing is padded.

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, single-optional-enum tool with no output schema, the definition supplies enough to invoke it correctly: purpose, the topic vocabulary, and the no-topic default. No return format is explained, but with no output schema that is a minor gap.

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?

There is only one parameter and it is a fully self-descriptive enum, so the schema does most of the work. The description re-lists the same topic values in prose, which mirrors rather than extends the enum, but the optional/default behavior is clarified by the 'without a topic' note.

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 purpose—answers to common questions about how Denia Print works—and enumerates the covered domains (ordering, payment, delivery, pickup, etc.). This clearly distinguishes it from transactional siblings like get_price, order_status, and request_quote. It stops short of 5 because it never explicitly frames itself as a static FAQ/informational tool versus a live data lookup.

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?

The only explicit usage rule is 'Without a topic: all of them,' which governs the optional parameter rather than when to pick this tool over siblings. There is no statement of when to use shop_info versus order_status or message_team; the agent must infer it is the general-information fallback.

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. 8 tool updates
    • First observedget_price
    • First observedget_product
    • First observedlist_products
    • First observedmessage_team
    • First observedorder_status
    • First observedrequest_quote
    • First observedsend_status_link
    • First observedshop_info

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    把「印懿报价」的报价能力提炼成一个可安装到各类 AI 工具的 Skill,覆盖印刷包装 120+ 品类(纸盒/纸箱/手提袋/画册/宣传页/卡片/不干胶等),支持材质、后工艺与小批量数码印刷计价。
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Provides access to official Spanish fiscal data and tools based on AEAT and BOE sources, covering income tax, VAT, and regional deductions. It enables AI assistants to answer tax-related queries and verify filing deadlines using verified information.
    10
    33 npm
    13
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides 450+ tools for Spanish businesses to handle invoicing, purchases, catalog, tax filings, time tracking, and automations via natural language in MCP clients.
    200 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources