Use the account API with your AI agent
There are TWO separate MCP servers here. This page is about the one that manages your account: who you are, whether Pro is active, and verifying a licence key. It never talks to a microcontroller. The one that actually drives boards is the desktop server you install yourself — see “Installing the device MCP server” below and the full tool list at /docs/quickstart.
Create an API key
Sign in and go to your account's Agent access section. Name the key (e.g. “Claude Code”) and create it. The plaintext is shown exactly once — copy it before leaving the page. Keys are stored hashed and can be revoked at any time; revoking stops every agent and the CLI using that key immediately.
There is no checkout or webhook tool anywhere on this surface. Buying Pro always happens in a browser at /pricing; an agent can only tell you the URL and whether Pro is already active.
Claude Code
claude mcp add --transport http mcuport-account https://mcuport.com/mcp \
--header "Authorization: Bearer <your key>"Or in .mcp.json:
{
"mcpServers": {
"mcuport-account": {
"type": "http",
"url": "https://mcuport.com/mcp",
"headers": { "Authorization": "Bearer ${MCUPORT_API_KEY}" }
}
}
}claude.ai / Claude Desktop
Settings > Connectors > Add custom connector > URL https://mcuport.com/mcp. Under “Request headers”, add fixed credentials: Authorization: Bearer <your key>.
Cursor
~/.cursor/mcp.json or .cursor/mcp.json:
{
"mcpServers": {
"mcuport-account": {
"url": "https://mcuport.com/mcp",
"headers": { "Authorization": "Bearer ${env:MCUPORT_API_KEY}" }
}
}
}ChatGPT / Codex
codex mcp add mcuport-account --url https://mcuport.com/mcp \
--bearer-token-env-var MCUPORT_API_KEYVS Code
.vscode/mcp.json:
{
"servers": {
"mcuport-account": {
"type": "http",
"url": "https://mcuport.com/mcp",
"headers": { "Authorization": "Bearer ${env:MCUPORT_API_KEY}" }
}
}
}The tools
| Tool | What it does |
|---|---|
whoami | The account this key belongs to: email, account creation date, whether Pro is active, this key's name and scopes |
get_entitlement_status | Full Pro detail: active or not, which source granted it, every licence key and its status, an upgrade URL when Pro is off |
verify_license_key | Checks any licence key value (not only this caller's own) — minted, not revoked, owned by a live account |
get_latest_version | The device MCP server's current version and exactly how to install/register it — it does not itself touch a board |
REST API and CLI
The same four jobs are a documented REST API at /openapi.json (GET /api/v1/me, GET /api/v1/entitlement, POST /api/v1/license/verify, GET /api/v1/version), and a zero-dependency CLI:
npx mcuport login # paste your key, or set MCUPORT_API_KEY
npx mcuport whoami
npx mcuport entitlement
npx mcuport verify MCUP-....
npx mcuport version # the device server's latest version + install docs
npx mcuport whoami --json # machine-readable output for any commandThe CLI is not published to npm yet; its source is in this repo under web/cli/. Every surface — the MCP tools, the REST routes and the CLI — calls the exact same functions in lib/agent_jobs.ts, so a key never grants more through one path than another.
Rate limits and audit
300 calls per key per hour. Every authenticated call (MCP or REST) is logged — action, which key, success, duration — and the account can read its own recent calls back from GET /api/v1/me.
Installing the device MCP server
This account API is not where boards get listed, flashed or read. That is a separate, local, stdio MCP server you run on the machine with the USB port. /docs/quickstart has the full setup (vendor CLIs to install, client config, the complete tool list, and what each tool is proven against today). get_latest_version above, or npx mcuport version on the CLI, returns that server's current version number and the exact commands to build and register it — useful when an agent is helping someone get set up and needs the current install story rather than a guess.