MCP 서버

AIURION Agentic 3D Printing — San Francisco

com.aiurion/agentic-3d-printing

이 MCP로 할 수 있는 일

Quotes, updates, purchases, and tracks custom 3D-print manufacturing orders, including material, quantity, production, and fulfillment options.

printing.capabilities.get
Get 3D Printing Capabilities
Read AIURION's supported 3D model formats, limits, materials, production options, and purchasing flow.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'service', 'acceptedFileFormats', 'materials', 'printPricing'], 'properties': {'service': {'type': 'string', 'description': 'AIURION service name.'}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}, 'materials': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string', 'description': 'Material identifier.'}, 'name': {'type': 'string', 'description': 'Material display name.'}, 'sellingCentsPerGram': {'type': 'number', 'description': 'Material selling rate in USD cents per gram.'}, 'overheadMinutesPerPlate': {'type': 'number', 'description': 'Setup, warmup and cooldown minutes per occupied plate.'}}, 'additionalProperties': False}, 'description': 'Currently available print materials.'}, 'quotePrice': {'type': 'number', 'description': 'Price charged to generate a quote.'}, 'maxQuantity': {'type': 'integer', 'description': 'Maximum units accepted in one quote.'}, 'printPricing': {'type': 'object', 'required': ['currency', 'jobChargeCents', 'includedMachineMinutes', 'additionalMachineCentsPerMinute', 'materialChargeAdded', 'minimumAppliedOncePerBuild', 'quantityAlreadyIncludedInSlice', 'overheadBasis', 'samePartMultiMaterial', 'finalPriceSource'], 'properties': {'currency': {'type': 'string', 'description': 'Currency code for pricing amounts.'}, 'overheadBasis': {'type': 'string', 'description': 'Basis for setup and cooldown allowances: occupied_plate means each occupied plate incurs an allowance.'}, 'jobChargeCents': {'type': 'integer', 'description': 'Job charge in currency cents, including the initial machine-time allowance.'}, 'finalPriceSource': {'type': 'string', 'description': 'Authoritative pricing source: quote_or_build_server_totals.'}, 'materialChargeAdded': {'type': 'boolean', 'description': 'Whether material charges are added to machine-time pricing.'}, 'samePartMultiMaterial': {'type': 'string', 'description': 'Policy for a single part using multiple materials; human_review_required means manual review is needed.'}, 'includedMachineMinutes': {'type': 'integer', 'description': 'Machine minutes included in the job charge, including setup and cooldown.'}, 'minimumAppliedOncePerBuild': {'type': 'boolean', 'description': 'Whether the job minimum applies once across the build.'}, 'quantityAlreadyIncludedInSlice': {'type': 'boolean', 'description': 'Slice totals already include all requested copies; do not multiply again.'}, 'additionalMachineCentsPerMinute': {'type': 'integer', 'description': 'Charge in currency cents per minute beyond the included allowance.'}}, 'description': 'Machine-time pricing: the $100 job charge includes the first 60 machine minutes, including setup and cooldown; additional time is $1/minute. Material, rush, fulfillment, and tax are additional. Use returned server totals.', 'additionalProperties': False}, 'maxFileSizeMb': {'type': 'number', 'description': 'Maximum decoded model size in megabytes.'}, 'publicGuestAccess': {'type': 'object', 'description': 'Guest access limits and entry tool.', 'additionalProperties': True}, 'acceptedFileFormats': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Accepted 3D model filename extensions.'}, 'checkoutRequiresCustomerAction': {'type': 'boolean', 'description': 'Whether checkout requires customer action.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.checkout.create
Create Approved Stripe Checkout
Create an unpaid AIURION checkout link after the customer approves the current quote. This tool does not authorize, charge, or capture a payment and does not place a manufacturing order. Only if the customer later enters payment details and submits Stripe Checkout is their card authorized; AIURION captures payment after model review. The scoped accessToken authenticates only to AIURION, never to Stripe.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['quoteId', 'approvalConfirmed', 'idempotencyKey'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}, 'materialId': {'type': 'string', 'description': 'AIURION material identifier listed by printing.capabilities.get. Send this when creating a quote; omission defaults to black_pla. A material change re-slices the model and invalidates the prior price approval.'}, 'accessToken': {'type': 'string', 'maxLength': 138, 'minLength': 34, 'description': 'Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token.'}, 'idempotencyKey': {'type': 'string', 'maxLength': 128, 'minLength': 8, 'description': 'Stable unique key for retrying checkout creation.'}, 'productionSpeed': {'enum': ['standard', 'rush'], 'type': 'string', 'description': 'Requested production priority: standard or rush.'}, 'approvalConfirmed': {'type': 'boolean', 'const': True, 'description': 'Set true only after the customer reviews and approves the quote.'}, 'fulfillmentMethod': {'enum': ['shipping', 'courier'], 'type': 'string', 'description': 'How the completed parts should be delivered.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'checkout'], 'properties': {'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}, 'checkout': {'type': 'object', 'description': 'Stripe Checkout session created for the approved quote.', 'additionalProperties': True}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.orders.get
Get Manufacturing Order Status
Poll the payment and manufacturing status associated with a credential-owned quote.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}, 'accessToken': {'type': 'string', 'maxLength': 138, 'minLength': 34, 'description': 'Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'state', 'order'], 'properties': {'order': {'type': ['object', 'null'], 'description': 'Payment review and manufacturing status for the quote.', 'additionalProperties': True}, 'state': {'type': 'string', 'description': 'Current combined payment and manufacturing state.'}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.quotes.create
Create 3D Print Quote
Create a free 3D print quote for the selected material and actual arranged quantity. For a ChatGPT attachment, prefer the native file parameter; use fileBase64 only when the client can read the exact bytes and cannot supply a native file. Set production speed or fulfillment later with printing.quotes.update. Never invent file bytes or URLs. Reuse a stable idempotency key for retries. Returned time and grams already include all copies; use server totals and obtain customer approval before checkout.
외부 접근 가능
입력 스키마
{'type': 'object', 'oneOf': [{'not': {'required': ['fileBase64']}, 'required': ['file']}, {'not': {'required': ['file']}, 'required': ['fileName', 'fileBase64']}], 'required': ['idempotencyKey'], 'properties': {'file': {'type': 'object', 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'description': 'ChatGPT file identifier.'}, 'file_name': {'type': 'string', 'description': 'Optional original model filename.'}, 'mime_type': {'type': 'string', 'description': 'Optional MIME type.'}, 'download_url': {'type': 'string', 'description': 'Temporary HTTPS download URL supplied by ChatGPT.'}}, 'description': 'User-selected model file supplied by ChatGPT. Use fileName if the file metadata omits its original filename.', 'additionalProperties': False}, 'fileName': {'type': 'string', 'description': 'Model filename ending in STL, OBJ, STEP, STP, or 3MF.'}, 'quantity': {'type': 'integer', 'default': 1, 'maximum': 150, 'minimum': 1, 'description': 'Number of identical parts to quote, from 1 to 150.'}, 'fileBase64': {'type': 'string', 'description': 'Base64-encoded model bytes without a data URL prefix.'}, 'materialId': {'type': 'string', 'description': 'AIURION material identifier listed by printing.capabilities.get. Send this when creating a quote; omission defaults to black_pla. A material change re-slices the model and invalidates the prior price approval.'}, 'accessToken': {'type': 'string', 'maxLength': 138, 'minLength': 34, 'description': 'Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token.'}, 'idempotencyKey': {'type': 'string', 'maxLength': 128, 'minLength': 8, 'description': 'Stable unique key for this quote attempt.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'quote'], 'properties': {'quote': {'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}}, 'description': 'Created quote, pricing, and configuration.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.quotes.get
Get 3D Print Quote
Retrieve a quote previously created by this guest session or permanent integration.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}, 'accessToken': {'type': 'string', 'maxLength': 138, 'minLength': 34, 'description': 'Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'quote'], 'properties': {'quote': {'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}}, 'description': 'Current quote, pricing, and configuration.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.quotes.update
Update 3D Print Quote
Replace the owned quote's quantity, material, production speed, or fulfillment and recalculate pricing. This overwrites the current quote configuration and invalidates its prior price approval. Any still-open checkout session for the quote or its linked build is expired; the old checkout link cannot be restored. Tell the customer that an existing unpaid checkout link will stop working before applying their requested changes. Show the revised quote and obtain renewed approval before creating a new unpaid checkout link. Paid quotes and active payment authorizations cannot be changed. This tool does not charge, capture, refund, or release manufacturing.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}, 'quantity': {'type': 'integer', 'maximum': 150, 'minimum': 1, 'description': 'Updated number of identical parts, from 1 to 150.'}, 'materialId': {'type': 'string', 'description': 'AIURION material identifier listed by printing.capabilities.get. Send this when creating a quote; omission defaults to black_pla. A material change re-slices the model and invalidates the prior price approval.'}, 'accessToken': {'type': 'string', 'maxLength': 138, 'minLength': 34, 'description': 'Guest token returned by printing.sessions.start. Optional when Authorization already carries a permanent key or guest token.'}, 'productionSpeed': {'enum': ['standard', 'rush'], 'type': 'string', 'description': 'Requested production priority: standard or rush.'}, 'fulfillmentMethod': {'enum': ['shipping', 'courier'], 'type': 'string', 'description': 'How the completed parts should be delivered.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'quote'], 'properties': {'quote': {'type': 'object', 'required': ['quoteId'], 'properties': {'quoteId': {'type': 'string', 'format': 'uuid', 'description': 'AIURION quote UUID returned by printing.quotes.create.'}}, 'description': 'Updated quote, pricing, and configuration.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
printing.sessions.start
Start Guest Ordering Session
Immediately create a public, scoped 24-hour guest session with a small free quote allowance. No account or invitation is required.
입력 스키마
{'type': 'object', 'properties': {'agentName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Optional agent or platform name for support attribution.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['success', 'session'], 'properties': {'session': {'type': 'object', 'required': ['accessToken', 'tokenType', 'expiresAt', 'scopes'], 'properties': {'scopes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Operations authorized by the token.'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'description': 'Credential expiration time.'}, 'tokenType': {'type': 'string', 'description': 'Token scheme.'}, 'accessTier': {'type': 'string', 'description': 'Granted access tier.'}, 'accessToken': {'type': 'string', 'description': 'Bearer token for subsequent ordering tools.'}, 'quoteAllowance': {'type': 'integer', 'description': 'Quotes available during this guest session.'}, 'rateLimitPerMinute': {'type': 'integer', 'description': 'Maximum requests per minute.'}}, 'description': 'Temporary guest credential and usage limits.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': True, 'description': 'Confirms the operation succeeded.'}}, 'additionalProperties': True}, {'type': 'object', 'required': ['success', 'error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code.'}, 'message': {'type': 'string', 'description': 'Human-readable error message.'}}, 'description': 'Machine-readable error details.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'const': False}}, 'description': 'A structured AIURION tool error.', 'additionalProperties': True}]}
변경됨
printing.checkout.create
2026년 10월 1일 2:52 AM
변경됨
printing.quotes.update
2026년 10월 1일 2:52 AM
변경됨
printing.quotes.create
2026년 10월 1일 2:52 AM
변경됨
printing.capabilities.get
2026년 10월 1일 2:52 AM
추가됨
printing.orders.get
2026년 9월 17일 12:33 PM
추가됨
printing.checkout.create
2026년 9월 17일 12:33 PM
추가됨
printing.quotes.update
2026년 9월 17일 12:33 PM
추가됨
printing.quotes.get
2026년 9월 17일 12:33 PM
추가됨
printing.quotes.create
2026년 9월 17일 12:33 PM
추가됨
printing.sessions.start
2026년 9월 17일 12:33 PM
추가됨
printing.capabilities.get
2026년 9월 17일 12:33 PM