mcpField
P
PIO Agent

PIO Agent

本地服务
github.com/jl-codes开发工具543 周前更新

关于 PIO Agent

PIO Agent 是一个开源的嵌入式开发工具,基于 PlatformIO MCP 运行时,提供板卡发现、构建、烧录与串口监控等功能。它面向使用 AI 编码 Agent 的嵌入式开发者,并通过策略与审批机制控制有风险的硬件操作。

主要功能

  1. 01板卡与设备发现
  2. 02项目构建、烧录与串口监控
  3. 03结构化的构建与串口诊断
  4. 04基于策略配置的审批门控
  5. 05可选的本地仪表板与命令行接口

适用场景

  1. 01让编码 Agent 构建并烧录 PlatformIO 固件项目
  2. 02在烧录后检查串口输出是否包含预期内容
  3. 03检查项目的 GPIO 引脚使用是否安全

MCP 相关

本项目提供 MCP 服务适配器,向 MCP 客户端暴露 PlatformIO 的项目初始化、构建、烧录和监控等工作流;同时也提供命令行适配器。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jl-codes-platformio": {
"command": "npx",
"args": [
"-y",
"platformio-mcp"
]
}
}
}
启动命令npx -y platformio-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmplatformio-mcp3.1.0

工具

72

收录的工具列表 · 更新于 2 周前

参数类型必填说明
buildboolean否
approvalIdstring否
projectDirstring是
environmentstring否
buildApprovalIdstring否
inventoryApprovalIdstring否
configurationApprovalIdstring否

详细介绍

PIO Agent

PIO Agent

PIO Agent 是面向嵌入式开发、以 Agent 为先的开源硬件执行层,基于 PlatformIO MCP 运行时构建。

发布状态

规范版 3.1.0 运行时已发布。3.2.0 候选版将 pio-agent CLI 设为主要适配器(除非明确要求,否则不会有进程持续运行),并 新增原生 Codex 面板和公开插件列表元数据。有关已实现的 行为以及各软件包名称的发布状态,请参阅 更新日志、兼容性指南 和分发就绪情况。

品牌与兼容性

PIO Agent 是产品和 Codex 插件名称。PlatformIO MCP 是底层 MCP 运行时,也是现有安装所使用的兼容标识。Codex 插件 ID、市场 ID、配置键和技能命名空间仍为 platformio-mcp。在 npm 上,platformio-mcp 是规范软件包,而 pio-mcp 和 pio-agent 是委托给它的轻量兼容软件包。规范软件包还会安装 platformio-mcp 和 pio-agent 这两个可执行文件名称。这样,现有用户无需迁移即可升级,同时新用户在整个界面中看到的都是 PIO Agent。

它通过以下方式提供 PlatformIO 工作流,涵盖开发板发现、项目设置、构建、烧录、监控、诊断和任务编排:

  • MCP 服务适配器
  • 一流的 CLI 适配器(platformio-mcp / pio-agent)
  • 可选的本地仪表板,用于查看和控制

MCP 是一种适配器。PlatformIO 是第一个后端。

快速开始(推荐)

npm install -g platformio-mcp
pio-agent devices
pio-agent build --project-dir . --json

无需服务端,无需配置客户端,命令之间也不会有进程持续运行。

与编码 Agent 配合使用

安装技能,并将 Agent 指向 pio-agent 二进制文件。pio-manager 技能详细介绍了每条命令。

MCP 服务(可选)

仍完全支持 MCP,适用于偏好使用 MCP 的客户端:

claude mcp add platformio -- node /path/to/platformio-mcp/build/index.js

请注意,每个以这种方式连接的会话都会运行各自的服务进程。上面的 CLI 则可避免这种情况。其他宿主的配置方式请参阅下文的手动 MCP 配置。

Agent 优先功能

  • 项目就绪状态验证(agent_validate_project)
  • 丰富的构建诊断,包含结构化错误分类(agent_build_diagnose)
  • 感知开发板的 GPIO 安全审计(agent_safe_pin_audit)
  • 烧录 + 监控 + 运行时断言(agent_flash_monitor_verify)
  • 持久化工作流产物,保存在 .pio-mcp-workspace/(lastAgentReport.json、boardReport.json)
  • 开发板智能报告(agent_generate_board_report)
  • 策略配置文件检查(get_policy_status)
  • 精确的项目/环境/设备绑定(agent_resolve_target)
  • 有界、基于游标的串口健康检查(agent_monitor_health)
  • 幂等的任务取消和精简历史记录(cancel_task、list_task_history)
  • 为 Agent 提供只读审批状态;审批仍由人工控制

所有高风险操作仍须遵守策略和审批规则。

快速开始

1. 运行仪表板
npx platformio-mcp dashboard --serve
2. 使用 CLI

支持全部三个 npm 名称。platformio-mcp 是规范名称;pio-mcp 和 pio-agent 通过仅依赖别名安装相同的 CLI:

