# 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: ```json { "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. ```bash pip install . ``` 2. **Running the server**: The server entry point is defined in `pyproject.toml`. You can run it directly from the command line: ```bash 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.