Everything the dashboard does is an API call, and the same operations are exposed as MCP tools, so a program or a design assistant can run a board without anyone clicking. If you just want boards routed, you never need this page.
GET /api/mcp lists every operation, and that listing is
generated from the same table the server routes on, so it cannot drift.
Point your client at the endpoint and it gains the tools beside this.
| quote | price a board before running it |
| upload_board | post a .kicad_pcb, get its pads and nets |
| organise_and_route | placement, pins, vias, routing |
| job_status | progress, or why it failed |
| list_jobs | history and statistics |
| download_result | the KiCad project archive |
A WebSocket at /ws pushes job progress, so wait on a
board instead of polling it: ask /api/ws/ticket first and connect to
/ws?t=<ticket> — without a ticket you hear the public demo boards, with one
you hear your own. Every path under /api/ answers JSON, including the
errors — a program should never have to read an HTML page to find out what went wrong.
One archive holding the board you sent under source/,
the board we produced, a .kicad_pro, and a report with the pads, routes, vias,
length, attempts and what you were charged. It is built once, when the job ends, and served
unchanged after that.