项目简介

该项目是一个基于Model Context Protocol (MCP) 的服务器,允许通过标准化的接口(JSON-RPC)远程控制Roomba扫地机器人。它将Roomba的移动和回充功能封装为可供LLM客户端调用的工具。

主要功能点

  • Roomba控制: 通过MQTT协议与Roomba机器人通信,发送控制指令。
  • 移动控制: 允许指定Roomba的移动速度、旋转速度和持续时间。
  • 回充功能: 提供发送指令使Roomba返回充电座的功能。
  • MCP 工具暴露: 将上述Roomba控制功能作为MCP工具暴露给LLM客户端,实现LLM通过结构化方式调用机器人能力。

安装步骤

  1. 克隆仓库: 将GitHub仓库克隆到本地。
  2. 安装依赖: 确保您的系统中安装了 'uv' 工具 (推荐使用 'pip install uv')。然后在项目根目录执行以下命令安装项目依赖:
    uv sync

服务器配置 (用于MCP客户端)

MCP客户端连接此服务器时,需要提供服务器的启动命令及其参数。配置信息通常为JSON格式,包含服务器名称、命令、参数等。以下是根据该仓库信息生成的配置示例所需的关键信息(请勿将以下JSON代码直接粘贴到客户端配置中,而是根据您使用的MCP客户端接口填写相应的参数):

  • 服务器名称: 'Roomba Controller MCP'
  • 启动命令 (command): 'uv'
  • 命令参数 (args): '["run", "main.py"]'
  • 服务器描述: 'MQTTを使用してRoombaを操作するためのAPI'

注意: 服务器需要连接到MQTT代理才能与Roomba通信。您可以通过设置环境变量 'MQTT_ENDPOINT' 和 'MQTT_PORT' 来指定MQTT代理的地址和端口。默认值为 'localhost:1883'。

基本使用方法

  1. 按照安装步骤设置项目。
  2. 确保MQTT代理正在运行,并且Roomba可以接收来自该代理的指令。
  3. 启动MCP服务器:在项目根目录执行 'uv run main.py'。
  4. 配置并运行一个MCP客户端,使其能够连接到此服务器(通常是 'http://localhost:8000/mcp' 或其他配置的地址和端口)。
  5. MCP客户端可以通过发现或查询服务器能力,然后通过MCP协议调用“移动”或“回充”等Roomba控制工具。

信息

分类

桌面与硬件