MCP Server

Last updated on June 22, 2026

PreviewThis feature is in preview, so its scope and behavior may change. Request access.

The TofuPilot MCP server lets AI agents (Claude, Cursor, and any Model Context Protocol client) work with your test data directly. Clients authorize through your browser with OAuth, so there is no API key to copy or rotate. Each client is scoped to one organization and, by default, has read-only access; you can grant write access at authorization time. With write access, agents can create and update runs, units, parts, batches, procedures, and stations—including revisions and versions—and manage deployments, logs, and phases.

Endpoint

https://www.tofupilot.app/mcp

The server uses the Streamable HTTP transport. Point your client at this URL; it discovers the OAuth flow automatically.

Connect

Find these snippets under Settings → MCP in your dashboard, then add the server to your client.

Claude

claude mcp add --transport http tofupilot https://www.tofupilot.app/mcp

Run /mcp in Claude to start the browser authorization.

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "tofupilot": {
      "url": "https://www.tofupilot.app/mcp"
    }
  }
}

Any other client

Use the endpoint URL with Streamable HTTP transport. The client discovers the OAuth authorization server from the URL.

How authorization works

On first connect, your client opens a browser window:

  1. Sign in to TofuPilot.
  2. Pick the organization the client should access.
  3. Approve the requested access.

A token is issued to the client and stored by it. Each client stays bound to the organization you picked. The token expires and is checked on every request. Revoking a client (below) or being removed from the organization cuts its access.

Switch a client to a different organization

Each client is bound to one organization. To point an existing client at a different one:

  1. Open Settings → MCP.
  2. Revoke the client under Connected clients.
  3. Reconnect, and you will be asked to pick an organization again.

Manage and revoke access

Settings → MCP lists every connected client with its bound organization. Revoking a client deletes its tokens and consent; the client stops working immediately and must reconnect to regain access.

Access levels

Each client gets one of two access levels, chosen on the consent screen:

  • Read (default): list and fetch data only.
  • Write: read, plus create, update, and permanently delete data. Deletes can cascade (deleting a part removes its revisions, units, and run history) and are not reversible. Leave write off unless the agent needs it.

You can see each client's access level under Settings → MCP and revoke it at any time.

Read tools

Available to every client. Scoped to the authorized organization.

ToolDescription
runs_list, runs_getList test runs (filter by outcome, part, serial, date) or fetch one by id.
units_list, units_getList units (filter by serial, part, batch, outcome) or fetch one by id.
parts_list, parts_get, parts_revision_getList parts (search by name or number), fetch one, or fetch a revision.
batches_list, batches_getList batches (filter by part or date) or fetch one by id.
procedures_list, procedures_get, procedures_version_getList procedures, fetch one, or fetch a version by tag.
stations_list, stations_getList test stations or fetch one by id.
users_listList organization members (id, name, role, teams).
logs_list, logs_getList test logs (filter by level, run, procedure, unit, source) or fetch one by id.
phases_list, phases_getList test phases (filter by outcome, unit, run details) or fetch one by id.
measurements_list, measurements_getList measurements (filter by phase, value, outcome, unit, run details) or fetch one by id.
deployments_list, deployments_getList deployments (filter by procedure, environment, build status, branch, author) or fetch one by id.

Write tools

Available only to clients granted write access. Destructive tools (delete, remove) require an explicit confirmation argument.

ToolDescription
runs_create, runs_update_metadataCreate a test run, or upsert run metadata.
units_create, units_updateCreate or update a unit.
units_add_child, units_remove_childAdd or remove a sub-unit (assembly) by serial number.
parts_create, parts_update, parts_deleteCreate, update, or delete a part. Delete cascades.
parts_revision_create, parts_revision_update, parts_revision_deleteCreate, update, or delete a part revision.
batches_create, batches_update, batches_deleteCreate, update, or delete a batch.
procedures_create, procedures_update, procedures_deleteCreate, update, or delete a procedure.
procedures_version_create, procedures_version_deleteCreate or delete a procedure version.
stations_create, stations_update, stations_removeCreate, update, or remove a station.

What the agent can see

The agent only accesses data in the organization you authorize, enforced server-side on every request. Member email addresses and account status are not exposed over MCP. Every write is recorded for audit, and you can revoke a client at any time.

How is this guide?

On this page