_ registry / mcp streamable-http · checked 1h ago

Make Parts Now

https://makepartsnow.com

Registry code: 590de62f8c7097c4

api record

Make Parts Now makes custom parts in-house: SLS nylon (PA12, TPU), FDM 3D printing, and CNC-machined 6061 aluminum or C360 brass, shipped within the US.

Flow: get_capabilities -> upload_part (wait until status is 'ready' with get_part) -> create_quote with items -> set ship_to and speed with update_quote -> pay.

endpoint
https://makepartsnow.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is Make Parts Now live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is Make Parts Now free to use?
No — it asks for a key or a login before it will serve.
What tools does Make Parts Now have?
14 tools: get_capabilities, set_refund_preference, create_agent_account, upload_part, get_upload_url, get_part, create_quote, update_quote, ….
Is Make Parts Now safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
675ms

last good check

priced tools
0

of 14 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 14 tools
1 auth-required 13 never probed 1 of 14 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_account auth-required 1h ago

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

    mcp-tool

    {
      "type": "object",
      "title": "get_accountArguments",
      "properties": {}
    }
    arguments 5 lines
  • get_capabilities unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "title": "get_capabilitiesArguments",
      "properties": {}
    }
    arguments 5 lines
  • set_refund_preference unknown never probed

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

    mcp-tool

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

    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.

    mcp-tool

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

    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).

    mcp-tool

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

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

    mcp-tool

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

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

    mcp-tool

    {
      "type": "object",
      "title": "get_partArguments",
      "required": [
        "part_id"
      ],
      "properties": {
        "part_id": {
          "type": "string",
          "title": "Part Id",
          "description": "Part id (prt_...) returned by upload_part or get_upload_url"
        }
      }
    }
    arguments 14 lines
  • create_quote unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "title": "create_quoteArguments",
      "required": [
        "items"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "title": "Items",
          "description": "Parts to quote, each {part_id, quantity (1-100000), notes?, config: {units, process, material, color?, finishes?, finish_color?, services?, infill?, layer_height?}}"
        },
        "speed": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Speed",
          "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."
        },
        "ship_to": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": true
            },
            {
              "type": "null"
            }
          ],
          "title": "Ship To",
          "default": null,
          "description": "US shipping address: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}"
        },
        "po_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Po Number",
          "default": null,
          "description": "Your purchase order number, printed on the quote and order"
        },
        "contact_email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Contact Email",
          "default": null,
          "description": "Email for receipts and order updates; defaults to the account email"
        }
      }
    }
    arguments 71 lines
  • update_quote unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "title": "update_quoteArguments",
      "required": [
        "quote_id"
      ],
      "properties": {
        "speed": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Speed",
          "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."
        },
        "ship_to": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": true
            },
            {
              "type": "null"
            }
          ],
          "title": "Ship To",
          "default": null,
          "description": "US shipping address: {name, line1, line2?, city, state, postal_code, country: 'US', phone?}"
        },
        "quote_id": {
          "type": "string",
          "title": "Quote Id",
          "description": "Quote id (qt_...) returned by create_quote"
        },
        "add_items": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true
              }
            },
            {
              "type": "null"
            }
          ],
          "title": "Add Items",
          "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?}}"
        },
        "po_number": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Po Number",
          "default": null,
          "description": "Your purchase order number, printed on the quote and order"
        },
        "update_items": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true
              }
            },
            {
              "type": "null"
            }
          ],
          "title": "Update Items",
          "default": null,
          "description": "Changes to existing items: [{item_id, quantity?, config?, notes?}]; config is merged into the item's config"
        },
        "contact_email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Contact Email",
          "default": null,
          "description": "Email for receipts and order updates; defaults to the account email"
        },
        "remove_item_ids": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "null"
            }
          ],
          "title": "Remove Item Ids",
          "default": null,
          "description": "Item ids (itm_...) to remove from the quote"
        },
        "shipping_option": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Shipping Option",
          "default": null,
          "description": "Shipping option id from the quote's shipping_options"
        }
      }
    }
    arguments 130 lines
  • create_checkout_link unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "title": "create_checkout_linkArguments",
      "required": [
        "quote_id"
      ],
      "properties": {
        "quote_id": {
          "type": "string",
          "title": "Quote Id",
          "description": "Quote id (qt_...) returned by create_quote"
        }
      }
    }
    arguments 14 lines
  • pay_with_crypto unknown never probed

    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).

    mcp-tool

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

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

    mcp-tool

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

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

    mcp-tool

    {
      "type": "object",
      "title": "list_ordersArguments",
      "properties": {
        "quote_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Quote Id",
          "default": null,
          "description": "Only orders for this quote id (qt_...)"
        }
      }
    }
    arguments 19 lines
  • get_quote unknown 1h ago

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

    mcp-tool

    {
      "type": "object",
      "title": "get_quoteArguments",
      "required": [
        "quote_id"
      ],
      "properties": {
        "quote_id": {
          "type": "string",
          "title": "Quote Id",
          "description": "Quote id (qt_...) returned by create_quote"
        }
      }
    }
    arguments 14 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 590de62f8c7097c4.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/590de62f8c7097c4/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/590de62f8c7097c4/badge.svg)](https://brick.blue/agent/590de62f8c7097c4?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.