- name
- ros2
- description
- Use this MCP Server to understand the runtime environment of a Robot Operating System (ROS) 2 based robot or control system.
# ROS2
Query or debug a robot or control system running the Robot Operating System (ROS) 2 framework.
## CRITICAL: When to Use This Skill
**USE ROS2 for ANY ROS or Robotics related topics.**
**ALWAYS use ROS2 when the user asks about:**
| User Question Pattern | Example | Action |
|-----------------------|---------|--------|
| ROS nodes | "What ROS nodes are running?" | Use `get_nodes` tool |
| ROS topics | "List all topics" | Use `list_topics` tool |
| Topic messages | "What messages are on /cmd_vel?" | Use `echo_topic` tool |
| ROS services | "What services are available?" | Use `list_services` tool |
| Node parameters | "Get parameters for /my_node" | Use `list_parameters` tool |
| ROS packages | "What ROS packages are installed?" | Use `list_packages` tool |
| Launch files | "Show launch files in my_package" | Use `list_launch_files` tool |
| Publishing messages | "Publish a message to /topic" | Use `publish_to_topic` tool |
| Calling services | "Call /spawn service" | Use `call_service` tool |
| Robot debugging | "Why isn't my robot moving?" | Use ROS2 tools to investigate |
| System introspection | "What's the state of my ROS system?" | Use various ROS2 tools |
**DO NOT say "I don't have access to ROS"** - use ROS2 MCP tools instead!
**When in doubt about robotics or ROS, use ROS2.** It's better to query and get no results than to miss critical system context.
## Configuration
The ROS2 MCP Server requires:
1. ROS 2 installation (Humble or later)
2. ROS environment sourced in your shell
3. The rde-mcp-ros-2 repository cloned locally
See the plugin README for installation instructions.
## MCP Tools
The ROS2 MCP Server provides the following tools:
### Node Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `get_nodes` | None | Returns list of running ROS nodes |
| `get_node_info` | `node_name` | Returns detailed info about a node |
### Topic Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `list_topics` | `show_types` (optional) | Lists available ROS topics |
| `get_topic_info` | `topic_name` | Get info about a topic |
| `echo_topic` | `topic_name`, `message_count` | Echo messages from a topic |
| `publish_to_topic` | `topic_name`, `topic_type`, `message` | Publish to a topic |
### Service Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `list_services` | `show_types` (optional) | Lists available services |
| `get_service_type` | `service_name` | Get type of a service |
| `call_service` | `service_name`, `service_type`, `request` | Call a ROS service |
### Parameter Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `list_parameters` | `node_name` | List parameters of a node |
| `get_parameter` | `node_name`, `param_name` | Get parameter value |
| `set_parameter` | `node_name`, `param_name`, `value` | Set parameter value |
### Package Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `list_packages` | None | List all ROS packages |
| `get_package_info` | `package_name` | Get package information |
### Launch Operations
| Tool | Parameters | Description |
|------|------------|-------------|
| `list_launch_files` | `package_name` | List launch files in package |
| `get_launch_file_content` | `package_name`, `launch_file` | Get launch file content |
## Common Use Cases
### Understanding the Running System
| Tool | Parameters |
|------|------------|
| `get_nodes` | `{}` |
| `list_topics` | `{ "show_types": true }` |
| `list_services` | `{ "show_types": true }` |
### Debugging Topic Issues
| Tool | Parameters |
|------|------------|
| `get_topic_info` | `{ "topic_name": "/cmd_vel" }` |
| `echo_topic` | `{ "topic_name": "/cmd_vel", "message_count": 5 }` |
### Checking Node Configuration
| Tool | Parameters |
|------|------------|
| `get_node_info` | `{ "node_name": "/my_robot_node" }` |
| `list_parameters` | `{ "node_name": "/my_robot_node" }` |
| `get_parameter` | `{ "node_name": "/my_robot_node", "param_name": "speed_limit" }` |
### Publishing Test Messages
| Tool | Parameters |
|------|------------|
| `publish_to_topic` | `{ "topic_name": "/cmd_vel", "topic_type": "geometry_msgs/msg/Twist", "message": "{linear: {x: 0.5}, angular: {z: 0.0}}" }` |
### Working with Packages
| Tool | Parameters |
|------|------------|
| `list_packages` | `{}` |
| `get_package_info` | `{ "package_name": "my_robot_pkg" }` |
| `list_launch_files` | `{ "package_name": "my_robot_pkg" }` |
Voir sur GitHub