---
updatedAt: 2026-10-08T14:33:17.000Z
agentTools:
  projectIndex: https://developers.asana.com/llms.txt
---

# Using Asana's Command MCP Server

# Overview

Asana's Command MCP server lets compatible AI clients work with Command Teamspaces, tickets, and releases. You can search, create, and update tickets, add comments, manage blocking dependencies, and read release status.

Learn more about [Command by Asana](https://asana.com/product/command).

## Requirements

1. Each user needs a Command license and access to the Teamspace they want to use.
2. An MCP client that supports OAuth authentication and Streamable HTTP.
3. An Asana MCP app allowed in your workspace through [app management](https://help.asana.com/s/article/app-management-and-integrations?language=en_US).

***

# Connecting to Asana's Command MCP Server

**Server URL:** `https://mcp.asana.com/v2/command/mcp`

Each user signs in with their own Asana account and authorizes access. To see available tools and their parameters, use your client's `tools/list` request.

## Create an Asana MCP app

1. Open the [developer console](https://app.asana.com/0/my-apps), select **Create new app**, and choose **MCP app** as the app type.
2. In **OAuth**, add the redirect URL required by your client. It must match exactly.
3. In **Manage distribution**, allow the workspace where the app will be used.

Use the app's **Client ID** and **Client secret** when configuring your client. See [Integrating with Asana's MCP Server](/docs/integrating-with-asanas-mcp-server) for app registration details. Use the Command server URL above when connecting.

## Using with OpenAI

### ChatGPT plugin

Create one Asana MCP app for a shared custom plugin. Users of that plugin do not need to create their own Asana apps.

1. [Create a custom MCP plugin in ChatGPT](https://developers.openai.com/api/docs/guides/custom-mcp-server) with the Command server URL.
2. Select OAuth authentication and enter the Asana app's Client ID and Client secret.
3. Register the plugin's OAuth callback URL in the Asana app and make the plugin available to your workspace.
4. Each user installs the plugin and connects their own Asana account.

### Codex configuration

For a direct Codex connection, create your own Asana MCP app and register `http://localhost:3334/oauth/callback` as its redirect URL. This setup requires Node.js and npm and uses the community-maintained `mcp-remote` bridge, which is not officially supported by Asana.

Save your credentials in `~/.asana/command_oauth_client.json` and restrict access with `chmod 600 ~/.asana/command_oauth_client.json`. Do not commit this file.

```json
{
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET"
}
```

Add this to `~/.codex/config.toml`, replacing the credentials path with its absolute path (`~` is not expanded):

```toml
[mcp_servers.command]
command = "npx"
args = [
  "-y",
  "mcp-remote@latest",
  "https://mcp.asana.com/v2/command/mcp",
  "3334",
  "--static-oauth-client-info",
  "@/absolute/path/to/command_oauth_client.json",
  "--resource",
  "https://mcp.asana.com/v2/command/mcp"
]
```

Restart Codex and complete the Asana sign-in when the server starts. See the [Codex setup guide](/docs/connecting-mcp-clients-to-asanas-v2-server#codex) for more details.

## Using with Claude

### Custom connector

Create one Asana MCP app for a shared custom connector. Users of that connector do not need to create their own Asana apps.

1. [Add a custom connector](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) in your Claude organization with the Command server URL.
2. Select OAuth authentication, choose **Use your own OAuth client**, and enter the Asana app's Client ID and Client secret.
3. Register Claude's OAuth callback URL in the Asana app.
4. Each user connects the connector to their own Asana account.

### Claude Code configuration

For a direct Claude Code connection, create your own Asana MCP app and register `http://localhost:8080/callback` as its redirect URL.

Save this server configuration in a local `command-mcp.json` file, replacing `YOUR_CLIENT_ID`:

```json
{
  "type": "http",
  "url": "https://mcp.asana.com/v2/command/mcp",
  "oauth": {
    "clientId": "YOUR_CLIENT_ID",
    "callbackPort": 8080
  }
}
```

From that file's directory, import it into your user configuration (`~/.claude.json`) and enter the Client secret at the masked prompt:

```shell
claude mcp add-json --scope user command "$(cat command-mcp.json)" --client-secret
```

Claude Code stores the secret separately from the config. Run `/mcp` in Claude Code to complete the Asana sign-in. See [Claude Code's OAuth setup instructions](https://code.claude.com/docs/en/mcp#use-pre-configured-oauth-credentials) for more details.

## Managing access

A shared app does not share user access: each connection uses the authorizing user's Asana permissions. Workspace admins can allow or block the registered app through Asana app management.