The ROS MCP MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.
Configuration
Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.
Context7 Platform - Up-to-date Code Docs For Any Prompt
upstash
Community
Context7 MCP server providing up-to-date, version-specific documentation and code examples for libraries, enabling coding agents to fetch accurate docs and code snippets. Requires an API key for higher rate limits, passed via CONTEXT7_API_KEY header.
57.7Kstars0forks
Playwright MCP
Microsoft Corporation
Community
A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. Enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.
35.5Kstars0forks
AIHawk
feder-cr
Community
AIHawk is an anti detect browser and web browsing agent, open source, with an MCP server for coding agents: undetected, no captchas, no blocks. It requires an OpenRouter API key for the standalone web UI mode, which can be provided via the --openrouter-key flag or the OPENROUTER_API_KEY environment variable or a .env file in the running directory.
ROS MCP is a MCP server designed for controlling robots in ROS environments using natural language.
It supports communication via ROS topics, services, and actions, and works with any ROS message type.
Demo
Test to see if ros topics, services, and actions can be used.
Open gazebo with TurtleBot3 and publish topic to move it.
Prompt used (Service)
Show me service list and call service to reset the world in Gazebo.
Prompt used (Action)
Show me action list and call action to move the TurtleBot3 forward for 1m.
Components
Socket Server (socket_server.py): A lightweight server that runs on localhost:8765 to handle GUI-related operations.
It receives instructions from the MCP server to launch tools such as Gazebo or rqt_graph on the local display.
MCP Server (ros-general.py): A Python-based server that implements the MCP.
It processes natural language input, maps it to ROS commands, and communicates with the socket server.
To enable node communication between the MCP server and the local machine, both must be configured with the same ROS_DOMAIN_ID on the same local network.
Overview of MCP Tools
Topic Management: List, monitor, and publish to ROS2 topics
Node Control: List and inspect running ROS2 nodes
Service Interaction: Call ROS2 services with custom
Action Support: Send goals to ROS2 actions
GUI Integration: Launch ROS2 GUI tools via WebSocket server
Environment Debugging: Check ROS2 setup and configuration
Process Management: Clean up running ROS2 processes
/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-mcp
Replace with the absolute path the ros-mcp directory.
For example: /home/ubuntu/ros-mcp
YOUR_ROS_DOMAIN_ID
Replace with the ROS domain ID used in your environment to enable ROS communication between the MCP server and your local machine. If you're not sure what your current domain ID is, you can check it by running the following command in your terminal:
echo $ROS_DOMAIN_ID
If nothing is printed, the domain ID is not set, and the default value 0 will be used.
Alternatively, you can set it manually using the following command:
export ROS_DOMAIN_ID=10 # Replace 10 with your desired domain ID
/ABSOLUTE/PATH/TO/PARENT/FOLDER/ros-general.py
Replace with the absolute path to your ros-general.py script.
For example: /home/ubuntu/ros-mcp/ros-general.py
Running the Servers
Start MCP server
Make sure your virtual environment is activated before running the MCP server: