Protoship
Your agent picks parts for an ESP32 device; Protoship quotes it, has it assembled and delivers it.
我該用這個嗎
品質與安全性
發現項目(3)
- HIGH
- MEDIUM在 reserve 中
- MEDIUM在 join_waitlist 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"protoship": {
"url": "https://mcp.protoship.dev"
}
}
}遠端端點
https://mcp.protoship.devstreamable-http它能做什麼
工具清單
工具(5)
🟢catalog
Lists the parts a Protoship device is built from: the always-included Arduino Nano ESP32 on its carrier, the modules (function, plug, I2C address, limits) and the enclosure options, plus the power and delivery rules. Free, no side effects.
輸入結構描述
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢quote(parts, enclosure, country, units)
Prices a device built from catalog modules: parts, enclosure, assembly, shipping, Protoship fee and VAT for the destination country, as one total, plus a delivery estimate, a quote_id for reserve, a reserve_url your user can open, and an ESPHome starter config. If the device breaks a rule (power, plugs, unknown part), it returns the problems to fix. Free, no side effects.
輸入結構描述
{
"type": "object",
"properties": {
"parts": {
"type": "array",
"description": "Module ids from catalog, e.g. [\"bme280\", \"oled\"]. Repeat an id or use \"micro_servo:2\" for two. The Nano ESP32 and the carrier are always included.",
"items": {
"type": "string",
"enum": [
"bme280",
"scd41",
"oled",
"servo_driver",
"micro_servo",
"pir",
"relay",
"led_ring",
"micro_servo:2"
]
}
},
"enclosure": {
"type": "string",
"enum": [
"printed",
"none"
],
"description": "printed (default) or none."
},
"country": {
"type": "string",
"description": "Two-letter EU country code of the delivery address, e.g. DE. Default DE."
},
"units": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "How many identical devices. Default 1."
}
},
"required": [
"parts"
],
"additionalProperties": false
}⚪reserve(quote_id, email, purpose)
Reserves the device from a quote for your user. No payment and no obligation to buy. Protoship sends one email to confirm the address and the reservation, and one when the device can be ordered. No newsletter. Use only your user's own email address, only after showing them the total and with their consent. Privacy policy: https://protoship.dev/privacy
輸入結構描述
{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "quote_id from quote."
},
"email": {
"type": "string",
"format": "email",
"description": "Your user's email address."
},
"purpose": {
"type": "string",
"maxLength": 280,
"description": "What the device is for, in a sentence. Optional."
}
},
"required": [
"quote_id",
"email"
],
"additionalProperties": false
}🟢status(reservation_id)
Returns the state of a reservation (pending until the email is confirmed, then confirmed), the device and its total.
輸入結構描述
{
"type": "object",
"properties": {
"reservation_id": {
"type": "string",
"description": "The id reserve returned, e.g. R-7KQ2M9XW4P."
}
},
"required": [
"reservation_id"
],
"additionalProperties": false
}⚪join_waitlist(email, interests, device)
Puts your user on the Protoship waitlist, for PCBs, 3D prints, CNC parts, sheet metal or devices outside the catalog. Protoship sends one email to confirm the address, later one with the invite. No newsletter. Use only your user's own email address and only with their consent. Privacy policy: https://protoship.dev/privacy
輸入結構描述
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Your user's email address."
},
"interests": {
"type": "array",
"items": {
"type": "string",
"enum": [
"pcbs",
"3d_prints",
"cnc_parts",
"sheet_metal",
"assembled_devices",
"not_sure"
]
},
"description": "What your user wants to order. Optional."
},
"device": {
"type": "string",
"maxLength": 280,
"description": "The device your user wants to build, in a sentence. Optional."
}
},
"required": [
"email"
],
"additionalProperties": false
}社群
證據