Use Mission Control MCP Server in Cursor#

Overview#

This tutorial explains how to run the isaac_mission_control MCP server (mission_control_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:

    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: From the root of the isaac_mission_control repository, change into the compose directory and start the services:

      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_control is running:

    curl http://localhost:8050/api/v1/health
    

    Run all remaining steps in this tutorial from this new terminal, from the isaac_mission_control root directory.

  4. Set up the MCP package. From the isaac_mission_control root:

    cd app/agentic-utilities/mission-control-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-control": {
          "command": "bash",
          "args": [
            "-lc",
            "set -euo pipefail; cd \"/ABS/PATH/TO/isaac_mission_control/app/agentic-utilities/mission-control-mcp\" && exec \"/ABS/PATH/TO/isaac_mission_control/app/agentic-utilities/mission-control-mcp/venv/bin/python\" -m mission_control_mcp.server"
          ],
          "env": {
            "MISSION_CONTROL_URL": "http://localhost:8050"
          }
        }
      }
    }
    

    Note

    Replace /ABS/PATH/TO/isaac_mission_control with your actual path. If isaac_mission_control is remote or port-forwarded, update MISSION_CONTROL_URL accordingly.

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

  7. Start a new chat and ask:

    Use Mission Control 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.gif/

Isaac Mission Control 4.3.0 Limitations#

The following isaac_mission_control MCP tools are not supported in Isaac Mission Control 4.3.0:

MCP Tool

Ready for Isaac Mission Control 4.3.0

submit_charging_mission

No

submit_undock_mission

No

get_detected_objects

No

get_detected_apriltags

No

visualize_route

No

get_map_info

No

list_available_maps

No

select_map

No

deploy_map_to_robot

No

submit_objective

No

cancel_objective

No

Troubleshooting#

Connection Refused#

  • Confirm isaac_mission_control is reachable at the configured MISSION_CONTROL_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_control_mcp.log

Implementation References#

  • MCP server tools: app/agentic-utilities/mission-control-mcp/src/server.py

  • isaac_mission_control API client used by MCP: app/agentic-utilities/mission-control-mcp/src/queries.py