# Asana

Sign in to Asana. Before you begin, make sure you have:

- An Asana account with access to the developer console.
- Membership in every Asana workspace you plan to select under **Specific workspaces**.
- If your Enterprise+ or Legacy Enterprise organization uses App management, confirmation from an organization super admin that the V2 MCP client is allowed before users authorize it.
- Access to your organization's approved password manager.

### Open the developer console
1. Select your profile photo in the top-right corner.
2. Select **Settings**.
3. Select **Apps**.
4. Select **View developer console**.

This opens the developer console, where you create the app. You can also open it directly at `https://app.asana.com/0/my-apps`.

<!-- screenshot: the Asana Apps settings page with View developer console visible, followed by the developer console with Create new app visible -->

### Create the MCP app
1. Select **Create new app**.
2. Enter a recognizable app name, such as `Speakeasy AI Control Plane`.
3. Select **MCP app** as the app type.
4. Select **Create app**.
5. Copy the generated **Client ID** into your approved password manager.
6. Copy the generated **Client secret** into your approved password manager.

<!-- screenshot: the creation screen immediately before Create app, with the app name and MCP app type visible; do not capture generated credential values -->

### Configure the OAuth redirect
1. Select **OAuth** in the left sidebar.
2. Under **Redirect URLs**, select **+ Add redirect URL**.
3. In **Add redirect URL**, enter `https://app.getgram.ai/mcp/remote_login_callback` in **Redirect URL**.
4. Select **Add**.

<!-- screenshot: the app's OAuth page with the Redirect URL setting visible and credential values excluded or redacted -->

### Configure workspace distribution
Select **Manage distribution** in the left sidebar.

For an internal deployment limited to named workspaces:

1. Under **Distribution method**, select **Specific workspaces**.
2. Select **+ Add workspace**.
3. Choose an intended workspace from the dropdown.
4. Select **Add**.
5. Repeat the workspace steps for every workspace whose users should connect.
6. Select **Save changes**.

To let users from any Asana workspace authorize the app:

1. Under **Distribution method**, select **Any workspace**.
2. Select **Save changes**.

<!-- screenshot: Manage distribution with Distribution method and both choices visible; for Specific workspaces, also show the selected workspace list without exposing unrelated organization data -->

If authorization says the app is explicitly blocked, an organization super admin must unblock it:

1. Return to Asana.
2. Select your profile photo.
3. Select **Admin console**.
4. Select **Apps**.
5. Select **Manage apps**.
6. Select **Connected apps**.
7. Select the associated MCP client app.
8. Select **Unblock**.

<!-- screenshot: Connected apps with the selected app's Unblock control; exclude user activity and unrelated apps -->

### Add the server in Speakeasy
1. In the Speakeasy AI Control Plane sidebar, under **Connect**, select **Sources**.
2. Select **Add Source**.
3. Choose **3rd-party server**.
4. On the **MCP Catalog** page, find **Asana** using **Search MCP servers...**.
5. Select **View**.
6. Select **Add**.
7. In **Add to Project**, select **Add to Project**.

This creates the hosted MCP server and opens its **Overview** page.

<!-- screenshot: the Add Source menu on Sources, or Asana's catalog entry -->

### Connect your credentials
Do not enter a scope during this setup.

1. From the server's **Overview**, open **Settings**.
2. Under **Authentication**, select **Use Discovered** when offered; otherwise, select **Configure Manually**.
3. In **Attach Remote Identity Provider**, set **Client Type** to **Manual**.
4. Confirm that **Redirect URI** matches the `https://app.getgram.ai/mcp/remote_login_callback` value entered in [Configure the OAuth redirect](#configure-oauth-redirect).
5. Paste the **Client ID** saved in [Create the MCP app](#create-mcp-app) into **Client ID**.
6. Paste the **Client secret** saved in [Create the MCP app](#create-mcp-app) into **Client Secret (optional)**.
7. Select **Attach Identity Provider**.

<!-- screenshot: Attach Remote Identity Provider with the Redirect URI and credential fields visible and all credential values redacted -->

This guide covers setup only. For anything beyond it — billing, tool behavior, limits — see Asana's MCP documentation at https://developers.asana.com/docs/using-asanas-mcp-server.
