Nav2 MCP Server

ROS 2 navigation tasks and robot lifecycle monitoring via the Model Context Protocol.

Data last scanned today · Reviewed today

351 dangerous tool12 tools81PythonApache-2.0

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

ToolDescriptionRisk
navigate_to_poseNavigate the robot to a specific pose (position and orientation) in the map framemedium
follow_waypointsNavigate the robot through a sequence of waypoints in ordermedium
spin_robotRotate the robot in place by a specified anglemedium
backup_robotMove the robot backward by a specified distancemedium
dock_robotDock the robot to a charging station or dockmedium
undock_robotUndock the robot from a charging station or dockmedium
clear_costmapsClear robot navigation costmaps to remove stale obstacle datamedium
get_robot_poseGet the current position and orientation of the robotlow
cancel_navigationCancel the currently active navigation taskmedium
nav2_lifecycleControl Nav2 lifecycle (startup or shutdown)high

Compatibility

ClientLocalDockerRemoteRead-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

Nav2 MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.