ESP-IDF命令整合工具

一个用于整合ESP-IDF及相关项目命令的工具,简化通过LLM通信的入门流程,支持基本构建命令、固件烧录及实验性自动问题修复。

  • by horw
  • Python
  • 本地部署
  • 118 星标
  • 更新于
在 GitHub 查看 horw/esp-mcp

使用说明

目标

本MCP的目标是:

  • 将ESP-IDF和相关项目命令整合到一个地方。
  • 只使用LLM通信简化入门。

如何为项目做出贡献

只需找到此MCP中缺少的命令并为其创建PR!

如果您希望有人帮助您实现此功能,只需打开一个问题。

通知

该项目目前是 概念验证(PoC) 为ESP-IDF工作流量身定制的MCP服务器。

当前能力:

  • 支持基本的ESP-IDF项目构建命令。
  • 连接ESP设备的闪存内置固件,具有可选端口规格。
  • 包括对基于构建日志的自动问题修复的实验支持。

愿景与未来工作: 长期愿景是将此MCP扩展为一个全面的工具包,用于与嵌入式设备交互,可能与家庭助理平台集成,并简化ESP-IDF和相关技术的文档访问。

我们设想的功能包括:

  • 更广泛的ESP-IDF命令支持(例如。, monitor, menuconfig 如果可行,则进行交互)。
  • 设备管理和信息检索。
  • 与其他嵌入式开发工具和平台集成。

欢迎您的想法和贡献!请随时通过打开一个问题来讨论它们。

安装

首先,克隆此MCP存储库:

git clone git@github.com:horw/esp-mcp.git

然后,在聊天机器人中配置它。

下面的JSON代码片段是一个如何配置它的示例 esp-mcp 聊天机器人或支持模型上下文协议(MCP)的代理系统内的服务器。具体的配置步骤和格式可能因您使用的特定聊天机器人系统而异。有关如何集成MCP服务器的详细信息,请参阅聊天机器人的文档。

{
    "mcpServers": {
        "esp-run": { // "esp-run" is an arbitrary name you can assign to this server configuration.
            "command": "<path_to_uv_or_python_executable>",
            "args": [
                "--directory",
                "<path_to_cloned_esp-mcp_repository>", // e.g., /path/to/your/cloned/esp-mcp
                "run",
                "main.py" // If using python directly, this might be just "main.py" and `command` would be your python interpreter
            ],
            "env": {
                "IDF_PATH": "<path_to_your_esp-idf_directory>" // e.g., ~/esp/esp-idf or C:\\Espressif\\frameworks\\esp-idf
            }
        }
    }
}

关于配置的几点注意事项:

  • command:这应该是您的完整路径 uv 如果你正在使用它,它是可执行的,或者你的Python解释器(例如。, /usr/bin/python3 或 C:\\Python39\\python.exe)如果你打算跑步 main.py 直接。
  • args:
    • 第一个论点 --directory 应该是克隆位置的绝对路径 esp-mcp 存储库。
    • 如果你正在使用 uv,论点 run main.py 是合适的。如果你直接使用Python,你可能只需要 main.py 在 args 列表,并确保您的 command 指向Python可执行文件。
  • IDF_PATH:此环境变量必须指向ESP-IDF安装的根目录。ESP-IDF是Espressif的官方物联网开发框架。如果您尚未安装,请参阅 官方ESP-IDF文件 有关安装说明。

用法

一旦 esp-mcp 服务器已配置并正在运行,您的LLM或聊天机器人可以使用此MCP中定义的工具与之交互。例如,你可以让你的聊天机器人:

  • “建设位于 /path/to/my/esp-project 使用 esp-mcp."
  • “在中清理ESP32项目的构建文件 examples/hello_world 目录。"
  • “将项目的固件闪存到我连接的ESP32设备上 my_app."

然后,MCP服务器将执行相应的ESP-IDF命令(如 idf.py build, idf.py fullclean, idf.py flash)基于中实现的工具 main.py.

这 result.gif 下面显示了一个交互示例:

例子

  1. 构建和Flash

明星历史