Passportsim logo

Passportsim

Emulates FoloToy AI Passport firmware on macOS, Windows, or in a browser, with CLI and MCP controls for testing.

Install Passportsim

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for passportsim, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

The passportsim MCP server lets AI agents operate an emulated FoloToy AI Passport through an ESP32-C3 emulator. It can boot firmware builds, interact with device buttons, wait for serial output, inspect the UI tree, and capture screenshots. Use it to develop or debug unmodified ESP-IDF images when physical hardware is unavailable. The emulator runs in the browser through WebAssembly or as a desktop application on macOS and Windows.

Use cases

  • Boot ESP-IDF firmware without physical hardware
  • Debug serial output and UI behavior with an AI agent
  • Press simulated device buttons in automated tests
  • Inspect the UI tree after firmware interactions
  • Capture emulator screenshots for verification

Key features

  • ESP32-C3 firmware emulation
  • MCP server for AI agent control
  • Serial console access
  • UI tree inspection
  • Simulated button input
  • PNG screenshot capture

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars24Stargazers on the source repository.
Last commit7d agoMost recent push to the default branch.

How Passportsim works

What passportsim does

The passportsim MCP server provides an agent-facing interface to PassportSim, an emulator for the FoloToy AI Passport based on the ESP32-C3. It is intended for firmware development and debugging without requiring the physical device. Firmware can be loaded from a merged .bin file, an idf.py build directory, or a .pebundle package.

PassportSim also includes a browser interface and command-line application. The browser version runs locally in the page through WebAssembly, while desktop packages support macOS on Apple silicon and Windows 10 or newer on x64. The project is listed in the 📟 Embedded System category because it emulates device behavior and exposes firmware-level inspection features.

How it works

The emulator executes unmodified ESP-IDF images and presents device-facing behavior through a simulated screen, buttons, audio, and serial console. Its advanced interface exposes run control, event recording, the widget tree, and cards for hardware-related areas such as battery, USB, NFC, Wi-Fi, and Bluetooth.

The passportsim MCP server is started through the packaged executable with the mcp argument. An MCP client launches that process using a command and argument configuration, then sends operations to the running emulator. Agents can combine interaction with observation: for example, boot a firmware build, press a control, wait for a matching console line, inspect the resulting UI tree, and save a screenshot.

Setup and configuration

The quickest setup is the hosted browser version, which requires no installation and accepts firmware through the page. For local use, install a release package with the macOS shell installer or Windows PowerShell installer described in the project documentation. Building from source requires Rust, Bun, and just, or the equivalent Make workflow.

A local MCP client configuration points to the PassportSim executable and passes mcp as its argument:

config.json
{
  "mcpServers": {
    "passportsim": {
      "command": "/path/to/passportsim",
      "args": ["mcp"]
    }
  }
}

The repository also provides an optional agent skill that can be installed with npx skills add BlackHole1/passportsim or copied into an agent's skills directory. No environment variables are documented as required for the MCP process.

Tools and capabilities

The passportsim MCP server supports agent workflows that need to:

  • Start or boot a firmware build in the emulator.
  • Press simulated device buttons.
  • Wait for a specified console line.
  • Read the serial console.
  • Inspect the firmware's UI tree.
  • Capture screenshots for visual checks.

The command-line application provides related operations, including starting firmware, reading serial output, taking PNG screenshots, and stopping the emulator. Browser advanced mode additionally supports pausing, stepping, saving and restoring state, and inspecting tasks and memory.

Limitations and notes

Desktop support is documented for macOS on Apple silicon and Windows 10 or newer on x64. Linux is not supported. The browser version is documented for Chrome, Edge, Firefox, and Safari. Browser-loaded firmware remains in the browser and is not uploaded according to the project documentation.

The emulator targets the FoloToy AI Passport environment, so it should be evaluated against the firmware and device behaviors relevant to that platform rather than treated as a general ESP32 emulator. The project is licensed under MIT.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Passportsim

passportsim is an MCP server that connects AI agents to a FoloToy AI Passport ESP32-C3 emulator. Its main tools let agents boot firmware, press simulated buttons, wait for console lines, read the UI tree, and capture screenshots. It runs through the PassportSim executable with the `mcp` argument.

Install a PassportSim release package for macOS Apple silicon or Windows x64, then configure your MCP client to run the executable with the `mcp` argument. You can also build from source with Rust, Bun, and `just`, or use the browser version without installation.

PassportSim supports merged `.bin` files, `idf.py` build folders, and `.pebundle` packages. These can be loaded through the browser interface or used with the command-line workflow.

No. Linux is documented as unsupported. Desktop support covers macOS on Apple silicon and Windows 10 or newer on x64, while the browser version supports Chrome, Edge, Firefox, and Safari.

Yes. The MCP workflow can take screenshots, and the command-line application provides a screenshot operation that saves the screen as a PNG. Agents can use screenshots alongside console output and UI-tree inspection.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPassportsim AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/passportsim?style=directory)](https://allmcps.com/mcp/passportsim)
HTML Embed
<a href="https://allmcps.com/mcp/passportsim"><img src="https://allmcps.com/api/badge/passportsim?style=directory" alt="Passportsim on AllMCPs" /></a>