# Protoship (remote · mcp.protoship.dev)

Checks an ESP32 project (board, pins, power, JLCPCB parts, costs) and gets the build finished.

- Trust score: 65/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.protoship.dev`: 65/100 (this document), [markdown](https://verifymcp.io/servers/dev-protoship-protoship/mcp.md), [page](https://verifymcp.io/servers/dev-protoship-protoship/mcp)

## Channel facts

- Endpoint: `https://mcp.protoship.dev`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1208 tokens (~201/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability check failed: schema churn in the 5 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 5 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Protoship MCP server?

Protoship is a hosted endpoint at https://mcp.protoship.dev/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http dev-protoship-protoship 'https://mcp.protoship.dev/'
```

### Cursor

```json
{
  "mcpServers": {
    "dev-protoship-protoship": {
      "url": "https://mcp.protoship.dev/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-protoship-protoship": {
      "type": "http",
      "url": "https://mcp.protoship.dev/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.dev-protoship-protoship]
url = "https://mcp.protoship.dev/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-protoship-protoship": {
      "type": "remote",
      "url": "https://mcp.protoship.dev/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-protoship-protoship --url 'https://mcp.protoship.dev/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  dev-protoship-protoship:
    url: "https://mcp.protoship.dev/"
```

### Netclaw

```json
{
  "McpServers": {
    "dev-protoship-protoship": {
      "Transport": "http",
      "Url": "https://mcp.protoship.dev/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-protoship-protoship -t streamable-http -u 'https://mcp.protoship.dev/'
```

### Other

```json
{
  "mcpServers": {
    "dev-protoship-protoship": {
      "type": "http",
      "url": "https://mcp.protoship.dev/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 65, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-11-04 (score 65, −2)

- [security regression] Stability: 0.10 → fail
- [security regression] Tool “catalog” was removed
- [security regression] Tool “quote” was removed
- [security regression] Tool “request_part” was removed
- [security regression] Tool “reserve” was removed
- [security regression] Tool “status” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “join_waitlist” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 148 → 199
- [functional regression] Schema quality: 740 → 914
- [functional] Schema quality: good → excellent
- [functional] Destructive annotations: pass → 100
- [functional] Server version: 0.3.0 → 0.4.0
- [functional] Server version: 0.2.0 → 0.3.0
- [functional] New tool “check_project”
- [functional] New tool “estimate_build”
- [functional] New tool “match_parts”
- [functional] New tool “request_finish”
- [functional] New tool “request_status”
- [functional] New tool “request_part”
- [cosmetic] “join_waitlist” reworded the description of “device”

### 2026-11-02 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 66)

First indexed and scored.

## MCP tools (6)

### `check_project` (~210 tokens)

Check an ESP32 project

Reads an ESP32 project from a public GitHub repo (or a folder or file in it, or a raw file link) or from files you pass inline, and returns: the board and chip, firmware type, the modules it uses, every GPIO it assigns with findings (flash pins, strapping pins, input-only pins, the board's own display/touch/SD pins, octal PSRAM pins), power notes, whether there is a custom PCB, BOM or enclosure files, whether the build fits Finish my build, and next steps. Free, read-only, stores nothing.

Input parameters:

- `files` (array): Project files inline instead of url: ESPHome YAML, platformio.ini, sketch (.ino/.cpp/.h), KiCad schematic, BOM CSV. Up to 12 files, 200 kB each.
- `url` (string): https link to a public GitHub repo, a folder (…/tree/branch/path) or a file, or any raw file URL.

### `match_parts` (~151 tokens)

Match a BOM against JLCPCB basic parts

Checks each BOM line against JLCPCB's basic and preferred-extended parts in stock. Those load without a feeder fee on Economic assembly; every other unique part costs one. Matches by LCSC number (Cxxxx), manufacturer part number, or for resistors, capacitors and inductors by value and chip size, and suggests a footprint change when the same value is basic in another size. Returns per line status, part and price, plus the feeder fees in total. Free, read-only.

Input parameters:

- `bom` (required): The BOM as CSV text (KiCad or JLCPCB export: reference/designator, value/comment, footprint, quantity, mpn, lcsc columns) or as a list of lines.

### `estimate_build` (~221 tokens)

Estimate cost and lead time

Compares ordering a small PCB yourself (JLCPCB bare boards and Economic assembly, AISLER in Germany; fees, shipping, EU import duty and lead times read from the vendors' own pages, with links and the date checked) with having the existing build finished by Protoship. Leaves out what it does not know instead of guessing. Free, read-only.

Input parameters:

- `assembled` (integer): Boards to have assembled. Default 0.
- `board_mm` (array): Board width and height in mm. Default [50, 50].
- `boards` (integer): Bare boards to order. Default 5.
- `country` (string): Two-letter EU country code of the delivery address. Default DE.
- `extended_parts` (integer): Unique parts outside basic/preferred (from match_parts).
- `joints` (integer): Solder joints per board, if known.
- `layers` (integer): Copper layers. Default 2.
- `parts_cost_usd` (number): Parts cost per board in USD (from match_parts), if known.

### `request_finish` (~238 tokens)

Request Finish my build

Sends your user's working ESP32 build to Protoship as a Finish my build request: an individual service on their own hardware (case made for their board, wiring fixed, firmware flashed and tested, back as a USB-C device). Protoship sends one email to confirm the address; after that it answers within two working days with questions or a fixed price. Nothing is binding and nothing is paid until your user accepts a price. Use only your user's own email address, only with their consent. Privacy policy: https://protoship.dev/privacy

Input parameters:

- `board` (string, required): The board and main modules, e.g. "Cheap Yellow Display with a BME280".
- `check` (string): A short summary of check_project, if you ran it. Optional.
- `country` (string): Two-letter country code for the return shipment. Optional.
- `description` (string, required): What the build does and where it should live (desk, wall, in the hand).
- `email` (string, required): Your user's email address.
- `project_url` (string): Link to the firmware repo, ESPHome YAML or AI chat. Optional.

### `request_status` (~60 tokens)

Check a Finish my build request

Returns the state of a request: pending until your user confirms the email, then confirmed (Protoship answers by email).

Input parameters:

- `request_id` (string, required): The id request_finish returned, e.g. F-7KQ2M9XW.

### `join_waitlist` (~128 tokens)

Join the Protoship waitlist

Puts your user on the Protoship waitlist for ordering PCBs, 3D prints, CNC parts and sheet metal through their agent. 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

Input parameters:

- `device` (string): What your user wants to build, in a sentence. Optional.
- `email` (string, required): Your user's email address.
- `interests` (array): What your user wants to order. Optional.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/dev-protoship-protoship/mcp#diagnostics

## Score history

- 2026-11-05: 65
- 2026-11-04: 65
- 2026-11-03: 67
- 2026-11-02: 67
- 2026-11-01: 66
- 2026-10-31: 66

## Common questions

### What is the Protoship MCP server?

Protoship is an MCP server listed in the public MCP registry as dev.protoship/protoship. Checks an ESP32 project (board, pins, power, JLCPCB parts, costs) and gets the build finished. This page covers its hosted endpoint (https://mcp.protoship.dev).

### Is the Protoship MCP server safe to use?

Protoship scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Protoship MCP server expose?

Protoship exposes 6 tools: check_project, match_parts, estimate_build, request_finish, request_status, join_waitlist. Their descriptions and schemas cost roughly 1,008 tokens of context every time the server is loaded.

### Does the Protoship MCP server require authentication?

No. We connected to Protoship without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Protoship MCP server still maintained?

Protoship is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.protoship.dev/
- Website: https://protoship.dev/
- Changelog RSS feed: https://verifymcp.io/servers/dev-protoship-protoship/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-protoship-protoship/mcp.json
- HTML version of this page: https://verifymcp.io/servers/dev-protoship-protoship/mcp
