71 lines
2.3 KiB
Markdown
71 lines
2.3 KiB
Markdown
# 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.
|