ESP-IDF FastMCP Server
这是一个为ESP-IDF开发定制的FastMCP Server,提供了与ESP-IDF相关的工具和功能。
功能
获取ESP-IDF版本信息
列出支持的ESP目标芯片
列出串口设备
使用pyserial执行串口操作。 只列出有包含有效description的串口设备(非n/a)
选择目标串口
选择ESP-IDF要操作的目标串口,对所有需要选择端口的ESP-IDF操作生效。
编译
编译项目,返回所有标准输出和标准错误。 通常用于验证代码是否正确,优先使用工具进行编译,而不是直接在命令行中执行编译命令。
清理项目
清理项目。 优先使用工具进行编译,而不是直接在命令行中执行清理命令。
设置编译目标设备
设置编译目标设备,优先使用工具进行设置。
安装要求
Python 3.8或更高版本
FastMCP库
ESP-IDF工具链(用于ESP-IDF相关工具)
安装
运行Server
有两种方式运行server:
方法1:直接运行Python文件
这将在127.0.0.1:8080上启动HTTP服务器。
方法2:使用fastmcp配置文件(推荐)
这种方法使用声明式配置文件来定义服务器参数。
运行测试
要运行单元测试,请使用以下命令:
或者直接运行测试文件:
使用
服务器启动后,可以通过HTTP客户端连接到http://127.0.0.1:8080/mcp来使用提供的工具。
调用工具
客户端可以列出并调用已注册的工具函数:
get_esp_idf_versionlist_esp_targetslist_serial_portsselect_serial_portget_selected_serial_portcompile_projectclean_projectset_target
自定义配置
可以通过以下方式自定义服务器配置:
修改
app.py文件中的mcp.run()参数:mcp.run(transport="streamable-http", host="127.0.0.1", port=8080)编辑
fastmcp.json配置文件:{ "mcpServers": { "esp-idf-server": { "command": "python", "args": ["app.py"], "transport": "streamable-http", "url": "http://127.0.0.1:8080" } } }
可以更改host、port或transport类型来满足具体需求。