Make Parts Now: 3D Printing & CNC Machining Quotes

Instant quotes and ordering for 3D printing and CNC machining: SLS, FDM, aluminum and brass parts.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
83%
이름 품질
99%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'get_upload_url' suggests web access but openWorldHint=falseget_upload_url에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,204토큰 (도구 정의)
~1.8 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.50%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "manufacturing": {
      "url": "https://makepartsnow.com/mcp"
    }
  }
}

원격 엔드포인트

https://makepartsnow.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (14)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢get_capabilities

Processes, materials, colors, finishes, services, speeds, file formats, limits and payment methods.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "get_capabilitiesArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_capabilitiesDictOutput"
}
🟡create_agent_account(name, email, accept_terms, organization, callback_url, ...)

Create an autonomous agent account and API key. accept_terms must be true (Terms of Sale + Agent Terms). ship_to: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}. The api_key is shown once.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Name of the agent or app placing orders",
      "title": "Name",
      "type": "string"
    },
    "email": {
      "description": "Email that receives the account notice, receipts, and order problems",
      "title": "Email",
      "type": "string"
    },
    "accept_terms": {
      "description": "Must be true to accept the Terms of Sale and Agent Terms",
      "title": "Accept Terms",
      "type": "boolean"
    },
    "organization": {
      "default": "",
      "description": "Company or person operating the agent",
      "title": "Organization",
      "type": "string"
    },
    "callback_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Public https URL for signed part, quote, and order webhooks",
      "title": "Callback Url"
    },
    "ship_to": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "US shipping address: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}",
      "title": "Ship To"
    }
  },
  "required": [
    "name",
    "email",
    "accept_terms"
  ],
  "title": "create_agent_accountArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_agent_accountDictOutput"
}
🟢get_account

The authenticated account: contact email, default ship_to, credit balance, spending limits.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "get_accountArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_accountDictOutput"
}
🟡upload_part(no_controlled_data, url, content_base64, filename)

Upload a CAD file (STL, 3MF, OBJ, STEP) from an https URL or base64 content (filename required for base64). MCP requests are limited to 4 MB, so base64 works for files up to about 3 MB; use a URL or get_upload_url for larger files. no_controlled_data must be true: confirms the file has no CUI/ITAR/export-controlled data. Returns a part with status 'pending'; poll get_part until 'ready' (usually seconds).

입력 스키마

{
  "type": "object",
  "properties": {
    "no_controlled_data": {
      "description": "Must be true: confirms the file contains no CUI, ITAR, or export-controlled data",
      "title": "No Controlled Data",
      "type": "boolean"
    },
    "url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Public https URL of the CAD file; we fetch it server-side",
      "title": "Url"
    },
    "content_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The file's bytes, base64-encoded (up to about 3 MB)",
      "title": "Content Base64"
    },
    "filename": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "File name with extension (.stl, .3mf, .obj, .step); required with content_base64",
      "title": "Filename"
    }
  },
  "required": [
    "no_controlled_data"
  ],
  "title": "upload_partArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "upload_partDictOutput"
}
🟡get_upload_url(filename, no_controlled_data)

Get a one-time URL to HTTP PUT a large file directly (no auth header needed). Returns the part on upload.

입력 스키마

{
  "type": "object",
  "properties": {
    "filename": {
      "description": "File name with extension (.stl, .3mf, .obj, .step)",
      "title": "Filename",
      "type": "string"
    },
    "no_controlled_data": {
      "description": "Must be true: confirms the file contains no CUI, ITAR, or export-controlled data",
      "title": "No Controlled Data",
      "type": "boolean"
    }
  },
  "required": [
    "filename",
    "no_controlled_data"
  ],
  "title": "get_upload_urlArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_upload_urlDictOutput"
}
🟢get_part(part_id)

Part status, measured geometry (mm), suggested units, DFM warnings, and processes that fit it.

입력 스키마

{
  "type": "object",
  "properties": {
    "part_id": {
      "description": "Part id (prt_...) returned by upload_part or get_upload_url",
      "title": "Part Id",
      "type": "string"
    }
  },
  "required": [
    "part_id"
  ],
  "title": "get_partArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_partDictOutput"
}
🟡create_quote(items, ship_to, speed, contact_email, po_number)

Create a quote. items: [{part_id, quantity, config: {units, process, material, color, finishes, finish_color, services, infill, layer_height}}]. See get_capabilities for valid ids. Returns prices, speed options with ship/arrival dates, and next_steps.

입력 스키마

