Use Mission Dispatch MCP Server in Cursor#

Overview#

This tutorial explains how to run the isaac_mission_dispatch MCP server (mission_dispatch_mcp) and connect it to Cursor. This allows you to control robot missions using natural language prompts in Cursor’s AI chat.

It uses direct MCP configuration in ~/.cursor/mcp.json and does not require a .env file.

Tutorial Walkthrough#

  1. Clone the isaac_mission_control repository and navigate into it. The isaac_mission_dispatch service runs as part of this stack’s compose profiles — no separate image pull is needed.

    git clone https://github.com/nvidia-isaac/isaac_mission_control.git
    cd isaac_mission_control
    

    All subsequent commands in this tutorial (unless otherwise noted) are run from the root of this isaac_mission_control directory.

  2. Complete the following prerequisites before continuing (steps a and b can be done in parallel):

    1. Isaac Sim: Install and launch Isaac Sim using the Isaac ROS Isaac Sim Setup Guide, then open the warehouse scene with Mission Client by following the Isaac ROS Mission Client Tutorial through launching Mission Client.

    2. Mission Control services (includes isaac_mission_dispatch): From the root of the isaac_mission_control repository, change into the compose directory and start the full stack:

      cd docs/tutorial/docker-compose
      docker compose -f bringup_services_tutorial.yaml up
      

      Note

      docker compose up runs in the foreground and holds this terminal open. Do not close this terminal. Open a new terminal tab before continuing with the next step.

  3. In the new terminal tab, navigate to the isaac_mission_control root directory (the directory you cloned in step 1):

    cd /path/to/isaac_mission_control
    

    Then verify that isaac_mission_dispatch is running:

    curl http://localhost:5002/health
    

    Run all remaining steps in this tutorial from this new terminal.

  4. Set up the MCP package from the isaac_mission_dispatch repository. The Mission Dispatch MCP sources live in that repository. Clone it as a sibling of isaac_mission_control by navigating to the parent directory, then install the package. Starting from the isaac_mission_control root:

    cd ..
    git clone https://github.com/nvidia-isaac/isaac_mission_dispatch.git
    cd isaac_mission_dispatch/packages/agentic-utilities/mission-dispatch-mcp
    python3 -m venv venv
    ./venv/bin/python -m pip install -U pip
    ./venv/bin/python -m pip install -e .
    
  5. Configure Cursor MCP directly in ~/.cursor/mcp.json (or use Cursor Settings -> Tools & MCP, which writes this file).

    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.5/resources/isaac_ros_docs/concepts/cloud_control/cursor-settings-location.png/
    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.5/resources/isaac_ros_docs/concepts/cloud_control/cursor-mcp-settings.png/

    Add or update this server entry with your real local paths:

    {
      "mcpServers": {
        "mission-dispatch": {
          "command": "bash",
          "args": [
            "-lc",
            "set -euo pipefail; cd \"/ABS/PATH/TO/isaac_mission_dispatch/packages/agentic-utilities/mission-dispatch-mcp\" && exec \"/ABS/PATH/TO/isaac_mission_dispatch/packages/agentic-utilities/mission-dispatch-mcp/venv/bin/python\" -m mission_dispatch_mcp.server"
          ],
          "env": {
            "MISSION_DISPATCH_URL": "http://localhost:5002"
          }
        }
      }
    }
    

    Note

    Replace /ABS/PATH/TO/isaac_mission_dispatch with your actual path. If your isaac_mission_dispatch API runs on a different host/port, update MISSION_DISPATCH_URL.

  6. Enable the mission-dispatch server in Cursor Settings -> Tools & MCP.

  7. Start a new chat and ask:

    Use Mission Dispatch MCP to test the connection.

    If configured correctly, the server responds with a successful connection result.

    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.5/resources/isaac_ros_docs/concepts/cloud_control/connection-demo-dispatch.gif/

Troubleshooting#

Connection Refused#

  • Confirm the isaac_mission_dispatch API is reachable at the configured MISSION_DISPATCH_URL.

Tools Do Not Appear#

  • Disable/re-enable the MCP server in Cursor settings.

  • Start a new chat.

  • Restart Cursor.

Check Server Logs#

  • /tmp/mission_dispatch_mcp.log

Implementation References#

  • MCP server tools: packages/agentic-utilities/mission-dispatch-mcp/src/server.py

  • isaac_mission_dispatch API client used by MCP: packages/agentic-utilities/mission-dispatch-mcp/src/queries.py