3Descu 3D Printing Quotes (EU)
Server Details
Instant FDM and SLA 3D printing quotes from an ISO 9001:2015 certified EU factory, 200+ printers.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: measuring a model, pricing a part, describing manufacturing capabilities, and listing materials. The descriptions even cross-reference each other explicitly (feeding surface_area_mm2 into estimate_price, list_materials returning the id estimate_price expects), which removes any ambiguity. Minor conceptual overlap between get_capabilities and list_materials is resolved by the descriptions.
All four tools follow a strict verb_noun snake_case pattern (analyze_model, estimate_price, get_capabilities, list_materials). Verb choices are meaningful and predictable. No mixed conventions.
Four tools map cleanly onto the quoting workflow: discover capabilities, pick materials, measure a model, and price it. Each tool earns its place with no redundancy. Well within the ideal 3-15 range.
The quoting surface is largely covered: feasibility (get_capabilities), materials (list_materials), model analysis (analyze_model), and pricing across tiers (estimate_price). However, there is no way to submit or persist an order/quote, and shipping and VAT are explicitly excluded with no tool to estimate them. These are minor, workable gaps for a quote-focused server.
Available Tools
4 toolsanalyze_modelAnalyze a 3D modelARead-onlyIdempotentInspect
Download a 3D model from a public https URL and measure it: volume, bounding box, surface area, triangle count, and whether the mesh is watertight. Accepts .stl and .obj. Feed surface_area_mm2 from the result into estimate_price to get an exact price instead of a range. Only well-known model-hosting and file-sharing domains can be fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public https URL to a .stl or .obj file, served as the raw file rather than as an HTML page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description still adds beyond that: an outbound-fetch domain allowlist, the accepted file formats, and the exact measurements returned, which is valuable context for a network-touching tool. It does not cover failure behavior (e.g. what happens for an unsupported domain or malformed mesh).
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?
Front-loaded with the action and the measured outputs, then the downstream estimate_price link, then the fetch constraint. Sizing is appropriate for a one-parameter tool, with only mild redundancy in restating the .stl/.obj formats already present in the schema.
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?
With no output schema, the description carries the return-value burden and does list the measured quantities, which is enough for an agent to know what it gets back. It omits units conventions beyond mm², error/failure cases, and latency/cost expectations for remote downloads, leaving modest gaps.
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 coverage is 100% and the schema already documents the url format and the raw-file-not-HTML requirement, setting a baseline of 3. The description contributes extra constraint on the same parameter by restricting fetchable domains to well-known hosting/file-sharing sites, and repeats the .stl/.obj acceptance, so it adds a little value over the schema.
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?
Specific verb (download + measure) and resource (3D model from a public https URL), followed by an explicit enumeration of what is measured: volume, bounding box, surface area, triangle count, watertightness. It also names a sibling (estimate_price) and the downstream relationship, so it is distinguishable from get_capabilities and list_materials 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use context via the routing instruction to feed surface_area_mm2 into estimate_price for an exact price instead of a range, which tells the agent this tool is the precise-pricing path. It also states a real precondition (only well-known model-hosting and file-sharing domains can be fetched), though it does not spell out an explicit 'do not use this if...' exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_priceEstimate a print priceARead-onlyIdempotentInspect
Price a part in EUR across economy, standard and express production, using the same engine as the public calculator. Supply surface_area_mm2 for a single price; omit it and the answer is the range the shape could produce. Excludes shipping and VAT.
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | Yes | Number of identical pieces. | |
| volume_cm3 | Yes | Solid volume of the mesh in cm3. Not the bounding box volume. | |
| material_id | Yes | Material id from list_materials, for example "pla" or "abs". | |
| infill_percent | No | Default 20. | |
| bounding_box_mm | Yes | Overall size of the part in millimetres. | |
| layer_height_mm | No | Default 0.2. | |
| surface_area_mm2 | No | Outer surface area in mm2. Optional, but it is what turns the answer from a range into a single price. Call analyze_model to obtain it. | |
| wall_thickness_mm | No | Default 1.2. | |
| destination_country | No | ISO 3166-1 alpha-2 code, for example "DE". Adds a courier transit estimate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe, read-only, idempotent profile, so the bar is lower. The description adds genuine value beyond them: it names the pricing engine, the exact effect of omitting surface_area (range vs single price), and the exclusions (shipping/VAT). It still doesn't describe the response shape, but the behavioral context is solid.
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?
Three tight sentences, front-loaded with purpose and pricing tiers, then the key surface_area conditional, then scope limits. Every sentence earns its place with no filler.
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 9-parameter tool with no output schema, the description covers the pricing scope, the pivotal surface_area behavior, and exclusions. The main residual gap is the absence of any statement about the returned price structure, but it is otherwise complete enough to invoke 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 schema already documents all 9 parameters. The description explains surface_area_mm2's effect, but that is largely duplicated by the schema's own description of that field, so it adds only marginal meaning. Baseline 3 is appropriate.
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?
States a specific verb and resource ('Price a part in EUR') plus the scope (economy, standard, express) and the engine used. An agent can immediately distinguish this estimation tool from list_materials, analyze_model, and get_capabilities.
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?
Gives a clear conditional: supply surface_area_mm2 for a single price, omit it to get a range, and references analyze_model as the source for that value. It also scopes the result (excludes shipping and VAT). It does not explicitly state when to prefer this over siblings, but the conditional usage is well covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesGet 3Descu capabilitiesARead-onlyIdempotentInspect
What 3Descu can manufacture: technologies, build volumes, layer heights, accepted file formats, production tiers, minimum order value, and what is available on request. Call this first if you do not know whether a part is feasible.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds value by enumerating what is returned (volumes, layer heights, tiers, MOV) in the absence of an output schema, which is the main behavioral fact an agent needs. It does not describe response size or format, keeping it below a 5.
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 sentences, front-loaded with the payload contents and closed with the decision rule. Every clause maps to either what is returned or when to call it; nothing is redundant.
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?
With zero parameters, rich read-only annotations, and no output schema, the description carries the return-value burden and does so by listing the capability categories. Adequate for correct invocation, though it could note whether the result is static reference data or account-specific.
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 tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The schema's empty properties object is consistent with the description's framing as a parameterless catalog query.
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 enumerates precisely what the tool returns: technologies, build volumes, layer heights, file formats, production tiers, minimum order value, and on-request options. The resource ('what 3Descu can manufacture') is specific enough that an agent can distinguish it from analyze_model, estimate_price, and list_materials, though no sibling is named explicitly.
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?
'Call this first if you do not know whether a part is feasible' gives a clear trigger condition and positions the tool as a discovery step ahead of the analysis/pricing siblings. It stops short of stating when not to call it (e.g., if feasibility is already known), but the guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_materialsList printing materialsARead-onlyIdempotentInspect
The materials available for FDM and SLA printing, with density and what each is suited to. Returns the id that estimate_price expects.
| Name | Required | Description | Default |
|---|---|---|---|
| technology | No | Optional filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds what the return entries contain (density, suitability, ids), which is useful, but says nothing about ordering or whether the list is exhaustive per technology.
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 tight sentences, front-loaded with what is returned and ending with the actionable linkage to estimate_price. Nothing superfluous.
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?
With no output schema, the description correctly compensates by naming the returned fields and the id contract. Complete enough for an agent to call it, though it omits whether the full list is returned when the filter is absent.
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% and the single optional parameter is documented, so the schema carries the burden. The description's mention of FDM and SLA implies the filter dimension but adds no meaning beyond the enum.
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?
States the specific resource (printing materials) and its scope (FDM and SLA), plus the fields each entry carries (density, suitability). The purpose is unmistakable, though no explicit verb like "list" is used and differentiation from siblings is only indirect.
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?
"Returns the id that estimate_price expects" effectively tells the agent to call this before estimating a price, giving clear usage context. There are no exclusions or guidance on when not to call it, and no comparison to get_capabilities.
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.
4 tool updates
- First observed
analyze_model - First observed
estimate_price - First observed
get_capabilities - First observed
list_materials
Related MCP Connectors
Instant 3D printing and CNC machining quotes from your CAD files (STL, STEP, 3MF, OBJ): price and ship date for SLS nylon, FDM plastic, aluminum and brass parts made in the US
Quote, check and order 3D prints of STL, 3MF, STEP or OBJ files. Made in the USA, shipped in the US.
Quote and order 3D prints (PETG/ABS) from STL/3MF files, printed and shipped in Norway.
UK 3D printing quotes for your files or Printables models, mail-in repair prices and order status.
Related MCP Servers
- AlicenseAqualityCmaintenanceGet live UK 3D printing prices for your own STL/3MF/STEP files or Printables and Thingiverse models, with a checkout link. Also finds mail-in electronics repair prices and checks order or repair progress.9MIT
- AlicenseAqualityCmaintenanceMCP server for real FDM 3D-printing slicing, quoting, and design-for-manufacturability analysis via the FabTally API, supporting 12 printer profiles and 12 materials. Includes free discovery/printability tools and paid slice/quote/orientation tools settled via x402 (USDC on Base).6MIT
- AlicenseBqualityBmaintenanceConnects AI agents and LLM clients to a 3D printing studio to manage orders, printer fleets, slicing and quoting, shipping waybills, customer conversations, and analytics.3511 npmMIT
- AlicenseAqualityCmaintenanceModel Context Protocol (MCP) server for Jet3D.pl — design custom 3D-printed cookie cutters, compute real-time pricing, and generate Instant BLIK checkout links for AI agents.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.