{
  "type": "object",
  "properties": {
    "items": {
      "description": "Parts to quote, each {part_id, quantity (1-100000), notes?, config: {units, process, material, color?, finishes?, finish_color?, services?, infill?, layer_height?}}",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Items",
      "type": "array"
    },
    "ship_to": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "US shipping address: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}",
      "title": "Ship To"
    },
    "speed": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Production speed: economy, standard, fast, faster, or fastest (FDM only). Faster speeds add a rush fee; get_capabilities lists each process's speeds.",
      "title": "Speed"
    },
    "contact_email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Email for receipts and order updates; defaults to the account email",
      "title": "Contact Email"
    },
    "po_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Your purchase order number, printed on the quote and order",
      "title": "Po Number"
    }
  },
  "required": [
    "items"
  ],
  "title": "create_quoteArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_quoteDictOutput"
}
🟢get_quote(quote_id)

Current pricing, speeds, shipping options, warnings and next_steps for a quote.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "Quote id (qt_...) returned by create_quote",
      "title": "Quote Id",
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "title": "get_quoteArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_quoteDictOutput"
}
🔴update_quote(quote_id, ship_to, speed, shipping_option, contact_email, ...)

Change speed (economy|standard|fast|faster|fastest), ship_to, shipping_option, items. update_items: [{item_id, quantity?, config?, notes?}] where config is merged into the item's config.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "Quote id (qt_...) returned by create_quote",
      "title": "Quote Id",
      "type": "string"
    },
    "ship_to": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "US shipping address: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}",
      "title": "Ship To"
    },
    "speed": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Production speed: economy, standard, fast, faster, or fastest (FDM only). Faster speeds add a rush fee; get_capabilities lists each process's speeds.",
      "title": "Speed"
    },
    "shipping_option": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Shipping option id from the quote's shipping_options",
      "title": "Shipping Option"
    },
    "contact_email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Email for receipts and order updates; defaults to the account email",
      "title": "Contact Email"
    },
    "po_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Your purchase order number, printed on the quote and order",
      "title": "Po Number"
    },
    "add_items": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parts to add, each {part_id, quantity (1-100000), notes?, config: {units, process, material, color?, finishes?, finish_color?, services?, infill?, layer_height?}}",
      "title": "Add Items"
    },
    "update_items": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Changes to existing items: [{item_id, quantity?, config?, notes?}]; config is merged into the item's config",
      "title": "Update Items"
    },
    "remove_item_ids": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Item ids (itm_...) to remove from the quote",
      "title": "Remove Item Ids"
    }
  },
  "required": [
    "quote_id"
  ],
  "title": "update_quoteArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "update_quoteDictOutput"
}
🔴create_checkout_link(quote_id)

Option A: get a Stripe Checkout URL for a human to pay by card (tax added at checkout). Each new link stops earlier links for the same quote from working.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "Quote id (qt_...) returned by create_quote",
      "title": "Quote Id",
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "title": "create_checkout_linkArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_checkout_linkDictOutput"
}
🔴pay_with_crypto(quote_id, payment_signature, use_credit)

Option B: pay autonomously in USDC via x402 (agent accounts only). Call without payment_signature to get the payment requirements (amount, asset, pay_to, network). Then sign an x402 'exact' payment and call again with payment_signature (the base64 PAYMENT-SIGNATURE value).

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "Quote id (qt_...) returned by create_quote",
      "title": "Quote Id",
      "type": "string"
    },
    "payment_signature": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Base64 x402 PAYMENT-SIGNATURE for the requirements from the first call; omit to get the requirements",
      "title": "Payment Signature"
    },
    "use_credit": {
      "default": true,
      "description": "Apply account credit before charging USDC",
      "title": "Use Credit",
      "type": "boolean"
    }
  },
  "required": [
    "quote_id"
  ],
  "title": "pay_with_cryptoArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "pay_with_cryptoDictOutput"
}
🟢get_order(order_id)

Order status, ship-by and arrive-by dates, tracking.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "description": "Order id (ord_...) from list_orders or the paid quote",
      "title": "Order Id",
      "type": "string"
    }
  },
  "required": [
    "order_id"
  ],
  "title": "get_orderArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_orderDictOutput"
}
🟢list_orders(quote_id)

Orders for this account, newest first. Filter by quote_id to check whether a checkout link was paid.

입력 스키마

{
  "type": "object",
  "properties": {
    "quote_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only orders for this quote id (qt_...)",
      "title": "Quote Id"
    }
  },
  "title": "list_ordersArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_ordersOutput"
}
🟡set_refund_preference(order_id, method)

For USDC orders: receive refunds as 'usdc' (sent to the paying wallet) or 'credit' (account credit).

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "description": "Order id (ord_...) from list_orders or the paid quote",
      "title": "Order Id",
      "type": "string"
    },
    "method": {
      "description": "'usdc' sends refunds to the paying wallet; 'credit' adds them to account credit",
      "enum": [
        "usdc",
        "credit"
      ],
      "title": "Method",
      "type": "string"
    }
  },
  "required": [
    "order_id",
    "method"
  ],
  "title": "set_refund_preferenceArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "set_refund_preferenceDictOutput"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개