### [ROS MCP Server](https://github.com/robotmcp/ros-mcp-server)

> Handle: `ros-mcp-server`<br/>

ROS MCP Server implements the Model Context Protocol (MCP) to bridge LLMs (like Claude or GPT) with Robot Operating System (ROS). It allows LLMs to interact with ROS nodes, topics, and services.

#### Starting

```bash
harbor build ros-mcp-server
harbor up ros-mcp-server
```

The server connects to a `rosbridge_websocket` node. Configure the host and port via `harbor config`:

```bash
# Point to the rosbridge on your host machine
harbor config set ros-mcp-server.rosbridge.host host.docker.internal
harbor config set ros-mcp-server.rosbridge.port 9090
harbor restart ros-mcp-server
```

#### Configuration

##### Environment Variables

Following options can be set via [`harbor config`](./3.-Harbor-CLI-Reference.md#harbor-config):

```bash
# Host for the ROS bridge websocket (robot side)
# Leave empty and set via harbor env to target your ROS environment
HARBOR_ROS_MCP_SERVER_ROSBRIDGE_HOST=

# Port for the ROS bridge websocket
HARBOR_ROS_MCP_SERVER_ROSBRIDGE_PORT=9090

# Persistent workspace for ROS MCP Server
HARBOR_ROS_MCP_SERVER_WORKSPACE=./services/ros-mcp-server

# Git reference for building from source
HARBOR_ROS_MCP_SERVER_GIT_REF=https://github.com/robotmcp/ros-mcp-server#main
```

#### Troubleshooting

```bash
harbor logs ros-mcp-server
```

Ensure `rosbridge_suite` is running on your robot or ROS environment and is accessible from the container.

#### Links

- [Official Documentation](https://github.com/robotmcp/ros-mcp-server)
- [GitHub Repository](https://github.com/robotmcp/ros-mcp-server)
