AIURION Agentic 3D Printing — San Francisco
Server Details
Quote, purchase, and track custom 3D prints from AIURION in San Francisco.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
7 toolsprinting.capabilities.getGet 3D Printing CapabilitiesARead-onlyInspect
Read AIURION's supported 3D model formats, limits, materials, production options, and purchasing flow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds context about the specific content returned (formats, limits, materials, production options, purchasing flow), which clarifies what the read operation exposes. It does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that fronts the verb 'Read' and enumerates the key content areas in a compact list. Every phrase adds informational value without redundancy.
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 has no parameters and an output schema is present, so return values need no explanation. The description fully covers the scope of the tool for a read-only capabilities getter, making it complete given the simplicity.
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 has zero parameters, and the input schema is empty with 100% schema coverage. Per the baseline for no-parameter tools, the description does not need to elaborate; it correctly avoids mentioning nonexistent 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 the specific verb 'Read' and identifies the exact resource: 'AIURION's supported 3D model formats, limits, materials, production options, and purchasing flow.' This clearly distinguishes it from sibling tools like printing.checkout.create or printing.quotes.get, which handle transactions rather than capability discovery.
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 does not explicitly state when to use this tool versus alternatives. The name 'capabilities.get' and read-only annotation imply it is a preliminary discovery tool, but no direct guidance or alternatives are mentioned, so usage context remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.checkout.createCreate Approved Stripe CheckoutAInspect
Create a Stripe Checkout URL after the customer approves the quote. Stripe authorizes the card; AIURION captures payment only after manually approving the model.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | AIURION quote UUID returned by printing.quotes.create. | |
| materialId | No | AIURION material identifier listed by printing.capabilities.get. | |
| accessToken | No | Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token. | |
| idempotencyKey | Yes | Stable unique key for retrying checkout creation. | |
| productionSpeed | No | Requested production priority: standard or rush. | |
| approvalConfirmed | Yes | Set true only after the customer reviews and approves the quote. | |
| fulfillmentMethod | No | How the completed parts should be delivered. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal a write operation that is not destructive. The description additionally explains the payment model: Stripe authorizes the card, while AIURION captures payment only after manual approval. This adds important behavior beyond the schema.
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 tightly written sentences give the key purpose and the payment-capture nuance with no filler. The most important trigger condition is front-loaded in the first sentence.
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 description is sufficient given the annotated schema, output schema, and clear preconditions. It defines the action, the correct timing, and the payment-flow caveat, so an agent has enough to select and call the tool 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 coverage is 100%, so parameter meaning is already fully documented. The description adds no new parameter-specific semantics and does not need to, given the rich schema descriptions.
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 names a specific action (create) and resource (Stripe Checkout URL) and adds a precise precondition (after the customer approves the quote). This clearly separates it from printing.quotes.create, which creates the quote itself.
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 explicitly says to use the tool after customer approval of the quote, which gives clear contextual timing. It stops short of explicitly naming alternatives or giving when-not-to-use guidance, but the resource and precondition are enough for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.orders.getGet Manufacturing Order StatusARead-onlyInspect
Poll the payment and manufacturing status associated with a credential-owned quote.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | AIURION quote UUID returned by printing.quotes.create. | |
| accessToken | No | Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context by specifying 'payment and manufacturing status' and 'credential-owned', reinforcing the read-only, auth-oriented nature of the operation. However, it does not mention rate limits or additional side effects, but with annotations this is sufficient.
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 a single, front-loaded sentence that states the action, object, and context without waste. Every word adds value, making it highly concise and well-structured.
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 simple two-parameter tool with output schema, annotations covering safety, and full parameter schema descriptions, the description is complete enough. It conveys the core purpose and relies on structured data for details, which is sufficient.
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%; both parameters (quoteId and accessToken) are fully explained with provenance from other print tools. The description adds no additional parameter-level meaning, so the baseline score of 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?
The description uses the specific verb 'Poll' and clearly identifies the resource ('payment and manufacturing status') and the scope ('credential-owned quote'). This distinguishes it from siblings like printing.quotes.get, making the tool's purpose unambiguous.
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 verb 'Poll' and the phrase 'associated with a credential-owned quote' imply this tool is used after a quote is created to check status. Context is clear, but it does not explicitly state when to avoid using it or name alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.quotes.createCreate 3D Print QuoteAInspect
Create a free, checkout-ready 3D print quote. The model must be supplied as base64 and a stable idempotency key must be reused for retries.
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | Model filename ending in STL, OBJ, STEP, STP, or 3MF. | |
| quantity | No | Number of identical parts to quote, from 1 to 150. | |
| fileBase64 | Yes | Base64-encoded model bytes without a data URL prefix. | |
| accessToken | No | Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token. | |
| idempotencyKey | Yes | Stable unique key for this quote attempt. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, so the agent already knows this is a non-destructive write operation. The description adds valuable behavioral details: the quote is free, checkout-ready, requires base64 encoding, and idempotency key reuse. It does not contradict annotations and adds context beyond them.
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, front-loads the core purpose, and every clause adds value. It avoids fluff and extraneous detail, making it highly efficient for an agent to parse.
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 a complete schema (100% coverage), annotations, and an output schema, the description doesn't need to repeat parameter details or return formats. It covers the essential constraints (base64, idempotency, checkout-ready) and purpose. However, it could have mentioned the relationship to sessions.start for obtaining an access token, but the schema's accessToken description already covers that.
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 reinforces that fileBase64 must be base64 and idempotencyKey should be reused for retries, but these points are already present in the schema parameter descriptions. No additional parameter semantics are provided beyond what the schema already covers.
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 creates a 3D print quote and specifies it is free and checkout-ready. This distinguishes it from sibling tools like quotes.get (read), quotes.update (update), and checkout.create (checkout creation). The verb+resource combination (create quote) is specific and unambiguous.
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: create a quote before checkout, and it provides key input constraints (base64 model, idempotency key for retries). However, it does not explicitly name alternative tools for different scenarios (e.g., use quotes.update for modifying an existing quote). Despite this, the context is clear enough for an agent to infer when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.quotes.getGet 3D Print QuoteARead-onlyInspect
Retrieve a quote previously created by this guest session or permanent integration.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | AIURION quote UUID returned by printing.quotes.create. | |
| accessToken | No | Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds context about session/integration scope, but does not disclose behavior for missing or expired quotes, or any other edge-case details.
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?
A single, front-loaded sentence that conveys the core purpose without any filler. Every word adds meaning.
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 simple retrieval tool with an output schema, good annotations, and clear sibling context, the description is sufficiently complete. It specifies the resource type and scope, and the schema covers the parameters.
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 both quoteId and accessToken are fully documented. The description adds no additional parameter syntax or format meaning beyond the schema, so a baseline score of 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?
The description uses the specific verb 'Retrieve' and identifies the resource as 'a quote previously created by this guest session or permanent integration.' This clearly distinguishes it from sibling tools like printing.quotes.create and printing.quotes.update, and from other get tools by scoping to quotes.
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 clear context by specifying the quote must be 'previously created by this guest session or permanent integration,' implying it should be used after a quote has been created. However, it does not explicitly state when not to use it or name alternatives, so it stops short of full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.quotes.updateUpdate 3D Print QuoteAInspect
Update quantity, material, production speed, or fulfillment before checkout.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | AIURION quote UUID returned by printing.quotes.create. | |
| quantity | No | Updated number of identical parts, from 1 to 150. | |
| materialId | No | AIURION material identifier listed by printing.capabilities.get. | |
| accessToken | No | Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token. | |
| productionSpeed | No | Requested production priority: standard or rush. | |
| fulfillmentMethod | No | How the completed parts should be delivered. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false and destructiveHint=false, so the description needs only to add context. It adds 'before checkout' as timing and lists editable fields, but does not mention state requirements, whether updates replace prior values, or whether a checkout modifies the quote.
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 one front-loaded sentence with no filler. It uses the fewest words possible to convey action, target fields, and lifecycle timing, and every phrase in the sentence adds value.
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 available rich schema, enums, output schema, and annotations, this description is adequate for call selection and invocation. 'Before checkout' anchors the operation in the correct workflow; the only missing piece is explicit guidance about when to choose this over creating a new quote, but the schema already states the prerequisite of an existing quoteId.
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 each parameter already carries rich descriptions such as UUID provenance and source of materialId. The description only paraphrases field names and does not add new parameter meaning beyond 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?
The description uses a specific verb and resource: 'Update quantity, material, production speed, or fulfillment' clearly identifies a quote mutation action. While it distinguishes itself enough from create/checkout via the term 'Update', it does not explicitly name or contrast sibling tools.
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 phrase 'before checkout' provides useful lifecycle context and implies a relationship with printing.checkout.create. However, it does not explicitly say when not to use the tool or name an alternative such as printing.quotes.create or printing.quotes.get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
printing.sessions.startStart Guest Ordering SessionAInspect
Immediately create a public, scoped 24-hour guest session with a small free quote allowance. No account or invitation is required.
| Name | Required | Description | Default |
|---|---|---|---|
| agentName | No | Optional agent or platform name for support attribution. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-destructive operation. The description adds behavioral specifics: 'public, scoped 24-hour guest session with a small free quote allowance' and 'No account or invitation is required.' This goes beyond annotations by disclosing session limits, scope, and access requirements, though it does not detail session expiration or side effects.
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 a single, front-loaded sentence that immediately states the action and key details. Every word contributes value, with no filler or redundancy. It is maximally concise while retaining essential 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?
Given the tool's simplicity (one optional parameter, no nested objects), the description is complete: it explains what the tool does, session characteristics, and requirements. An output schema exists, so return-value details are covered externally. No critical context is missing for an agent to correctly invoke this tool.
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 only parameter, agentName, already has a schema description ('Optional agent or platform name for support attribution.'), and the tool description adds no additional meaning for it. With 100% schema coverage, the baseline of 3 is appropriate; the description neither detracts nor adds value for 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 clearly states the tool's function: 'Immediately create a public, scoped 24-hour guest session with a small free quote allowance.' It specifies the resource (session), the action (create), and key attributes (public, scoped, 24-hour, free quote allowance), distinguishing it from sibling tools that handle capabilities, quotes, checkout, and orders.
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 context: it is for creating a guest session without requiring an account or invitation. While it does not explicitly exclude alternatives or name when-not-to-use, the context is strong enough to infer its role as a starting point for guest ordering sessions. It lacks explicit comparison to siblings but is not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Turn designs into shipped parts: quote 3D printing, CNC, and decals, then check out.
Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.
Instant parametric cost estimates for custom manufacturing: CNC, molding, sheet metal, 3DP, PCB.
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables sending local 3D print files to PrintYourDuck for manual quote review, including file discovery, upload, and status checking.83MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to submit, slice, and start 3D prints with configurable gates, preview approval, and monitoring, via a self-hosted print daemon.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to operate a 3D print farm via O.D.I.N. backend, including job queuing, printer control, inventory management, and standalone cost calculators.19Apache 2.0

GoModelHub 3D MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables 3D model generation via natural language, supporting text-to-3D and image-to-3D with remote or local deployment options.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct resource/action: capabilities, checkout, orders, quotes (create/get/update), and sessions. There is no overlap in purpose, so an agent can unambiguously select the correct tool.
All tool names follow a consistent dotted pattern: printing.<resource>.<action>. Verbs are uniform (get, create, update, start) and snake_case is used throughout, making the API predictable.
Seven tools is well-scoped for a 3D printing service, covering the main workflow (capability discovery, session creation, quote management, checkout, and order tracking) without redundancy or bloat.
The surface covers the core lifecycle: capabilities, session, quote CRUD (create/get/update), checkout, and order status. A minor gap is lack of explicit delete/cancel operations, but these can be worked around via update or are not essential for the stated flow.