================== /// MCP /// /// ROS /// ================== [server:online] [protocol:ready]
ros-mcp-server
by lpigeon
ROS/ROS2 Model-Context-Protocol (MCP) server that converts natural-language commands from an LLM into ROS/ROS2 messages via rosbridge WebSocket.
148
31
Open SourceInstallation
1. Prerequisites:
• ROS 1 (Noetic) or ROS 2 (Humble/Foxy) installed and sourced in your shell.
• Python ≥3.8
• pip ≥22
• (Optional) An LLM key (e.g. OPENAI_API_KEY) exported in your environment if you intend to use cloud-hosted models.
2. Clone the server:
git clone https://github.com/lpigeon/ros-mcp-server.git
cd ros-mcp-server
3. Install Python dependencies:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
4. Build ROS/ROS2 message packages (if the repo contains custom msgs):
colcon build # (ROS2)
or
catkin_make # (ROS1)
source install/setup.bash # or devel/setup.bash for ROS1
5. Configure the server (edit config.yaml):
• Set the ROS_MASTER_URI / ROS_DOMAIN_ID as needed.
• Configure the LLM provider section with your API key and model name.
6. Run the MCP server:
python -m ros_mcp_server
# or, if provided, use the launch file
ros2 launch ros_mcp_server mcp_server.launch.py
7. Test:
curl -X POST http://localhost:8000/command -d '{"text": "Move to kitchen"}'
# Robot should receive the translated ROS/ROS2 command.
Documentation
License: MIT License
Updated 7/30/2025