Wyntek MCP Server Reference
Wyntek's MCP server lives at https://wyntek.tech/mcp. It is stateless, read-only, and needs no authentication: each request is one JSON-RPC message sent as an HTTP POST, and each reply is plain JSON.
Updated 30 Sep 2026 · 4 min read · By Wyntek
Endpoint and transport
Send JSON-RPC 2.0 messages as HTTP POST requests to https://wyntek.tech/mcp with Content-Type: application/json. The server always replies with application/json rather than an event stream, and it keeps nothing between requests, so it never issues an Mcp-Session-Id.
- POST carries requests, notifications, and responses. Notifications get HTTP 202 with no body.
- GET and DELETE return HTTP 405: there is no server-to-client stream and no session to close.
- OPTIONS answers CORS preflight. Any origin may call the server, and no cookies are involved.
- The MCP-Protocol-Version header is optional. If you send it, it must name a supported version, or the server answers HTTP 400.
- Batches of up to 20 messages are still accepted for older clients.
Initialize
Clients start with initialize. The server echoes the protocol version you ask for when it supports it, and otherwise answers with its latest version, 2025-11-25.
curl -s https://wyntek.tech/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}'{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2025-06-18",
"capabilities": {
"tools": {
"listChanged": false
}
},
"serverInfo": {
"name": "wyntek",
"title": "Wyntek manufacturing",
"version": "1.0.0"
},
"instructions": "Wyntek turns CAD files into fabricated, inspected, shipped parts (FDM and SLA 3D printing, CNC machining). Use list_capabilities to see processes, materials, plans and lead times. Use estimate_price for a dollar estimate from a part volume or a small STL/OBJ file. Agents cannot place or pay for orders: use create_order_link and give the link to the person, who signs in, uploads the file, reviews the binding price and submits."
}
}Tools
tools/list returns three tools. Each is annotated as read-only, non-destructive, and idempotent, and each returns its result as both text and structuredContent.
list_capabilities
Takes no arguments. Returns every process with its materials and typical lead time, the plans that include each material, plan prices, accepted file formats, and quantity limits.
estimate_price
| Argument | Type | Notes |
|---|---|---|
| process | string, required | fdm, sla, or cnc |
| material | string, required | A material id from list_capabilities, such as pla or aluminum |
| quantity | integer | 1 to 100, default 1 |
| volume_cm3 | number | Solid volume of one unit in cubic centimetres |
| files | array | Up to 5 objects of the form { name, content_base64 }, 3 MB in total. STL and OBJ in millimetres are measured; other formats return manual_review. |
Send exactly one of volume_cm3 or files. The estimate uses the same calculation as Wyntek's checkout and excludes shipping.
curl -s https://wyntek.tech/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"estimate_price","arguments":{"process":"fdm","material":"petg","quantity":10,"volume_cm3":12.5}}}'{
"process": "fdm",
"material": {
"id": "petg",
"name": "PETG"
},
"quantity": 10,
"currency": "USD",
"available_on_plans": [
"free",
"pro",
"max",
"enterprise"
],
"typical_lead_time_days": 3,
"order_url": "https://wyntek.tech/jobs/new?service=fdm&material=petg&quantity=10",
"note": "Estimate only, excluding shipping. The binding price is calculated from the uploaded file when the order is submitted on wyntek.tech.",
"status": "estimated",
"volume_cm3": 12.5,
"unit_price": {
"amount_cents": 160,
"formatted": "$1.60"
},
"total_price": {
"amount_cents": 1600,
"formatted": "$16"
}
}create_order_link
Takes an optional process, material, and quantity. Returns an order_url into Wyntek's order form with those fields filled in, the steps the person follows, and requires_human: true.
{
"order_url": "https://wyntek.tech/jobs/new?service=fdm&material=petg&quantity=10",
"steps": [
"Open the link. Sign in, or create a free account if new.",
"Upload the CAD file and confirm the configuration.",
"Review the binding price, then submit. Shipping is arranged from the dashboard once the part is made."
],
"requires_human": true
}Errors
Protocol problems come back as JSON-RPC errors. Problems with a tool's input come back as an ordinary result with isError: true and an error code, so the model can read the message and try again.
| Case | Response |
|---|---|
| Body is not valid JSON | HTTP 400, JSON-RPC -32700 Parse error |
| Unknown method | JSON-RPC -32601 Method not found |
| Unknown tool, or arguments that are not an object | JSON-RPC -32602 Invalid params |
| Invalid estimate input | Result with isError and error.code invalid_request, unknown_material, or unparseable_file |
| Pricing briefly unavailable | Result with isError and error.code unavailable |
| Unsupported MCP-Protocol-Version header | HTTP 400 |
| Body over 4.4 MB | HTTP 413 |
| Too many requests | HTTP 429 with a Retry-After header |