npx platformio-mcp --help
npx pio-mcp --help
npx pio-agent --help
npx --package platformio-mcp pio-agent devices
npx --package platformio-mcp pio-agent boards --filter esp32
npx platformio-mcp init --board esp32dev --framework arduino --project-dir ./firmware
npx platformio-mcp build --project-dir ./firmware
npx platformio-mcp flash --project-dir ./firmware --port auto
npx platformio-mcp monitor --project-dir ./firmware --port auto --expect BOOT_OK --timeout 30
npx platformio-mcp agent-validate --project-dir ./firmware
npx platformio-mcp agent-build-diagnose --project-dir ./firmware
npx platformio-mcp agent-safe-pin-audit --project-dir ./firmware --board esp32dev
npx platformio-mcp agent-flash-monitor-verify --project-dir ./firmware --expect-all BOOT_OK --reject-patterns "Guru Meditation,Brownout detector,WDT reset" --timeout 45
npx platformio-mcp agent-last-report --project-dir ./firmware
npx platformio-mcp policy-status --project-dir ./firmware
npx platformio-mcp task-status <task-id>

使用 --json 获取机器可读输出:

npx platformio-mcp build --project-dir ./firmware --json
3. 安装到 AI 宿主
npx platformio-mcp install --cline
npx platformio-mcp install --claude
npx platformio-mcp install --vscode
npx platformio-mcp install --antigravity
npx platformio-mcp install --codex
4. 安装完整的 Codex Plugin

PIO Agent Codex Plugin 添加了捆绑的 MCP 运行时、专用的内嵌技能、安全的应用内仪表板流程,以及监控自动化指南。Codex 要求使用一个稳定的插件标识符,因此安装选择器和技能命名空间仍为 platformio-mcp;安装后的产品显示为 PIO Agent。从克隆仓库安装:

npm install
npm --prefix web install
npm run plugin:build
node build/cli.js install --codex-plugin

从 npm 安装:

npx -y platformio-mcp install --codex-plugin

安装后启动新的 Codex 任务。旧版 install --codex 命令仍可用于仅配置 MCP。有关更新、卸载、浏览器回退、策略、自动化和回滚的详细信息,请参阅完整的 Codex Plugin 指南。

插件发布门禁会在 Windows、macOS 和 Linux 上运行,在 Chromium 中测试经过身份验证的仪表板,验证捆绑运行时和公共工具注册表,并将实体开发板的验证材料保留在单独的手动工作流中。该工作流仅上传有限且经过净化的验证材料;原始硬件日志会留在可自托管的运行器上。请参阅发布与验证指南。

如需无头验证和状态检查,同一 CLI 还提供 plugin validate、target-resolve、monitor-status、monitor-health、task-history、approval-status 和 pending-approvals。运行 platformio-mcp --help 查看有限选项和 JSON 输出支持。

手动配置 MCP

{
  "mcpServers": {
    "platformio": {
      "command": "npx",
      "args": ["-y", "platformio-mcp", "serve"]
    }
  }
}

在 Windows 上,如果宿主要求显式解析 shim,请使用 npx.cmd。

核心功能

  • 发现 PlatformIO 支持的硬件板卡和设备
  • 初始化项目并检查配置
  • 构建、上传、监控及轮询后台任务
  • 为构建/上传/串口故障提供结构化诊断
  • 安全与策略防护措施(审批门禁、审计日志、脱敏)
  • 在仪表板中查看命令、日志、锁和安全状态

安全模型

PIO Agent 会在 CLI 和 MCP 流程中执行策略决策。

  • 操作可设为 allow、deny 或 requires_approval
  • 高风险操作(例如固件上传/重置流程)需要明确审批
  • 所有操作均可审计
  • 对外提供的日志流会对机密信息进行脱敏

可通过 .pio-mcp-policy.json 按项目选择策略配置文件:

{
  "profile": "flash_requires_approval"
}

支持的配置文件:

  • read_only
  • build_only
  • monitor_only
  • flash_requires_approval
  • lab_runner(需要明确且会过期的无人值守实验室策略)
  • lab_admin

CLI 审批工作流:

npx platformio-mcp approvals --status pending --json
npx platformio-mcp approve <approval-id> --json
npx platformio-mcp deny <approval-id> --json

Codex 用法

面向 Codex 的文档和提示词手册:

文档

入门指南:

指南和参考:

规范:

开发

前置条件:

  • Node.js >= 20(包括捆绑的 direct-serial 运行时)
  • PlatformIO Core CLI(安装指南)

本地设置:

git clone https://github.com/jl-codes/platformio-mcp.git
cd platformio-mcp
npm install
npm run build
npm run test
npm run smoke-test

CI/CD 测试层级:

  • npm run test:ci:unit 运行跨平台 CI 中使用的单元/组件覆盖率测试。
  • npm run test:e2e:ci 运行适用于 CI 的端到端测试,覆盖 Agent 工作流和 CLI 接线。
  • .github/workflows/ci.yml 会在拉取请求/推送时运行类型检查、测试和软件包冒烟检查。
  • .github/workflows/hardware-e2e.yml 是一个手动触发的可自托管运行器工作流,用于执行一次明确确认的实体开发板写入、捆绑插件协议检查、刷写后的身份/串口断言、清理证明和经过脱敏的证据。

贡献

欢迎贡献。

  • 有 Bug 或功能请求时,请提交 issue
  • 在适用时,请提交附带测试的拉取请求

许可证

MIT。参见 LICENSE。

固件崩溃和大小分析

MCP 工具 decode_backtrace 和 size_report 使用项目注册的 GNU 工具链分析明确选定的项目/环境。元数据和内存检查需要构建权限,因为它们可能会执行项目脚本。报告会指出确切的 ELF,保留未解析的崩溃地址,并区分 PlatformIO 内存用量与 GNU 估算值。它们无法证明设备上运行的是哪个固件。输入、审批行为、证据和当前限制,请参见固件分析。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。