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

# Connect Asana

> Connect Asana's remote MCP server to MCP Manager: register an app in Asana's developer console to get a Client ID and Client Secret, supply them when MCP Manager's detection lands on OAuth client pre-registration, and approve the OAuth screen so tool calls run as each user's own Asana identity.

Asana's remote MCP server lives at `https://mcp.asana.com/v2/mcp` and connects over OAuth — but not the one-click kind. Before you open MCP Manager, you'll need to **register an app in Asana's developer console** — their server won't accept a connection without a pre-registered **Client ID** and **Client Secret**. That's Asana's requirement. Once you have those two values, the MCP Manager side is quick.

<Note>
  When you paste `https://mcp.asana.com/v2/mcp` and click **Continue**, MCP Manager's [authentication
  detection](/mcp-server-guides/overview#how-mcp-manager-detects-the-authentication-type) lands on **OAuth with client pre-registration** — Asana's
  server speaks OAuth 2.1 with PKCE but does not support dynamic client registration, so you supply a Client ID and Secret, then approve consent.
</Note>

<Info>
  This guide is a convenience based on Asana's setup at the time of writing. **Asana's own [MCP
  documentation](https://developers.asana.com/docs/mcp-server) is authoritative** and may be more current. The requirements below — registering an app
  in Asana's developer console, the redirect URL, OAuth with PKCE — come from Asana, not from MCP Manager. If a step here has drifted or a connection
  problem is specific to how Asana works, **Asana support** is the fastest path to an answer.
</Info>

## Before you start

Most of the work here is Asana-side prep. Bring the following before you open MCP Manager:

* **An Asana account with access to the developer console.** You register the app at [app.asana.com/0/my-apps](https://app.asana.com/0/my-apps), which is accessible to any Asana user.
* **A Client ID and Client Secret from a registered app.** Asana's remote server does not register clients on the fly; you must create the app first and copy both values from its credentials page. Asana's developer console labels this app type **"MCP app"** — select that type, not a standard API app.
* **A redirect URL for the OAuth flow.** Asana's app form requires a registered redirect URI that exactly matches what MCP Manager sends. Use the callback URL MCP Manager shows in the connect flow.
* **The MCP server URL** — `https://mcp.asana.com/v2/mcp`. Everyone uses the same host; there is no per-workspace variant.

<Tip>
  Apps registered for Asana's MCP server do **not** use scopes. Omit the scope parameter entirely — access is governed by what each user can already
  see and do in Asana at the time they approve the consent screen.
</Tip>

## Connect the server

<Steps>
  <Step title="Open the developer console and register an app">
    Go to [app.asana.com/0/my-apps](https://app.asana.com/0/my-apps) and click **Create new app**. When prompted for the app type, select **MCP app** — that is Asana's label for the app type that works with their remote MCP server, as distinct from a standard Asana API app.
  </Step>

  <Step title="Register the redirect URI">
    In the app's OAuth settings, add MCP Manager's OAuth callback URL as a redirect URI. The exact URL is shown in MCP Manager's connect flow when
    detection resolves to client pre-registration — paste it in here. Asana validates the callback against this registered value, so the match must be
    exact.
  </Step>

  <Step title="Copy the Client ID and Client Secret">
    After the app is created, the **Client ID** and **Client Secret** appear on its credentials page. Copy both now — you'll paste them into MCP
    Manager. Treat the Client Secret like a password.
  </Step>

  <Step title="Add the server in MCP Manager">
    On the [Servers](https://app.mcpmanager.ai/settings/servers) page, add a server, paste `https://mcp.asana.com/v2/mcp`, and click **Continue**. Detection resolves to **OAuth with client pre-registration**; provide the two values:

    | Field         | Value                                    |
    | ------------- | ---------------------------------------- |
    | Client ID     | from the app's credentials page in Asana |
    | Client Secret | from the app's credentials page in Asana |
  </Step>

  <Step title="Approve the OAuth consent screen">
    With the Client ID and Secret in place, MCP Manager runs the OAuth handshake (OAuth 2.1 with PKCE). Each connecting user signs in to Asana and approves the consent screen. Tool calls then run as that user's own Asana identity, limited to tasks and projects they can already access. The server's tools are now available to add to a gateway.
  </Step>
</Steps>

## Gotchas & things to keep in mind

* **Select the "MCP app" type in Asana's console, not a standard API app.** Asana's developer console has two app types. Standard API apps issue tokens that only work against Asana's REST API and cannot connect to `mcp.asana.com`. When creating the app, select the type Asana labels **"MCP app"**.
* **The Client ID and Secret are not credentials, they're the app registration.** Supplying them does not log anyone in — they tell Asana which pre-registered app MCP Manager is acting as. Each user still authenticates individually through the OAuth screen.
* **The redirect URI must match exactly.** Asana validates the callback against the URI you registered on the app. Use the callback URL MCP Manager shows in the connect flow; a mismatch fails the handshake.
* **No scopes to configure.** Apps registered for Asana's MCP server don't use scopes. Access is bounded by what each user can already see and do in Asana — there is no scope list to add or get wrong.
* **Access is per-user, bounded by Asana permissions.** Each user approves their own OAuth grant, so actions are attributable to the individual and limited to their own Asana visibility. Choose **Private** versus **Global** availability accordingly; see [per-user versus shared identity](/security/authentication-and-identity#per-user-identity-versus-shared-identity).
* **OAuth tokens only work with the MCP server.** Tokens Asana issues for these apps are scoped exclusively to `mcp.asana.com/v2/mcp` and cannot be used against Asana's standard REST API — this is Asana's constraint, not MCP Manager's.
* **Access tokens expire after one hour.** MCP Manager handles refresh automatically using the refresh token Asana issues alongside the access token — users should not need to re-authorize unless the refresh token itself expires or is revoked.
* **Use the V2 URL.** Asana's V1 endpoint (`https://mcp.asana.com/sse`) was deprecated and shut down on 2026-05-11. Connect to `https://mcp.asana.com/v2/mcp` only.

## Connection stopped working?

If Asana connected before and later stops — tool calls fail with a re-authentication error, or your identity shows a **Not connected** badge — the usual cause is a stale authorization on Asana's side that a straight reconnect won't clear. Deauthorize the app in Asana (**Settings → Apps → Authorized Apps → Deauthorize**), then delete and re-add your identity in MCP Manager. See [Fix a Broken or Stale MCP Connection](/advanced/fixing-broken-connections) for the full walkthrough and how to tell this apart from an outage.

## Further reading

<CardGroup cols={2}>
  <Card title="Find & Connect MCP Servers" icon="compass" href="/mcp-server-guides/overview">
    How MCP Manager detects authentication type, and how to find other servers' URLs.
  </Card>

  <Card title="How MCP Manager authenticates" icon="key" href="/security/authentication-and-identity#how-mcp-manager-authenticates-to-a-server">
    What client pre-registration and per-user OAuth mean for the identity behind each call.
  </Card>

  <Card title="Identities for remote servers" icon="id-badge" href="/mcp-gateway-concepts/mcp-servers/remote#identities-for-remote-servers">
    Private versus Global availability for the connection you just created.
  </Card>

  <Card title="Connect your AI client" icon="plug" href="/tutorials/connect-your-ai-client">
    Point Claude, Cursor, or another client at the gateway once Asana is connected.
  </Card>
</CardGroup>

## External sources

<CardGroup cols={2}>
  <Card title="Asana MCP server overview" icon="book" href="https://developers.asana.com/docs/mcp-server">
    Asana's authoritative overview of the remote MCP server — endpoint, OAuth requirements, and V2 details.
  </Card>

  <Card title="Integrating with Asana's MCP server" icon="gear" href="https://developers.asana.com/docs/integrating-with-asanas-mcp-server">
    Asana's own setup steps for registering an app and connecting a client with OAuth and PKCE.
  </Card>
</CardGroup>
