Connect your systems

Use What Started with your AI

Your AI assistant can answer questions like "Which machine lost the most time to jams last week?" or "How did second shift do on Press 4 yesterday?" with your plant's real numbers. It reads them through What Started's MCP server, which most AI tools can use. MCP (Model Context Protocol) is the common way for AI tools to call outside services. The assistant can only read; it cannot change anything in What Started.

This works on plans that include the read API (Pro and Plant), with the same keys.

1. Create a key for your assistant

An owner or admin creates a key under Settings → Data and API. Give it a name that says where it is used, such as "Ana's Claude Code", so you can see its calls and revoke it on its own. The key is shown once.

Keep the key in your AI tool's settings or an environment variable. Do not paste it into a chat with the assistant.

2. Add What Started to your AI tool

The server's address is your What Started address followed by /api/v1/mcp. In the examples, replace https://heartbeat.example.com with your address. Each tool sends the key as Authorization: Bearer hbk_….

Claude Code

claude mcp add --transport http what-started https://heartbeat.example.com/api/v1/mcp \
  --header "Authorization: Bearer $WHAT_STARTED_KEY"

Cursor

In ~/.cursor/mcp.json, or .cursor/mcp.json in a project:

{
  "mcpServers": {
    "what-started": {
      "url": "https://heartbeat.example.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer ${env:WHAT_STARTED_KEY}" }
    }
  }
}

VS Code (GitHub Copilot)

In .vscode/mcp.json. VS Code asks for the key the first time and stores it for you:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "what-started-key",
      "description": "What Started API key",
      "password": true
    }
  ],
  "servers": {
    "what-started": {
      "type": "http",
      "url": "https://heartbeat.example.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer ${input:what-started-key}" }
    }
  }
}

Other tools

Any tool that can add a remote MCP server over HTTP with a custom header works the same way: the address above and the Authorization header. Your tool's own guide names the exact setting.

The connector screens in claude.ai, Claude Desktop and ChatGPT ask you to sign in instead of taking a key. They do not work with What Started yet; upload a CSV file there for now (see "Without MCP" below).

3. Ask questions

The assistant picks the tools it needs. It is told to look up your plant's time zone and shifts first, so "yesterday" and "second shift" mean your plant's local time. Some questions to start with:

  • Which machines are down right now, and since when?
  • What were the top five downtime reasons this week, and on which machines?
  • Compare OEE by shift on Line 3 for the last 7 days.
  • Did we make target on Press 4 yesterday? Which hours fell behind?
  • Which alerts are still open?
  • How did spindle load on Lathe 2 change over the last two weeks?

What the assistant can read

Tool What it gives
plant_overview The plant's time zone and local time, machines with their areas, and shifts
list_machines Each machine's status now, since when, its current part, rates and latest metrics
downtime_by_reason Time lost by reason over a period, longest first, with the machines; planned stops apart
get_oee OEE, availability, performance and quality by day, shift or in total, as in Reports
get_production Parts made, good and bad against target by hour, shift, day or in total
list_events Status changes, downtime reasons and operator notes
list_alerts No-signal, down, not-producing and metric alerts, open or closed
get_part_runs Which part ran when on each machine, and how each run did
get_metric_summary One machine's custom metrics by day, shift or hour: min, max, average and time out of range

Every answer comes from the same numbers as the screens and the read API, and stays inside your plan's history. Reports cover at most 92 days in one call (31 by the hour, 32 for metrics), and the assistant splits longer questions itself.

Limits and usage

Each tool call is one API call on the key, so it counts toward the key's limit of 60 calls a minute and shows in the key's usage under Settings → Data and API. A question usually takes two to five calls. If the assistant hits the limit, it is told how many seconds to wait.

Safety

  • The key is read-only and reads one plant. The assistant sees what anyone with the key could read from the API, nothing more.
  • Operator notes, reason labels and machine names are text people typed. They go to the assistant as data, and a careful AI tool treats them that way.
  • What your AI tool does with the answers is set by that tool and your agreement with its maker. Check that it fits your company's rules before you connect it.
  • If a key leaks, revoke it under Settings → Data and API. It stops working at once, in every tool that uses it.

Without MCP

  • Upload a CSV. Download a report from Reports (OEE, against target, parts or status changes) and upload the file to any AI chat. This works in claude.ai, ChatGPT and others, and needs no key.
  • Let a script or agent call the API. An AI coding tool or agent can read the read API guide and call the endpoints with a key from an environment variable.