Make Parts Now: 3D Printing & CNC Machining Quotes

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

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count18
Latency2037 ms
Last checked (UTC)2026-10-15T22:20:11.753Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T22:20:11.753ZHealthy2037
2026-10-14T20:25:48.415ZHealthy2674

Tools (18)

get_capabilitiesProcesses, materials, colors, finishes, services, speeds, file formats, limits and payment methods.
create_agent_accountCreate 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_accountThe authenticated account: contact email, default ship_to, credit balance, spending limits.
update_accountChange 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_partUpload 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_urlGet a one-time URL to HTTP PUT a large file directly (no auth header needed). Returns the part on upload.
get_partPart 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_quoteCreate 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_quoteCurrent pricing, speeds, shipping options, warnings and next_steps for a quote.
list_quotesYour 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_quoteClose 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_quoteChange 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_linkOption 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_cryptoOption 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_orderOrder status, ship-by and arrive-by dates, tracking.
list_ordersOrders for this account, newest first. Filter by quote_id to check whether a checkout link was paid.
set_refund_preferenceFor USDC orders: receive refunds as 'usdc' (sent to the paying wallet) or 'credit' (account credit).
request_order_cancellationAsk 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.