What dashpilot-mcp does
dashpilot-mcp MCP server exposes DoorDash Drive delivery operations through MCP for restaurants and stores. It can check a local Drive connection, request delivery quotes, accept quotes, dispatch deliveries, retrieve live status, update delivery details, and cancel deliveries. It also provides DashPilot Cloud operations such as an operations board, account details, dispatch settings, diagnostics, and install deletion.
The package is intended for the 🔒 Delivery category and supports both individual deliveries and larger delivery plans. A single dispatch can be quoted and accepted together, while batch dispatch supports up to 25 deliveries. Scheduled batches support up to 50 deliveries across a staggered window.
How it works
Drive access credentials remain on the machine running the package. dashpilot-mcp signs short-lived DoorDash JWTs locally and sends them to DoorDash. DashPilot Cloud receives usage data and unsigned payloads for scheduled deliveries; it does not receive bearer tokens or dispatch scheduled work by itself.
When scheduled work becomes due, dispatch_due_deliveries retrieves the queue, creates a fresh 60-second JWT locally, and sends the delivery to DoorDash. A machine with the Drive key must be running this executor at the required time. The server uses stdio transport and does not open a network listener.
The MCP tool annotations distinguish read-only actions from operations that can cause changes. Quotes, tracking, planning, and routine diagnostics can be performed without dispatching. Dispatches, scheduling, cancellations, tip changes, and support-bundle uploads require explicit confirmation in clients that enforce these annotations. Confirmed schedules are later executed by the due-delivery dispatcher.
Setup and configuration
Python 3.11 or newer is required. With uv, configure the MCP client to run uvx doordash-dashpilot-mcp, then provide DASHPILOT_API_URL and DASHPILOT_API_KEY. The API URL defaults to the hosted DashPilot Cloud service, while the key is issued during install registration and shown once.
Place the DoorDash Drive credentials in a project-level .env file: DASHPILOT_DRIVE_DEVELOPER_ID, DASHPILOT_DRIVE_KEY_ID, and DASHPILOT_DRIVE_KEY. This keeps the Drive key out of each MCP client profile. DASHPILOT_DRIVE_BASE_URL can select the default Drive endpoint or the bundled loopback simulator for local development. DASHPILOT_DRIVE_ROUTING accepts managed or manual; managed routing selects between DoorDash sandbox and production according to the install configuration.
Run check_drive_connection after setup to verify the key and identify the active environment. Outside loopback development, both configured outbound URLs must use HTTPS, and redirects are not followed.
Tools and capabilities
- Quote fees, taxes, and estimated arrival times without moving a delivery.
- Accept a quote, dispatch directly, or dispatch up to 25 deliveries in one call.
- Schedule individual deliveries or batches of up to 50 staggered deliveries.
- Track status, Dasher details, ETA, and the DoorDash tracking URL.
- Change tips, instructions, or contact phone numbers, subject to Drive rules.
- List current deliveries and scheduled work, inspect account and dispatch settings, and generate diagnostics.
Limitations and notes
DashPilot does not bill customers or handle money; DoorDash bills the developer account directly. It is not affiliated with or endorsed by DoorDash. Delivery cancellation remains subject to DoorDash Drive rules.
Scheduled payloads are unsigned, so the backend cannot dispatch without the local machine and Drive key. delete_install permanently removes the install's DashPilot Cloud data. Support reporting uses redacted structural error records, and a support bundle identifies included sections and total size rather than exposing field contents.
Use dashpilot-mcp when the delivery workflow fits DoorDash Drive and you can keep an authorized machine available for scheduled execution.