MCP Catalogs
Homenav2_mcp_server screenshot

nav2_mcp_server

by ajtudela·73·Score 45

An MCP server for controlling and monitoring ROS 2 Nav2 robots through navigation commands and system management.

developer-toolsops-infraother
17
Forks
1
Open issues
3 mo ago
Last commit
2d ago
Indexed

Overview

The Nav2 MCP Server provides comprehensive tools for robot navigation and control within the ROS 2 ecosystem. It enables precise movements, real-time monitoring, and costmap management. The server supports both stdio and HTTP transport modes, making it flexible for different integration scenarios. With tools for navigation to specific poses, waypoint following, path planning, and lifecycle management, it offers complete control over Nav2-enabled robots.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Autonomous warehouse robots for material transport
you:Service robots in public spaces for navigation tasks
you:ROS 2 robotics development and testing environments
you:What is Nav2?
you:How do I integrate this with my robot?

When to choose this

Choose this server if you need AI control over Nav2-enabled robots with precise navigation commands and real-time monitoring capabilities.

When NOT to choose this

Avoid if you're not using ROS 2 or Nav2, as this server provides no functionality outside of the Nav2 ecosystem.

Tools this server exposes

12 tools extracted from the README
  • navigate_to_posex: float, y: float, yaw: float

    Navigate the robot to a specific pose in the map frame

  • follow_waypointswaypoints: str (JSON array)

    Navigate the robot through a sequence of waypoints in order

  • spin_robotangle: float

    Rotate the robot in place by a specified angle

  • backup_robotdistance: float, speed: float

    Move the robot backward by a specified distance

  • dock_robotx: float, y: float, yaw: float, dock_id: str, dock_type: str, nav_to_dock: bool

    Dock the robot to a charging station or dock

  • undock_robotdock_type: str

    Undock the robot from a charging station or dock

  • clear_costmapscostmap_type: str

    Clear robot navigation costmaps to remove stale obstacle data

  • get_robot_pose

    Get the current position and orientation of the robot

  • cancel_navigation

    Cancel the currently active navigation task

  • nav2_lifecycleaction: str

    Control Nav2 lifecycle (startup or shutdown)

  • get_pathstart_x: float, start_y: float, start_yaw: float, goal_x: float, goal_y: float, goal_yaw: float, planner_id: str

    Compute a navigation path between two poses

  • get_path_from_robotgoal_x: float, goal_y: float, goal_yaw: float, planner_id: str

    Compute a navigation path from the robot's current pose to a goal pose

Comparable tools

ros2-mcpturtlebot-mcp-servermoveit-mcpwebots-mcp

Installation

Installation

Dependencies

  • ROS 2 (Jazzy)
  • fastmcp
  • Python
  • uv (optional package manager)

Install with uv

git clone https://github.com/ajtudela/nav2_mcp_server.git
cd nav2_mcp_server
export ROS_DOMAIN_ID=0
uv sync

Configuration for Claude Desktop

{
  "nav2 mcp server": {
    "type": "stdio",
    "command": "uv",
    "args": [
      "run",
      "--directory",
      "/path/to/nav2_mcp_server",
      "nav2-mcp-server"
    ],
    "env": {
      "ROS_DOMAIN_ID": "0",
      "ROS_LOCALHOST_ONLY": "1"
    }
  }
}

FAQ

What is Nav2?
Nav2 is the second generation of Robot Operating System (ROS) navigation software, providing a comprehensive set of tools for robot navigation in various environments.
How do I integrate this with my robot?
The MCP server needs to be connected to a running ROS 2 system with Nav2. Ensure your robot's ROS 2 environment is properly set up and running before starting the MCP server.

Compare nav2_mcp_server with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.