Skip to content

Automate with the API and MCP

Mesh of Things provides two organization-scoped automation interfaces:

  • an HTTP API for scripts, CI systems, and integrations at https://dashboard.meshofthings.io/api/v1; and
  • an MCP endpoint for compatible AI clients at https://dashboard.meshofthings.io/mcp.

Both use the same API tokens and scope model. Check Settings → Billing for current availability.

Create an API Token

An organization admin or owner can create a token under Settings → API tokens:

  1. Enter a name that identifies the system using the token.
  2. Select only the scopes it needs.
  3. Set an expiry.
  4. To use MCP, select Allow this token to connect an AI agent over MCP.
  5. Select Create token and copy the value immediately. It is shown only once.

Treat the token like a password. Store it in a secrets manager, avoid command history and logs, and revoke it when the integration is retired or compromised. Revocation takes effect immediately.

Call the HTTP API

Send the token as a bearer credential. For example, a token with devices:read can list devices:

bash
curl 'https://dashboard.meshofthings.io/api/v1/devices?page=1&pageSize=50' \
  --header 'Authorization: Bearer mot_sk_...'

The API covers organization details, devices and device batches, networks, firewall groups, apps, Compose versions, device assignments, rollout state, app configuration, and event history. List responses are paginated; follow the returned pagination metadata rather than assuming the first page is complete.

Write operations that create devices or versions support idempotency keys. Use a new stable key for each intended operation so a network retry does not perform the work twice:

bash
curl --request POST 'https://dashboard.meshofthings.io/api/v1/devices' \
  --header 'Authorization: Bearer mot_sk_...' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: provision-edge-01-2026-08-29' \
  --data '{
    "name": "edge-01",
    "meshOnly": false,
    "isolateFromPeers": true
  }'

The create-device response contains its bootstrap command. Capture it securely: later device reads do not return it.

Choose Scopes

Read scopes include org:read, devices:read, networks:read, firewall:read, apps:read, and events:read.

Write capabilities are separated by purpose:

  • devices:write provisions and decommissions devices and runs batches;
  • networks:write creates and deletes networks;
  • firewall:write changes firewall groups;
  • apps:write creates apps and inert Compose versions;
  • apps:deploy promotes or deactivates versions and changes device assignments;
  • apps:secrets writes app secrets and registry credentials; and
  • org:write changes organization settings such as event streaming.

apps:deploy is deliberately separate from apps:write: saving a version changes no device, while promoting it can change software across the fleet.

Connect an MCP Client

When an MCP-enabled token is created, the dashboard provides a ready-made connection command. A typical HTTP MCP configuration is:

json
{
  "mcpServers": {
    "mesh-of-things": {
      "type": "http",
      "url": "https://dashboard.meshofthings.io/mcp",
      "headers": {
        "Authorization": "Bearer mot_sk_..."
      }
    }
  }
}

The server lists only tools allowed by the token's scopes. For a read-only fleet assistant, grant only read scopes. Grant devices:write or apps:deploy only when you intend the connected agent to change real devices.

Deliberate Exclusions

API tokens and MCP tools cannot open terminals, stream logs, inspect running containers, manage billing or members, or create other API tokens. Those capabilities remain behind an interactive dashboard session.