Token导航 LogoToken导航

MCP Server · 运维云端

mcpesp (Ertgtct)

一个可配置的Arduino库,用于在ESP32设备上实现模型上下文协议(MCP)服务器,使AI模型和其他客户端能够通过HTTP/JSON-RPC与ESP32交互。

未说明官方级别未说明来源级核验工具 3
C++物联网HTTP服务器

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
ertgtct
提供方
ertgtct

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

mcpesp (Ertgtct) 属于运维云端类 MCP Server,公开资料标注 3 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Mcpesp-ESP32模型上下文协议库

一个可配置的Arduino库,用于在ESP32设备上实现模型上下文协议(MCP)服务器。此库使您能够将ESP32硬件功能作为MCP工具公开,可以通过HTTP/JSON-RPC调用,允许AI模型和其他客户端通过标准化协议与ESP32交互。

描述

Mcpesp为ESP32提供了模型上下文协议服务器的完整实现。它处理JSON-RPC请求、工具注册、模式验证和CORS标头,使创建向外部客户端公开ESP32功能的MCP服务器变得容易。

特性

  • MCP协议支持:MCP协议的基本实现
  • 工具注册:使用回调函数轻松注册自定义工具
  • 架构验证:用于定义工具输入参数的内置模式生成器
  • HTTP服务器:集成到ESP32的Web服务器中,用于处理HTTP/JSON-RPC请求
  • JSON-RPC 2.0:与JSON-RPC 2.0规范兼容
  • WiFi集成:适用于ESP32 WiFi功能

安装

Arduino集成开发环境

  1. 下载或克隆此存储库
  2. 放置 mcpesp Arduino中的文件夹 libraries 目录
  3. 重新启动Arduino IDE

平台IO

添加到您的 platformio.ini:

lib_deps = 
    bblanchon/ArduinoJson@^7.0.0

依赖项

  • ArduinoJson:JSON解析和生成库(版本7.x或兼容)
  • ESP32董事会支持:需要Arduino IDE的ESP32板支持包
  • Web服务器:包含在ESP32核心库中

快速开始

#include 
#include 

// WiFi credentials
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

// LED pin for demonstration
#define LED_PIN 8

// Create MCP server instance
Mcpesp mcpServer;

void myToolCallback(JsonObject arguments, JsonObject result) {
  bool state = arguments["enabled"].as(); // Name of the property is "enabled"
  bool ledState = state;
  
  digitalWrite(LED_PIN, ledState ? LOW : HIGH); // LOW = ON for most ESP32 boards
  
  result["text"] = "LED turned " + String(state) + " successfully!";
  Serial.println("LED state changed to: " + state);
}

void setup() {
  Serial.begin(115200);
  
  // Connect to WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nConnected!");
  
  // Initialize MCP server
  mcpServer.begin("My MCP Server", "1.0.0");
  
  // Create tool schema
  Schema toolSchema;
  toolSchema.addBooleanProperty("enabled", "Enable or disable feature");
  
  // Register tool
  mcpServer.addTool(
    "my_tool",
    "Description of my tool",
    toolSchema,
    myToolCallback
  );
}

void loop() {
  mcpServer.handleClient();
}

API 参考

Mcpesp类

构造函数
Mcpesp()

创建新的MCP服务器实例。

方法
begin(serverName, version, port)

初始化MCP服务器。

  • 参数:

- serverName (const char\*):服务器的名称(默认值:“ESP32 MCP服务器”) - version (const char\*):服务器版本(默认值:“1.0.0”) - port (int):HTTP服务器端口(默认值:80)

  • 退货:无效
addTool(name, description, inputSchema, callback)

在服务器上注册新工具。

  • 参数:

- name (const String&):工具名称(必须唯一) - description (const String&):工具描述 - inputSchema (模式&):输入参数模式 - callback (toolCallback):调用工具时执行的回调函数

  • 退货:无效
handleClient()

处理传入的客户端请求。把这个叫你的 loop() 功能。

  • 退货:无效
setServerInfo(name, version)

更新服务器名称和版本。

  • 参数:

- name (const String&):服务器名称 - version (const String&):服务器版本

  • 退货:无效
setProtocolVersion(version)

设置MCP协议版本。

  • 参数:

- version (const String&):协议版本(默认值:“2025-03-26”)

  • 退货:无效
isInitialized()

检查服务器是否已初始化。

  • 退货: 布尔
getServer()

获取底层WebServer实例以供高级使用。

  • 退货:Web服务器\*

架构类

Schema类用于定义工具的输入参数模式。

构造函数
Schema()

创建新的架构实例。

方法
addStringProperty(name, description, required)

将字符串属性添加到架构中。

  • 参数:

- name (字符串):属性名称 - description (字符串):属性描述 - required (bool):该属性是否为必填项(默认值:true)

  • 退货:无效
addStringEnumProperty(name, description, options, required)

将字符串枚举属性添加到架构中。

  • 参数:

- name (字符串):属性名称 - description (字符串):属性描述 - options (String\[\]):允许值的数组 - required (bool):该属性是否为必填项(默认值:true)

  • 退货:无效
addNumberProperty(name, description, required)

将数字属性添加到架构中。

  • 参数:

- name (字符串):属性名称 - description (字符串):属性描述 - required (bool):该属性是否为必填项(默认值:true)

  • 退货:无效
addNumberProperty(name, description, min, max, def, required)

将具有约束的数字属性添加到架构中。

  • 参数:

- name (字符串):属性名称 - description (字符串):属性描述 - min (int):最小值 - max (int):最大值 - def (int):默认值 - required (bool):该属性是否为必填项(默认值:true)

  • 退货:无效
addBooleanProperty(name, description, required)

将布尔属性添加到架构中。

  • 参数:

- name (字符串):属性名称 - description (字符串):属性描述 - required (bool):该属性是否为必填项(默认值:true)

  • 退货:无效
getSchema()

返回JSON模式文档。

  • 退货:json文档

工具回调功能

工具回调具有以下签名:

void toolCallback(JsonObject arguments, JsonObject result)
  • 参数:

- arguments (JsonObject):从客户端输入参数 - result (JsonObject):要填充的结果对象(set result["text"] 对于响应)

  • 退货:无效

例子

请参阅 examples/McpServerExample/ 一个完整示例的目录,演示:

  • WiFi连接
  • 服务器初始化
  • 使用不同模式类型的工具注册
  • 工具回调实现

MCP协议

此库实现了以下MCP方法:

  • initialize:初始化MCP连接
  • tools/list:列出所有已注册的工具
  • tools/call:调用已注册的工具

所有方法都遵循JSON-RPC 2.0规范,并返回适当的响应。

许可证

这个图书馆是基于https://github.com/MrLaki5/ESP32-MCP-air-conditioner

贡献

欢迎投稿!请随时提交pull请求或打开bug和功能请求的问题。

支持

对于任何错误报告或功能请求,请在存储库上打开问题。

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

C++本地部署物联网JSON-RPCESP32开发HTTP服务器硬件交互

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
mcpesp (Ertgtct)

MCP World · 本页

3未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

mcpesp (Ertgtct) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

mcpesp (Ertgtct) 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

mcpesp (Ertgtct) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

mcpesp (Ertgtct) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

mcpesp (Ertgtct) 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP