Make Parts Now: 3D Printing & CNC Machining Quotes

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
83%
Calidad de los nombres
99%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_upload_url' suggests web access but openWorldHint=falseen get_upload_url

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,204Tokens (definiciones de herramientas)
~1.8 KBTamaño de respuesta típico
Impacto significativo en la atención (2.50% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://makepartsnow.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_capabilities

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

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

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

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

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

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

Esquema de entrada

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

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

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

Esquema de entrada

{
  "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"
}

Esquema de salida

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

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

Esquema de entrada

{
  "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"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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"
}

Esquema de salida

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

Esquema de entrada

{
  "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"
}

Esquema de salida

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas