
MCP Arduino Server (mcp-arduino-server)

2025.04.16
0
PythonArduino 开发自动化工具电路图生成开发效率
MCP Arduino Server 是一个基于 FastMCP 的服务器,作为 Model Context Protocol (MCP) 与 `arduino-cli` 之间的桥梁,允许 AI 代理或其他 MCP 客户端与 Arduino 开发工作流进行交互。它提供了管理草图、编译代码、上传到开发板、管理库、发现硬件以及在受限环境中执行基本文件操作的工具。
View on GitHub
Overview
基本能力
产品定位
MCP Arduino Server 是一个专为 Arduino 开发设计的服务器,旨在通过 MCP 协议提供 Arduino 开发工作流的自动化管理工具。
核心功能
- 草图管理:创建、列出、读取和写入 Arduino 草图(
.ino
,.h
文件)。 - WireViz 电路图:提供 YAML 编写帮助和电路图生成工具。
- 代码验证:编译草图而不上传。
- 上传功能:编译并上传草图到连接的开发板。
- 库管理:搜索和安装 Arduino 库。
- 开发板管理:发现连接的开发板及其详细信息。
- 文件操作:在用户主目录或指定草图目录中执行基本的文件操作。
适用场景
- Arduino 开发自动化
- 电路图自动生成
- 库和开发板管理
工具列表
create_new_sketch
: 创建新草图。list_sketches
: 列出草图。read_file
: 读取文件。write_file
: 写入文件并自动编译。rename_file
: 重命名文件。remove_file
: 删除文件。list_boards
: 列出连接的开发板。board_search
: 在线搜索开发板。verify_code
: 验证代码。upload_sketch
: 上传草图。lib_search
: 搜索库。lib_install
: 安装库。list_library_examples
: 列出库示例。getWirevizInstructions
: 获取 WireViz YAML 编写指南。generate_diagram_from_yaml
: 从 YAML 生成电路图。
常见问题解答
- 权限问题:确保用户有访问串口的权限。
- 环境 PATH:确保
arduino-cli
和相关工具链在 PATH 中。 - 核心/工具链缺失:使用
arduino-cli core install
安装缺失的核心。
使用教程
使用依赖
- Python: 3.8+(推荐 3.10+)。
- arduino-cli: 必须安装并在系统 PATH 中。
- WireViz: 必须安装并在系统 PATH 中。
- MCP SDK: 通过项目依赖安装。
- Fuzzy Search: 可选但推荐安装。
安装教程
pip install mcp-arduino-server
对于开发或高级用法:
git clone https://github.com/Volt23/mcp-arduino-server.git
cd mcp-arduino-server
pip install .
设置 Python 3.10+:
pyenv install 3.11.6
pyenv local 3.11.6
确保 arduino-cli
已安装并配置:
arduino-cli core install arduino:avr
调试方式
uv run mcp-arduino-server
或
mcp-arduino-server
检查服务器日志以获取详细错误信息:
export LOG_LEVEL=DEBUG