Nav2 MCP Server
ROS 2 navigation tasks and robot lifecycle monitoring via the Model Context Protocol.
Data last scanned today · Reviewed today
Overview
Nav2 MCP Server bridges the gap between AI assistants and ROS 2 robotics platforms. It exposes the Nav2 navigation stack directly to MCP-compatible clients, allowing users to issue movement commands like navigating to specific poses, executing waypoint sequences, or rotating the robot in place. Beyond basic movement, the server provides real-time monitoring of robot status and pose information. It also includes utility functions for managing navigation costmaps and controlling the lifecycle state of the Nav2 system, ensuring operators can manage the startup, shutdown, and obstacle clearing processes programmatically.
Our verdict
This server carries a high-risk profile, reflected in its security score of 35/100. The primary concern is that every installation grants full write access without a restricted read-only mode, and the project is community-maintained rather than official. It is best suited for experimental robotics environments where users have control over the ROS 2 network, and should be avoided in production or critical infrastructure deployments.
- Zero direct dependencies minimize the software supply chain surface.
- Comprehensive support for Nav2 costmap and lifecycle management.
- Built for direct integration with the ROS 2 ecosystem.
- Lacks a read-only mode, defaulting to full write access.
- Community-maintained project with no formal vendor support.
- Authentication methods for the server remain unreviewed.
Tools
| Tool | Description | Risk |
|---|---|---|
| navigate_to_pose | Navigate the robot to a specific pose (position and orientation) in the map frame | medium |
| follow_waypoints | Navigate the robot through a sequence of waypoints in order | medium |
| spin_robot | Rotate the robot in place by a specified angle | medium |
| backup_robot | Move the robot backward by a specified distance | medium |
| dock_robot | Dock the robot to a charging station or dock | medium |
| undock_robot | Undock the robot from a charging station or dock | medium |
| clear_costmaps | Clear robot navigation costmaps to remove stale obstacle data | medium |
| get_robot_pose | Get the current position and orientation of the robot | low |
| cancel_navigation | Cancel the currently active navigation task | medium |
| nav2_lifecycle | Control Nav2 lifecycle (startup or shutdown) | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What version of ROS 2 does this server support?
The Nav2 MCP Server is built for ROS 2 Jazzy.
›How can I restrict ROS 2 communication to the local machine?
You can set the ROS_LOCALHOST_ONLY environment variable to '1' to restrict communication to localhost.
›Are there specific environment variables for managing network traffic?
Yes, you can configure ROS_DOMAIN_ID to manage network isolation, which is recommended for most deployments.
›What transport modes are supported by the server?
The server supports stdio for local integration or http transport modes.
›Can navigation tasks be cancelled while in progress?
Yes, the server supports async operations, including the cancel_navigation tool to stop active tasks.
Badge
Maintain this server? Add the live badge to your README.