mcpField
M
Mbotmcp

Mbotmcp

本地服务
github.com/deemkeen其他782 周前更新

关于 Mbotmcp

Mbotmcp 是一个使用 Spring AI、MCP 和 MQTT 控制 mBot2 机器人的项目,面向搭建机器人与 AI 客户端连接的开发者。它将探索、移动和鸣叫等命令作为工具提供,并通过 MQTT 转发给机器人。

主要功能

  1. 01提供机器人控制工具
  2. 02支持探索、停止与鸣叫
  3. 03控制机器人前后左右移动
  4. 04通过 MQTT 转发命令
  5. 05使用自然语言触发机器人操作

适用场景

  1. 01通过 AI 客户端让 mBot2 探索房间
  2. 02发送转向和移动指令
  3. 03控制机器人鸣叫或停止

MCP 相关

Spring 应用通过 MCP 向兼容客户端暴露 mBot2 控制工具,再通过 MQTT 将调用转发给机器人。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MBotMcp

https://github.com/user-attachments/assets/a11d68c5-dc52-4dab-9741-bc1cf47e2ec9

本项目演示如何使用 Spring AI 和 Model Context Protocol(MCP)控制 mBot2 机器人。 通过这套配置,AI 模型可以通过简单的自然语言命令(如“探索”或“左转”)控制实体机器人。

概览

系统由以下部分组成:

  1. 实现 Model Context Protocol 的 Spring Boot 应用
  2. 用于消息传递的 MQTT 代理
  3. 在 mBot2 机器人上运行的 Python 代码
  4. AI 客户端集成能力

Spring 应用将机器人控制命令作为可供 AI 调用的函数公开, 使 AI 模型能够通过自然语言控制实体机器人。

前提条件

  • Java 21
  • Maven
  • mBot2 机器人和 mBlock IDE
  • MQTT 代理(可在 Docker 中运行)
  • Java 基础知识

设置说明

1. 设置 MQTT 代理(可选,如果你还没有)

运行附带的 Docker Compose 文件来设置 MQTT 代理:

cd mbotmcp/assets
docker-compose up -d

这会创建一个消息队列,用于在应用和机器人之间转发命令。

2. 配置 Spring Boot 应用

设置以下环境变量:

MQTT_USERNAME=your_username # leave blank if not configured
MQTT_PASSWORD=your_password # leave blank if not configured
MQTT_SERVER_URI=tcp://your_server:1883

这些变量用于告知应用如何连接到 MQTT 代理。

3. 设置 mBot2

将 Python 脚本上传到 mBot2:

  1. 通过 USB 将 mBot2 连接到电脑
  2. 在电脑上打开 mBlock IDE
  3. 点击“File”菜单并选择“Open”
  4. 导航到仓库中的 /assets 目录
  5. 打开 mbot-mqtt.py 文件
  6. 修改脚本,加入你的个人 WiFi 和 MQTT 配置:
    ssid = "<your wifi ssid>"
    ssid_password = "<your wifi password>"
    mqtt_ip = "<ip of the mqtt broker>"
    mqtt_port = 1883
    mqtt_user = "<your mqtt username>"
    mqtt_password = "<your mqtt password>"
    
  7. 将脚本上传到 mBot2
  8. 打开 mBot2 电源
4. 构建 Spring Boot 应用
mvn clean package

测试设置

  1. 确保 MQTT 代理正在运行
  2. 打开 mBot2 电源,并确保它已连接到 WiFi
  3. 运行测试客户端:
    mvn test -Dtest=ClientStdioTest
    
  4. 看着机器人在蓝色 LED 灯光下执行“beep”命令!

可用的机器人命令

BotService 类定义了机器人能够理解的所有 MCP 工具:

  • mbotExplore() - 执行“explore”例程
  • mbotStop() - 停止机器人
  • mbotBeep() - 让机器人发出蜂鸣声
  • mbotLeft() - 让机器人左转
  • mbotRight() - 让机器人右转
  • mbotForward() - 让机器人前进
  • mbotBackward() - 让机器人后退

与 AI 模型集成

一切运行正常后,你可以与支持 MCP 的 LLM 客户端集成。 我个人推荐使用 Goose。 只需将这些客户端指向你的服务,它们就能根据自然语言请求自主控制机器人。

自然语言命令示例:

  • “探索房间”
  • “右转并前进”
  • “发出蜂鸣声”

工作原理

  1. Spring 应用使用 @Tool 注解将机器人命令公开为工具
  2. Spring 中的 MCP 服务将这些工具连接到外部世界
  3. AI 想要控制机器人时,会通过该协议调用这些方法
  4. 命令通过 MQTT 发送给机器人
  5. 机器人根据收到的消息执行命令

免责声明

如果你的机器人开始谋划统治世界,作者概不负责。 直接拔掉电源,然后快跑!😂

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

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

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