com.makepartsnow/manufacturing · v1.0.0 · ecommerce
Make Parts Now: 3D Printing & CNC Machining Quotes is healthy: it completed an MCP handshake in 2037 ms and exposes 18 tools.
Instant quotes and ordering for 3D printing and CNC machining: SLS, FDM, aluminum and brass parts.
Endpoint: https://makepartsnow.com/mcp (streamable-http)
No repository listed · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 18 |
| Latency | 2037 ms |
| Last checked (UTC) | 2026-10-15T22:20:11.753Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-15T22:20:11.753Z | Healthy | 2037 | |
| 2026-10-14T20:25:48.415Z | Healthy | 2674 |
get_capabilities | Processes, materials, colors, finishes, services, speeds, file formats, limits and payment methods. |
create_agent_account | 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. |
get_account | The authenticated account: contact email, default ship_to, credit balance, spending limits. |
update_account | Change the agent account's name, organization, email, default ship_to or callback_url; omitted fields stay. A new email or callback_url is emailed to the previous account email. Agent accounts only. |
upload_part | 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 CU |
get_upload_url | Get a one-time URL to HTTP PUT a large file directly (no auth header needed). Returns the part on upload. |
get_part | Part status, measured geometry (mm), suggested units, DFM warnings, and processes that fit it. Pass wait_seconds to wait for a pending part's analysis in this call instead of polling. |
create_quote | 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. |
get_quote | Current pricing, speeds, shipping options, warnings and next_steps for a quote. |
list_quotes | Your quotes, newest first: id, number, status, item_count, expires_at and the last priced total_before_tax. Nothing is repriced; use get_quote for current prices. Use it to find quotes to discard when you hit the open-quote limit. |
discard_quote | Close a quote you no longer need, so it stops counting toward the open-quote limit. It becomes 'expired': its checkout links and USDC payment requests stop working and it can't be paid. Discarding it again is harmless. An ordered quote, or one with a USDC payment received, can't be discarded |
update_quote | 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. |
create_checkout_link | 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. |
pay_with_crypto | 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); nothing is charged. Then sign an x402 'exact' payment and call again with payment_signature (the base64 PAYMENT-SIGNATURE value) |
get_order | Order status, ship-by and arrive-by dates, tracking. |
list_orders | Orders for this account, newest first. Filter by quote_id to check whether a checkout link was paid. |
set_refund_preference | For USDC orders: receive refunds as 'usdc' (sent to the paying wallet) or 'credit' (account credit). |
request_order_cancellation | Ask the shop to cancel an order that hasn't shipped. A person reviews it; production may already have started. Asking again within 24 hours adds the reason without notifying the shop twice. The order.status_changed webhook and get_order show the outcome. |