MCP server for controlling Arduino GPIO over Firmata (StandardFirmata).
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"firmata-client-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# firmata-client-mcp An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that lets an LLM control an Arduino's GPIO over the [Firmata](https://github.com/firmata/protocol) protocol. Built on the [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) and the [`firmata-client`](https://pypi.org/project/firmata-client/) library. It exposes digital/analog I/O, PWM, and basic servo control as MCP tools so an agent can read sensors and drive actuators on a connected board. > ⚠️ **This server lets an AI agent drive physical hardware.** Please read the > [Safety](#safety) section before connecting a board. --- ## Features - Discover serial ports and connect to a board running **StandardFirmata** - Query board capabilities (firmware, pin modes, analog mapping) - Digital read / write - Analog (ADC) read with sample averaging - PWM (analog) write - Servo control with a settable "origin" reference point - Structured JSON responses and actionable error messages ## Requirements - Python **3.13+** (required by the `firmata-client` dependency) - An Arduino (or compatible board) flashed with **StandardFirmata** (`File → Examples → Firmata → StandardFirmata` in the Arduino IDE) - Python dependencies: - `mcp[cli]` **2.x** (v0.2.0 and later; use `firmata-client-mcp` 0.1.x if you are pinned to `mcp` 1.x) - `firmata-client` - `pyserial` (installed with `firmata-client`) - `pydantic` (installed with `mcp`) ## Installation Using `uv` (recommended): ```bash uv pip install firmata-client-mcp ``` Or via `pip`: ```bash pip install firmata-client-mcp ``` Or from source: ```bash git clone https://github.com/NaoNaoMe/firmata-client-mcp.git cd firmata-client-mcp uv sync ``` ## Configuration ### Claude Desktop Config Add the server to your `claude_desktop_config.json`: ```json { "mcpServers": { "firmata-client-mcp": { "command": "uvx", "args": [ "firmata-client-mcp" ] } } } ``` A typical first i…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.