ROBOTS / HM-RB-026
HM-RB-026 · datasheet

Nav2 MCP Server

MCP server to control and monitor Nav2 navigation on ROS 2 robots: poses, waypoints, docking, costmaps and lifecycle

01 · What it does

  • Navigate to a pose or follow a sequence of waypoints, and cancel navigation
  • Spin in place or back up by a set distance
  • Dock and undock at a charging station
  • Get the robot pose and compute paths between poses or from the robot to a goal
  • Clear costmaps and start up or shut down the Nav2 lifecycle

02 · Install

$ git clone https://github.com/ajtudela/nav2_mcp_server.git
$ cd nav2_mcp_server
$ export ROS_DOMAIN_ID=0
$ uv sync
  1. The config is the README's mcp.json snippet, verbatim (a bare server entry, not wrapped in mcpServers)
  2. Docker: docker pull ghcr.io/ajtudela/nav2_mcp_server:latest, then run it with docker run -i --rm
  3. Set TRANSPORT_MODE=http to serve over HTTP on port 3001 (/mcp)
  4. Set ROS_DOMAIN_ID to match your robot

03 · Client config (from README)

{
  "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"
    }
  }
}

Install steps taken from the project README (its recommended path first). Placeholders are the maintainer's. Not bench-tested by HardwareMCP yet.

Weekly bulletin

New hardware MCP servers, notable releases and setup notes. One email, Mondays.