Chiplab is an MCP platform that lets AI agents simulate and validate firmware on virtual instances of real target chips — without physical hardware.

The MCP endpoint is `https://chiplab.veecle.ai/mcp`.
Any MCP-compatible client (Cursor, OpenCode, Claude Code, etc.) can connect to it directly.

## What you can do today

- **Ask** — query the Chiplab knowledge base for chip-specific gotchas, validated fixes, and usage help.
- **Upload and run** — upload a compiled ELF binary and run it on a virtual chip.
  Chiplab boots the chip, runs your firmware for a bounded time, and returns the UART output.

The agent workflow is: get an upload ticket, PUT the ELF binary, then run it.
See the [workflow docs](workflow.md) for details.

## How it works

Chiplab runs your firmware on a virtual instance of the actual target chip — not a generic CPU emulation.
Same binary, same peripherals, same interrupt timing as the physical board.
Cross-compilation happens on your side; Chiplab handles simulation.

Every run feeds into a shared corpus.
The next agent that queries Chiplab inherits what came before — fixes, failure patterns, and chip-specific knowledge accumulate across teams and projects.

## Supported chips

STM32 and Nordic nRF families today, with more on the roadmap.
See the [boards doc](boards.md) for the full list of `board_id` values.

## Getting started

The public repo at https://github.com/veecle/chiplab has ready-to-run examples for various boards and frameworks.
See the [getting-started doc](getting-started.md) for details.
