プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

PlatformIO

作者:powerdragonfireバージョン 0.1.0i★ –iパソコンで動く
レジストリ名io.github.powerdragonfire/platformio.mcp

インストール

概要

作者による説明(英語の原文)

PlatformIO for AI agents: build, flash, serial monitor, tests, crash decoding, size reports.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: PLATFORMIO_MCP_POLICY, PLATFORMIO_MCP_PROJECT_DIR, PLATFORMIO_MCP_PIO

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "platformio": {
      "command": "uvx",
      "args": [
        "platformio.mcp"
      ],
      "env": {
        "PLATFORMIO_MCP_POLICY": "your-value",
        "PLATFORMIO_MCP_PROJECT_DIR": "your-value",
        "PLATFORMIO_MCP_PIO": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add platformio --env PLATFORMIO_MCP_POLICY=your-value --env PLATFORMIO_MCP_PROJECT_DIR=your-value --env PLATFORMIO_MCP_PIO=your-value -- uvx platformio.mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "platformio": {
      "command": "uvx",
      "args": [
        "platformio.mcp"
      ],
      "env": {
        "PLATFORMIO_MCP_POLICY": "your-value",
        "PLATFORMIO_MCP_PROJECT_DIR": "your-value",
        "PLATFORMIO_MCP_PIO": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "platformio": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "platformio.mcp"
      ],
      "env": {
        "PLATFORMIO_MCP_POLICY": "your-value",
        "PLATFORMIO_MCP_PROJECT_DIR": "your-value",
        "PLATFORMIO_MCP_PIO": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • PLATFORMIO_MCP_POLICY env
    full (default), build_only, or read_only
  • PLATFORMIO_MCP_PROJECT_DIR env
    Default project directory when a tool is called without project_dir
  • PLATFORMIO_MCP_PIO env
    Explicit path to the pio executable (auto-detected otherwise)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント powerdragonfire で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32572件のうち0%よりスターが多い
  • このカテゴリのほかの32572件のうち43%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32572件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

PlatformIOは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, AvaHR

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

AvaHR

作者:avahr.com

Read hiring data and create inactive assessment and questionnaire drafts for human review.

クラウドで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

platformio.mcp

Give your AI coding agent hands on real hardware.

An MCP server for PlatformIO : build, flash (serial or OTA), watch serial, run tests, decode crashes and core dumps, check partition tables, watch heap and power, debug over GDB, shrink firmware.

Python native · no Node · one line to install · works with Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline


⚡ 60-second install

You need uv (curl -LsSf https://astral.sh/uv/install.sh | sh). Then:

uvx platformio.mcp install --claude-code      # or --cursor  --claude-desktop  --codex  --windsurf

No PlatformIO on this machine? Add --with-platformio and the server brings PlatformIO Core along. Optional extras: platformio.mcp[coredump] adds the ESP32 core-dump analyzer, platformio.mcp[power] adds the Nordic PPK2 driver.

Any other MCP client (Cline, Zed, Continue, ...)

uvx platformio.mcp install --print
{ "mcpServers": { "platformio": { "command": "uvx", "args": ["platformio.mcp"] } } }

Use "args": ["platformio.mcp[platformio]"] to bundle PlatformIO Core.

As a plugin (Claude Code, Cursor: server + a skill that teaches the loop)

The repo follows the Open Plugins layout: .mcp.json, skills/platformio/SKILL.md, rules/platformio.mdc, plugin.json.

claude plugin marketplace add powerdragonfire/platformio.mcp   # Claude Code

claude plugin install platformio@platformio.mcp

</details>

Already have PlatformIO?

The server finds platformio / pio on your PATH or in ~/.platformio/penv. Override with PLATFORMIO_MCP_PIO=/path/to/pio. Run uvx platformio.mcp doctor to see what the agent will see.

🎬 What it looks like

You: flash the view env and make sure it boots.

Agent → pio_flash_and_verify(env="view", expect="setup done")

`

FAIL: firmware flashed but the boot log matched the failure pattern:

'Guru Meditation Error: Core 1 panic'ed (LoadProhibited)'.

Cause: LoadProhibited. 3/3 addresses resolved:

DisplayTask::run() (display_task.cpp:22) <- DisplayTask::run() (display_task.cpp:23) <- vPortTaskWrapper (port.c:143)

`

Agent: null pointer on line 22 of display_task.cpp, tft_ is used before begin(). Fixing, rebuilding, flashing again.

`

PASS: flashed env view in 14.2s and saw 'setup done' on /dev/cu.usbserial-0001 after 2.1s of boot output.

`

No 40 KB build logs in the context window. No human reading the serial monitor. The agent gets a verdict, a file and a line.

🔁 The loop the agent runs

flowchart LR

A[pio_project_envs] --> B[edit code] B --> C[pio_build] C -- errors with file:line --> B C -- ok --> D[pio_flash_and_verify] D -- PASS --> E([done]) D -- FAIL: decoded backtrace --> B D -- TIMEOUT --> F[pio_monitor_capture] F --> B

🧰 The 40 tools

Group Tools What the agent gets back

🔍 Discover pio_system_info · pio_list_boards · pio_board_info · pio_list_devices PlatformIO version and policy; ~1,700 boards with MCU, clock, RAM and flash sizes; serial ports with the likely dev boards flagged

📁 Project pio_project_init · pio_project_envs · pio_project_metadata A real pio project init (never a hand-written ini); every env with board, framework, monitor and upload settings; defines and include paths

🔨 Build & flash pio_build · pio_upload · pio_upload_ota · pio_clean · pio_list_targets · pio_run_target Status, parsed errors and warnings (file, line, column), RAM/Flash %, last 40 lines, full log path. Extra targets like buildfs , erase . OTA over Wi-Fi to ArduinoOTA boards. Port failures come back classified (busy, permission, missing, no response) with the fix

📟 Serial pio_monitor_start / read / write / stop / list · pio_monitor_capture · pio_port_diagnose Background sessions with a ring buffer, cursor reads, and wait_for regex; or a one-shot capture with nothing to manage. Port diagnosis: who holds it (our session, another process), permissions, the fix

✅ Verify pio_test · pio_check Unity tests with per-case pass/fail and messages; cppcheck / clang-tidy defects by severity with CWE ids

📦 Packages pio_pkg_search / install / uninstall / list / outdated / update · pio_deps_check Registry search and dependency changes that keep platformio.ini in sync; an audit for name collisions, unpinned specs, leftovers, and circular dependencies

🧠 Analyse pio_flash_and_verify · pio_decode_backtrace · pio_size_report Hardware-in-the-loop pass/fail; crash dumps resolved to file:line; where every byte of flash and RAM goes

💾 Flash layout pio_partition_table · pio_coredump ESP32 partition CSV checks (alignment, overlap, fit, OTA slots) and a diff against the table actually on the chip; core dump pulled from flash and decoded

📈 Runtime pio_memory_watch · pio_power_profile Heap and stack telemetry parsed from serial with a leak verdict and per-task headroom; current draw from a serial meter or a Nordic PPK2 with sleep/active split and battery estimate

🐞 Debug pio_debug_start / cmd / stop / list A live GDB session over pio debug : breakpoints, step, backtrace, variables, with MI records parsed into structured results

Every tool returns ok, a one-paragraph summary written for the model, structured fields, and a log_path to the full output. Long output stays on disk under ~/.platformio-mcp/logs (newest 200 files kept).

The tools that go beyond the CLI
What it doesUnder the hood
🚀 `pio_flash_and_verify`Flash, open the port, read until expect matches (pass), a crash signature matches (fail, auto-decoded), or the timeout passes (timeout)pio run -t upload + pyserial; fail_on defaults to Guru Meditation, HardFault, abort(), assert failed, watchdog, brownout, heap corruption
🔁 **pio_test_plan_***Run a declarative hardware test plan for N iterations with cancellation, per-iteration verdicts (pass/fail/timeout/infra_error), and evidence logsReuses upload + serial monitor tools, continues observing for a post-success window, and writes machine-readable reports with source+firmware identity
🩺 `pio_decode_backtrace`Turn an ESP32 Backtrace: 0x400d... dump or a Cortex-M pc/lr dump into function, file, line, inlined frames, cause, reset reasonToolchain located from pio project metadata, then -addr2line -pfiaC on firmware.elf; fixes Xtensa A0 window bits
📊 `pio_size_report`Why is the firmware this big? Flash/RAM %, loaded sections, biggest symbols with file:line, per-file totals, regex filterpio run -t checkprogsize (partition-aware) + GNU size -A + nm -S -C -l --size-sort
💾 `pio_partition_table`Catch the silent ESP32 corruption where an app-only flash leaves an old partition table on the chip; alignment, overlap, OTA slot, and app-fit checksParses the env's partition CSV; read_device=true reads 0x8000 with esptool read_flash and diffs
🧯 `pio_coredump`Pull the core dump from the coredump partition after a crash and decode task, registers, and backtraceesptool read_flash + optional esp-coredump info_corefile (platformio.mcp[coredump])
📈 `pio_memory_watch`Leak, fragmentation, and stack-headroom verdicts from what the firmware already printsParses Free heap:, heap_caps_print_heap_info, vTaskList, uxTaskGetStackHighWaterMark lines; least-squares slope
🔋 `pio_power_profile`Average/min/max/p95 current, sleep vs active split, energy, battery-life estimateA serial meter (INA219 sketch, USB meter log) or a Nordic PPK2 (platformio.mcp[power])
🐞 **pio_debug_***Breakpoints, step, backtrace, and variable inspection through the debug probepio debug --interface=gdb driven over GDB/MI with parsed *stopped events
🌐 `pio_upload_ota`Flash over Wi-Fi with failures mapped to the fix (wrong password, no ArduinoOTA.handle(), firewall, no OTA slot)pio run -t upload --upload-port (espota auto-switch) or espota.py directly
🔌 `pio_port_diagnose`Why the upload cannot open the port: our session, another process, permissions, or a board not in bootloader modelsof/fuser + pio device list; never kills anything
📚 `pio_deps_check`Library name collisions where lib_deps order silently picks the winner, unpinned specs, leftovers, cyclesManifests in .pio/libdeps and lib/, plus the LDF dependency graph with build=true

🔁 Repeatable hardware test plans

Use declarative JSON plans when you need reproducible board validation over many iterations.

{

"plan_version": 1, "name": "SPI loopback", "project_dir": "/abs/project", "environment": "ch32h4_loopback", "device_identity": "bench-ch32h4-01", "board": { "platformio_env": "ch32h4_loopback", "board_id": "genericCH32H4" }, "peripherals": ["SPI loopback"], "pin_mapping": { "SPI_MOSI": "PB15", "SPI_MISO": "PB14" }, "fixture": { "required_wiring": ["PB15 to PB14"] }, "run": { "iterations": 100, "upload_each_iteration": true, "stop_open_sessions": true }, "serial_assertion": { "success_pattern": "SPI_LOOPBACK_OK", "failure_pattern": "panic|HardFault|assert failed|test-failure", "timeout_s": 20, "observation_window_s": 5, "reconnect_attempts": 1 } }

Workflow:

  1. pio_test_plan_validate(plan_path=...)
  2. pio_test_plan_start(plan_path=...)
  3. poll pio_test_plan_status(run_id=...)
  4. optional cancel: pio_test_plan_cancel(run_id=...)

Reports include source revision + dirty state, firmware hash, selected env, and detected device identity. Every non-pass iteration stores evidence logs with references in the JSON report.

An end-to-end CH32H4 fixture + firmware example is in examples/ch32h4-spi-loopback.

🔒 Safety policy

Set PLATFORMIO_MCP_POLICY in the server's env, or pass --policy t

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く