Dinilu — custom promotional products
Server Details
Live prices, options and shipping quotes for custom-printed promotional products.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
The tools are mostly distinct, with fetch and search clearly labeled as compatibility wrappers for get_product and search_products. Descriptions explicitly direct users to the preferred tools, reducing confusion, though the redundancy could still cause initial misselection if descriptions are skimmed.
Naming is inconsistent: get_product and get_quote follow a verb_noun pattern, search_products also does, but fetch and search are bare verbs. The mixture of with/without object is readable but not uniform.
Five tools is well within the ideal range for a product catalog and quoting server. Each tool serves a clear purpose, including two compatibility shims that do not bloat the surface.
The tool set covers the full workflow: searching products, retrieving detailed product attributes, and obtaining quotes. No critical operations are missing for the server's stated purpose of browsing and pricing promotional products.
Available Tools
5 toolsfetchFetchAInspect
Compatibility fetch for research clients that require a tool named "fetch". Returns one product as readable text. It carries NO price: prices depend on quantity and options and come from get_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id returned by search (the product mpn, as a string). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| content | No | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns one product as readable text and that it carries no price, which is useful. However, it does not explicitly state that it is a read-only operation, nor does it mention any side effects, error behavior, or authentication requirements. The description is adequate for a simple fetch but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose and then adding the important price caveat. Every sentence earns its place, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one parameter, an output schema, and clear compatibility context. The description covers the essential purpose, the price exclusion, and the compatibility scenario. It does not explicitly mention when not to use it versus get_product, but given the simplicity and presence of an output schema, it is sufficiently complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any extra meaning to the id parameter beyond what the schema already provides, which is acceptable given that the schema fully describes it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'fetch' and the resource 'one product as readable text', and notes it is a compatibility tool for research clients. It distinguishes itself from get_quote by explicitly stating it carries no price, but it does not differentiate from the sibling get_product, leaving some ambiguity about when to prefer this over that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear condition for use (research clients requiring a tool named 'fetch') and explicitly tells users that prices come from get_quote, implying this tool should not be used for pricing. However, it does not mention any alternative such as get_product, so the guidance is partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet product optionsAInspect
Get a product's configurable attributes and their options, plus its minimum order quantity and quantity step. Call this before get_quote: the attribute and option ids it returns are what get_quote expects.
| Name | Required | Description | Default |
|---|---|---|---|
| mpn | Yes | Product MPN, from search_products or from the mpn field in a product page's JSON-LD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses what the operation returns (attributes, options, MOQ, quantity step) and how the output connects to get_quote determination. However, it does not describe response formatting, pagination, or potential errors, though these are less critical for a simple read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences deliver the core action first and then explain the critical sequencing relationship. No filler or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only retrieval tool, the description is largely complete: it identifies the input, the output contents, and the dependent sibling tool. There is no output schema, so the description partially compensates by listing returned elements, though the exact response shape is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of the single parameter with a clear description of mpn and its source. The tool description adds little beyond that, matching the baseline for fully described schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a specific resource: a product's configurable attributes, options, minimum order quantity, and quantity step. This clearly distinguishes it from the sibling tools get_quote and search_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs the agent to call this before get_quote, explaining that the attribute and option IDs returned are what get_quote expects. It also implicitly ties mpn acquisition to search_products, giving clear sequencing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteGet a price and delivery quoteAInspect
Price a specific configuration and quantity, with production time and shipping options. Indicative, excludes VAT and shipping, never binding. Read the returned "warnings" before presenting the price.
| Name | Required | Description | Default |
|---|---|---|---|
| mpn | Yes | Product MPN. | |
| qty | No | Quantity in PIECES. Below the product minimum it is raised to the MOQ and a qty_below_minimum warning is returned. Omitting it quotes the product default and warns — always pass the real target quantity, because price per piece changes substantially with volume. | |
| zone | No | Optional zone/state id, where shipping rates depend on it. | |
| country | No | Destination country for shipping rates. Accepts a name ("Germany"), ISO 3166-1 alpha-2 ("DE"), alpha-3 ("DEU") or numeric ("276"). Defaults to this domain's country. | |
| attributes | No | Option selection as {"<attribute id>": <option id>}, e.g. {"19": 251, "58": 490}. Both ids come from get_product. Option NAMES are also accepted as values but must match exactly, including double spaces, and are translated per domain — prefer ids. Any attribute you omit is filled with the product default and reported in warnings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It discloses that the quote is indicative, excludes VAT and shipping, and is never binding. It explains the MOQ behavior (quantity raised to MOQ and a warning returned), the warning for omitted quantity, attribute defaulting and reporting in warnings, and the exact matching requirement for option names (including double spaces and per-domain translation). These are non-obvious behaviors an agent must know to call the tool correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized for the complexity. It opens with the core purpose and key caveats (indicative, non-binding), then elaborates on parameters in a logical order. Every sentence provides necessary guidance; there is no fluff or repetition. The front-loading of critical warnings (read warnings, indicative) ensures the agent does not miss important context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested attributes object, the absence of an output schema, and the tool's pricing semantics, the description is exceptionally complete. It covers how to pass attributes, how quantities are handled, how countries are specified, and what warnings to expect. It even instructs the agent to read warnings before presenting the price. There is no missing information an agent would need to invoke the tool successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds substantial meaning beyond the schema. For 'qty', it explains the MOQ behavior and price sensitivity. For 'country', it enumerates accepted formats (name, alpha-2, alpha-3, numeric). For 'attributes', it explains the id structure, accepted option names with exact matching, and the default-filling behavior. These enrich the schema definitions significantly, making the tool easier to use correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Price a specific configuration and quantity, with production time and shipping options.' It uses a specific verb (price) and resource (configuration and quantity), and explicitly notes it is 'indicative, excludes VAT and shipping, never binding.' This distinguishes it from get_product (retrieving product details) and search_products (searching for products), leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use the tool: to obtain a price for a specific configuration and quantity, with production and shipping options. It also instructs to 'Read the returned warnings before presenting the price' and advises always passing the real target quantity because 'price per piece changes substantially with volume.' While it does not explicitly name alternatives or exclusions, the context of when to use it is well covered. It could have explicitly mentioned that this is not for binding orders or that it replaces other tools, but the indicative nature is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchAInspect
Compatibility search for research clients that require a tool named "search". Returns only id, title and URL. Prefer search_products, which also filters by category and returns the category of each hit.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Free text matched against the product title. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ids | No | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the key behavioral traits: it returns only id, title and URLcars and is intentionally limited compatibility-wise. It also communicates that it lacks category filtering. It doesn't mention pagination or error behavior, but for a simple read-only search this is sufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The compatibility purpose is front-loaded, the return shape is stated, and the better alternative is named in a clear pointer. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter search tool with an output schema, the description is essentially complete: it covers purpose, return fields, and when to choose a different tool. Minor omissions like pagination or result limits are acceptable given that this is a compatibility shim and the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, 'query', is described as 'Free text matched against the product title.' The description adds no additional parameter-level detail beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose: a compatibility search for research clients that require the exact tool name 'search'. It also clearly distinguishes itself from search_products by noting it returns only id, title and URL, and by pointing out that search_products adds category filtering. This differentiates the tool from its only close sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to prefer search_products, with the reason: it filters by category and returns the category of each hit. It frames this tool as a compatibility fallback, making the selection condition clear. No other guidance is needed for a one-parameter search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch productsAInspect
Find products in this catalogue by free text and/or category. Returns mpn, title, page URL and category for each match. The mpn is what get_product and get_quote take.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return. Default 50, maximum 200. | |
| query | No | Free text matched against the product title, case-insensitive. Omit to list everything (optionally narrowed by category). | |
| category | No | Taxonomy term id to filter by. Read the category tree from the dinilu://categories resource. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool 'Returns mpn, title, page URL and category,' which implies a read operation, but does not mention pagination, rate limits, authentication requirements, or potential errors. The description is not misleading but lacks depth regarding operational behavior, especially since no annotations are available to cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with the core purpose, followed by return information and the critical note about mpn usage for siblings. Every sentence contributes valuable information without redundancy or fluff. It is tightly written and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately explains the return values (mpn, title, page URL, category) and links them to downstream tools. It also implicitly covers the 'list everything' scenario by referencing free text and category filters. The description provides enough context for an agent to invoke the tool correctly without needing additional details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for all three parameters (limit, query, category), so the baseline is 3. The description does not add additional semantic meaning beyond what the schema already explains; it merely summarizes the search capabilities (free text and/or category) without detailing parameter syntax or constraints. It neither enhances nor detracts from the schema's documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find products in this catalogue by free text and/or category.' It specifies the exact resource (catalogue) and the action (search), and explicitly lists the return fields (mpn, title, page URL, category). It also distinguishes itself from siblings by noting that 'mpn is what get_product and get_quote take,' which prevents confusion about when to use this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating that the returned mpn is what the sibling tools require, effectively telling the agent to search first before calling get_product or get_quote. However, it does not explicitly state when not to use this tool or mention any alternatives beyond that implicit hint. The guidance is clear enough for a search-first workflow but lacks explicit exclusions.
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.
2 tool updates
- Added
fetch - Added
search
3 tool updates
- First observed
get_product - First observed
get_quote - First observed
search_products
Related MCP Connectors
Live prices in USD, options and shipping quotes for custom-printed promotional products.
Live prices in CAD, options and shipping quotes for custom-printed promotional products.
Live prices, options and shipping quotes in GBP for custom-printed promotional products.
Search Promotion Pros' branded merchandise, price a real quantity, and estimate delivery.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables AI agents to browse products, upload designs, place print orders, track shipments, and manage account balance via natural language.14 npmMIT- AlicenseNot gradedqualityCmaintenanceAI-native corporate gifting and event infrastructure for Fortune 500, enabling search of a 70,000+ SKU catalog, event program generation with live P&L, and wholesale quotes.MIT

Packrift MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to search a Shopify packaging-supplies catalog, get live pricing and inventory, recommend boxes, estimate shipping, and generate checkout URLs.1MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search 3,800+ vetted media outlets by budget, domain authority, geography, topic and link policy, then price a basket of placements with volume discounts applied and return a checkout link the buyer pays through. Nothing is charged and no account or API key is needed, since quoting is read-only and payment happens on the marketplace site.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.