Files
lzwcai-mcp/terminal_temi_mcp/README.md

2.3 KiB

Terminal Temi MCP Server

This project is an MCP (Machine Control Program) skill package designed to control a Temi robot via the MQTT protocol. It exposes robot functionalities like navigation, speaking, and delivery as tools for an MCP Agent.

Features

This server provides a set of tools to command a Temi robot:

  • nav_to: Navigates the robot to a specified location.
  • speak: Makes the robot broadcast a spoken message.
  • reception: Commands the robot to go to a location to welcome and guide a guest.
  • notification: Sends the robot to a location to deliver a notification message.
  • repose: Instructs the robot to perform a repositioning/localization routine.
  • delivery: Manages a delivery task, where the robot moves from a pickup point (first_location) to a drop-off point (next_location).

Configuration

To be used by an MCP Agent, this server requires a JSON configuration file. Create a file (e.g., mcp-server-temi.json) with the following structure:

{
  "mcpServers": {
    "terminal-temi-mcp": {
      "disabled": false,
      "type": "stdio",
      "timeout": 30,
      "command": "uvx",
      "args": [
        "terminal_temi_mcp"
      ],
      "env": {
        "employeeId": "$employeeId$",
        "userId": "$employeeId$"
      }
    }
  }
}
  • command: The command to execute the server, using uvx to run the Python package.
  • args: The name of the package to run.
  • env: Environment variables passed to the server. The MCP Agent will replace placeholders like $employeeId$ with actual values.

The server also relies on a .env file for its own configuration, such as MQTT broker details. Create a .env file in the project root:

# .env file
LOG_LEVEL=INFO
MQTT_BROKER_ADDRESS=your_mqtt_broker_ip
MQTT_PORT=1883
MQTT_USERNAME=your_username
MQTT_PASSWORD=your_password

Installation and Usage

  1. Install dependencies: This project uses hatchling as its build backend. Install the package and its dependencies using pip.

    pip install .
    
  2. Running the server: The server entry point is defined in pyproject.toml. You can run it directly from the command line:

    terminal_temi_mcp
    

    Typically, this server is not run manually but is launched by an MCP Agent that uses the mcp-server-temi.json configuration file.