# Chiplab

A hosted MCP server: your agent builds an ELF, uploads it to a virtual board and reads the UART output back. Useful when no hardware is at hand.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 18
- Author: veecle
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/veecle/chiplab
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/chiplab

## What it does

Chiplab runs as an HTTP MCP server at `https://chiplab.veecle.ai/mcp`. The agent compiles firmware into an ELF, uploads it, executes it on an emulated instance of a real microcontroller and gets captured UART output in return. Runs are synchronous and capped at a fixed slice of virtual time.

The repo carries runnable examples per supported board, split by framework: `bare-metal` (Rust with the vendor HAL), `embassy-rust`, `zephyr-os` (C), `freertos` (C) and `threadx` (C). Build steps sit in each framework's `README.md` for people and in `AGENTS.md` for agents. You can build by hand, yet the upload and run still go through the agent.

A free veecle.ai account is required, and the client opens a browser to sign in the first time. Right now the service executes `Hello world!` on STM32 and Nordic boards; a chip outside that set will not run. New chip support is added server-side, so the way to ask is an issue. The author points people at the `stm32f4-discovery` example first.

## Requirements
- Remote server: `https://chiplab.veecle.ai/mcp`

## Install

### Claude Code (native platform)

**Platform CLI: remote server**
```bash
claude mcp add --transport http chiplab https://chiplab.veecle.ai/mcp
```

### Codex

**Platform CLI: remote server**
```bash
codex mcp add chiplab --url https://chiplab.veecle.ai/mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "chiplab": {
            "url": "https://chiplab.veecle.ai/mcp"
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "chiplab": {
            "type": "http",
            "url": "https://chiplab.veecle.ai/mcp"
        }
    }
}
```

### Gemini CLI

**Platform CLI: remote server**
```bash
gemini mcp add -t http chiplab https://chiplab.veecle.ai/mcp
```

## When to use it
- Run firmware when there is no physical board
- See what comes out of UART right after boot
- Build an ELF for STM32 and execute it on a virtual chip
- Try a Zephyr or FreeRTOS example before buying hardware

## Example prompts
- Set up Chiplab and run the `stm32f4-discovery` example.
- Build this project into an ELF for a supported board, run it on Chiplab and show me the UART output.
- Call Chiplab's help tool with no arguments and list what it can do.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
