Have your AI agent design an ESP32 device and get it built
Claude Code, Codex or another agent connects to the Protoship MCP server, picks standard parts for what the device should do, and gets back a priced quote with an ESPHome starter config. You reserve the device, and Protoship delivers it assembled in a printed enclosure, ready to flash over USB-C.
Writing ESPHome YAML is the part agents already do well. The hard part is the hardware: which board, which sensor, which cable, which case, and someone who puts it together. That is what the steps below hand to Protoship.
1. Connect the agent
One line, no account and no API key:
claude mcp add --transport http protoship https://mcp.protoship.dev codex mcp add protoship --url https://mcp.protoship.dev
Other MCP clients use the same URL with Streamable HTTP. An agent without MCP calls the plain HTTP API (GET https://protoship.dev/api/catalog, POST /api/quote, POST /api/reserve), and a chat assistant such as ChatGPT can simply hand you a link to the quote page.
2. Describe the device, not the parts
Say what the device should do and where it lives. For example:
Build me a small display for the living room that shows temperature and humidity and reports to Home Assistant. Deliver to Germany.
If your agent already works in your Home Assistant config, it can name the entities and update intervals to match. Protoship only needs the parts.
3. The agent picks parts from the catalog
catalog returns every standard part with its function, bus, address and limits. Every device starts from the same core, an Arduino Nano ESP32 on a Nano Connector Carrier. The agent adds one module per function:
- Climate
bme280: temperature, humidity, pressure- Air quality
scd41: CO2, temperature, humidity- Display
oled: 1.3" OLED, 128×64- Presence
pir: PIR motion sensor- Switching
relay: low-voltage loads up to 24 V DC- Motion
servo_driverwith up to twomicro_servo- Light
led_ring: RGB ring with 16 LEDs
The catalog also tells the agent what does not fit: at most two Grove modules per carrier, a power budget for USB-C at 5 V, no battery and no mains. A device that breaks a rule comes back with the reason, so the agent can change the design before you see a price.
4. The agent gets a quote
quote takes the parts, the enclosure option (printed or none) and the destination country. It returns:
- every part with its part number,
- an itemised total: parts, enclosure, assembly, shipping, Protoship's fee and VAT for your country,
- a delivery estimate,
- an ESPHome starter config for exactly these parts, with the right pins and I²C addresses.
For the room-climate display delivered to Germany the total is 170.13 € incl. VAT and shipping (example). The full breakdown and the generated config are on the room-climate display page.
5. Reserve
reserve holds the quoted device for your email address. Protoship sends one mail to confirm it. No payment is taken; before anything is ordered you see the final total and confirm it yourself.
Electronics deliver to Germany first and open in other EU countries one by one. Reservations are open across the EU and keep your place.
6. Flash and extend
The device arrives assembled with the parts plugged and screwed in. You or your agent flash the starter config over USB-C, adopt the device in Home Assistant and change the YAML as you like. The firmware stays yours.
What the agent cannot order yet
Battery-powered devices, mains switching, cameras, audio and custom PCBs are outside the catalog for now. If your device needs one of them, tell your agent to call join_waitlist with the device in one sentence; the wishes decide what comes into the catalog next. More answers are in the FAQ.