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#
Clone the isaac_mission_control repository and navigate into it. The
isaac_mission_dispatchservice 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_controldirectory.Complete the following prerequisites before continuing (steps a and b can be done in parallel):
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.
Mission Control services (includes
isaac_mission_dispatch): From the root of theisaac_mission_controlrepository, 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 upruns in the foreground and holds this terminal open. Do not close this terminal. Open a new terminal tab before continuing with the next step.
In the new terminal tab, navigate to the
isaac_mission_controlroot directory (the directory you cloned in step 1):cd /path/to/isaac_mission_control
Then verify that
isaac_mission_dispatchis running:curl http://localhost:5002/healthRun all remaining steps in this tutorial from this new terminal.
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_controlby navigating to the parent directory, then install the package. Starting from theisaac_mission_controlroot: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 .
Configure Cursor MCP directly in
~/.cursor/mcp.json(or use Cursor Settings -> Tools & MCP, which writes this file).
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_dispatchwith your actual path. If yourisaac_mission_dispatchAPI runs on a different host/port, updateMISSION_DISPATCH_URL.Enable the
mission-dispatchserver in Cursor Settings -> Tools & MCP.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.
Troubleshooting#
Connection Refused#
Confirm the
isaac_mission_dispatchAPI is reachable at the configuredMISSION_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.pyisaac_mission_dispatchAPI client used by MCP:packages/agentic-utilities/mission-dispatch-mcp/src/queries.py