{
  "markdown": "# Chiplab\n\n> Simulate & validate firmware on virtual instances of real chips, straight from your AI coding agent — no hardware.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white)](https://discord.com/invite/F6GwZJ6ktP)\n[![](https://img.shields.io/github/stars/veecle/chiplab?style=social)](https://github.com/veecle/chiplab/stargazers)\n\nChiplab is a hosted MCP service.\nYour AI coding agent connects to it, uploads compiled firmware, runs it on a virtual instance of a real microcontroller, and reads back the UART output.\nYou don't drive the toolchain — your agent does.\n\nWe're building the next way to develop chips, in the open and early.\nToday it runs `Hello world!` on STM32 and Nordic boards; a lot more is on the way — see **[veecle.ai](https://veecle.ai)**.\nTry it, poke at it, and tell us what you'd like to see.\n\n## Quickstart\n\n1. Create a free account at **[veecle.ai](https://veecle.ai)** (no credit card).\n2. [Connect your agent](#connect-your-agent) to the Chiplab MCP server.\n3. `git clone https://github.com/veecle/chiplab && cd chiplab`, then tell your agent:\n\n   > *\"Set up Chiplab and run the stm32f4-discovery example on it.\"*\n\nYour agent reads [AGENTS.md](AGENTS.md), installs what it needs, builds the firmware, uploads it, runs it on the virtual board, and reports `Hello world!` back from the chip's UART.\nThat's the whole loop.\n\n## Connect your agent\n\nChiplab is an HTTP MCP server at `https://chiplab.veecle.ai/mcp`.\nMost clients take the standard `mcpServers` schema:\n\n```json\n{\n  \"mcpServers\": {\n    \"chiplab\": {\n      \"type\": \"http\",\n      \"url\": \"https://chiplab.veecle.ai/mcp\"\n    }\n  }\n}\n```\n\nOn first use your client opens a browser to sign in.\nTo verify, ask your agent to call Chiplab's discovery/help tool with no arguments.\n\n<details>\n<summary><b>Claude Code</b></summary>\n\nIf you cloned this repo, the server is already configured via [`.mcp.json`](.mcp.json) — Claude Code will prompt you to trust it.\nOtherwise:\n\n```sh\nclaude mcp add --transport http chiplab https://chiplab.veecle.ai/mcp\n```\n</details>\n\n<details>\n<summary><b>Claude Desktop / Cursor</b></summary>\n\nUse the `mcpServers` block above in `claude_desktop_config.json` or `.cursor/mcp.json`.\n</details>\n\n<details>\n<summary><b>VS Code</b></summary>\n\nSame block in `.vscode/mcp.json`, but under a `servers` key instead of `mcpServers`.\n</details>\n\n<details>\n<summary><b>Codex</b></summary>\n\nTOML in `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.chiplab]\nurl = \"https://chiplab.veecle.ai/mcp\"\n```\n\nThen sign in with `codex mcp login chiplab`.\n</details>\n\n## How it works\n\nThe contract is framework-agnostic: your agent **builds an ELF → uploads it → runs it on the target board → reads the captured UART output**.\nRuns return synchronously and are bounded to a fixed amount of virtual time.\n\nThis repo ships a ready-to-run example for every supported board, grouped by framework — [`bare-metal`](examples/bare-metal) (Rust, vendor HAL), [`embassy-rust`](examples/embassy-rust) ([Embassy] async), [`zephyr-os`](examples/zephyr-os) ([Zephyr RTOS], C), [`freertos`](examples/freertos) ([FreeRTOS], C), and [`threadx`](examples/threadx) ([Eclipse ThreadX], C).\nThe full board × framework matrix is in **[supported-boards.md](supported-boards.md)**.\n\n[Embassy]: https://embassy.dev\n[Zephyr RTOS]: https://zephyrproject.org\n[FreeRTOS]: https://www.freertos.org\n[Eclipse ThreadX]: https://github.com/eclipse-threadx/threadx\n\nToolchain and build details live in each framework's directory (`examples/<framework>/README.md` for humans, `AGENTS.md` for agents) — your agent finds them on its own.\nPrefer building by hand?\nEach framework README has the exact commands.\n\nTo run your own firmware, build an ELF for a supported board and ask your agent to upload and run it the same way.\n\n## Contributing\n\nAdding a board example is the easiest way in: mirror an existing example for the same framework and add a row to [supported-boards.md](supported-boards.md).\nAll conventions live in **[AGENTS.md](AGENTS.md)** and each framework's `AGENTS.md`.\nNew chip, OS, or peripheral support is server-side — [open a request][new-issue] instead of adding an example for an unsupported board.\n\n[new-issue]: https://github.com/veecle/chiplab/issues/new/choose\n\n## Found a bug? Missing a chip? Tell us here.\n\nThis is Chiplab's public home — bugs, feature ideas, and chip/OS/peripheral requests all belong in [this repo's issues][new-issue].\nRequests really do shape the roadmap — see [veecle.ai/roadmap](https://veecle.ai/roadmap) for what's planned, or come say hi on [Discord](https://discord.com/invite/F6GwZJ6ktP).\n\n## License\n\n[MIT](LICENSE) © 2026 Veecle GmbH.\n",
  "bytes": 4762,
  "sha": "6b5ecf47c61ee9dae5d6a857bceacd33f0c109ca9f127ddbf39bd2655a35154a",
  "repo_slug": "veecle/chiplab",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_veecle_chiplab_417be2d9/readme"
}