> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DoorDash

> Connect DoorDash's Corporate Ordering MCP server through Runlayer with the OAuth client DoorDash provisions for your company

<Info>
  **Hosted by a third party.** This MCP server is built and hosted by the
  vendor, not Runlayer. This guide covers connecting it through Runlayer for
  governance, policies, and audit.
</Info>

Connect your AI assistant to [DoorDash](https://developer.doordash.com/en-US/mcp/) to find restaurants and retailers, build carts, preview pricing, and place orders. This is a **remote MCP server** hosted by DoorDash: Runlayer proxies requests to `https://openapi.doordash.com/mcp/consumer` using **Streamable HTTP** transport, and each user signs in with their own DoorDash account.

DoorDash's MCP is in private beta, so DoorDash has to approve your company before you can connect.

## Setup

<Steps>
  <Step title="Get an OAuth client from DoorDash">
    1. Join the waitlist from [DoorDash's MCP page](https://developer.doordash.com/en-US/mcp/)
    2. When DoorDash approves your company, ask them to add your Runlayer callback as a redirect URI on your client:
       ```
       https://<your-runlayer-domain>/oauth/callback
       ```
       This is your Runlayer `APP_URL` followed by `/oauth/callback`, the same origin your users open Runlayer at. It must match exactly (scheme, host, path, no trailing slash).
    3. DoorDash sends you the **Client ID**. There is no client secret.
  </Step>

  <Step title="Add the DoorDash connector in Runlayer">
    1. In Runlayer, go to **My connectors**, find **DoorDash**, and click **Add connector**
    2. Under **Registration**, keep **Pre-registered Client** selected
    3. Paste the **Client ID** from DoorDash
    4. Check **Public client (no client secret)**
    5. Leave **OAuth Scopes** as `mcp:consumer:write`
    6. Save the connector
  </Step>

  <Step title="Connect as a user">
    1. Each user opens the DoorDash connector in Runlayer and clicks **Connect**
    2. They sign in to DoorDash with their own account and approve access
    3. Tools are then available in any MCP client connected through Runlayer
  </Step>
</Steps>

<Warning>
  `doordash_submit_order` places a real order and charges the user's default DoorDash payment method. Consider a Runlayer approval policy on `doordash_submit_order` so a person confirms every order an agent places.
</Warning>

## Troubleshooting

<Accordion title="DoorDash says &#x22;Redirect Uri is not matching client file&#x22;">
  DoorDash has not added your Runlayer callback to your client. Ask your DoorDash contact to add `https://<your-runlayer-domain>/oauth/callback` exactly as written, then try **Connect** again.
</Accordion>

<Accordion title="Manual OAuth client setup required">
  The connector has no Client ID configured. Open the connector settings, choose **Pre-registered Client** under **Registration**, paste the Client ID from DoorDash, and check **Public client (no client secret)**.
</Accordion>

<Accordion title="Connecting fails even though the Client ID is set">
  Check that **Public client (no client secret)** is checked. Without it and without a client secret, Runlayer does not use your Client ID and tries Dynamic Client Registration instead, which DoorDash does not support.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.