Skip to main content
command official · Anthropic

asana-setup — Claude Code command: connect the Asana MCP server

Walks you through a one-time Asana OAuth app and adds the V2 MCP server to Claude. Useful when you want your agent to reach Asana tasks.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin install asana@claude-plugins-official
Open on GitHub

What asana-setup does

The command prints three steps: register an app in the Asana developer console, add the MCP server, then authenticate and check the result. Pass a Client ID as an argument and it replaces the YOUR_CLIENT_ID placeholder in the command.

The redirect URL has to be exactly http://localhost:8080/callback, and the port in --callback-port must match it. Asana's V2 server has no Dynamic Client Registration, so you supply your own client_id and client_secret.

It will not run claude mcp add for you. The secret goes in through a hidden terminal prompt, which is why you run that line yourself rather than letting the agent do it. The secret is kept in your OS keychain. On first use Claude opens a browser for Asana consent, and /mcp confirms whether asana is connected.

What it helps with

  • register an Asana OAuth app with the right redirect
  • add the Asana MCP server to Claude
  • enter a client secret without leaking it into shell history
  • confirm the asana server shows as connected
  • recover from an invalid_redirect_uri error

Example prompts for the agent

  • Set up the Asana connection for Claude
  • Run asana-setup with my client_id
  • Show me the steps to add the Asana MCP server

How to install asana-setup

1Plugin marketplace

/plugin install asana@claude-plugins-official

2Manually: put the files in place

.claude/commands/asana-setup.md

Call it with /asana-setup. For all projects use ~/.claude/commands/

Questions about asana-setup

How do I install asana-setup in Claude Code?

From the marketplace: run /plugin marketplace add anthropics/claude-plugins-official, then /plugin install asana@claude-plugins-official.

What does asana-setup do?

It prints the steps for creating an Asana OAuth app and adding https://mcp.asana.com/v2/mcp to Claude, including consent and a check with /mcp.

Why doesn't the command run claude mcp add itself?

The --client-secret prompt needs a hidden TTY prompt, so that line has to be run by hand in your own terminal.

Source text

asana-setup.md · Apache-2.0
---
description: Set up the Asana V2 MCP server connection (one-time OAuth app + claude mcp add)
argument-hint: "[client_id]"
---

The user wants to connect Claude Code to Asana's V2 MCP server. Guide them through the one-time setup below. Do NOT run `claude mcp add` yourself — the `--client-secret` prompt needs a real terminal (a hidden TTY prompt), so the user must run it in their own terminal.

Their Asana OAuth Client ID (if provided): `$1`

Print these steps clearly, substituting the Client ID into the command if `$1` is non-empty (otherwise leave the `YOUR_CLIENT_ID` placeholder):

## Step 1 — Create an Asana OAuth app (one time)

1. Open the Asana developer console: https://app.asana.com/0/my-apps
2. Create a new app.
3. Under **OAuth**, add this exact **Redirect URL**:
   ```
   http://localhost:8080/callback
   ```
4. Copy the **Client ID** and **Client Secret**.

Note: `localhost` is correct — Claude Code is a local client and catches the OAuth callback on your own machine. Asana's V2 server does not support Dynamic Client Registration, so you must bring your own client_id + client_secret.

## Step 2 — Add the server (run this in YOUR terminal)

```bash
claude mcp add --transport http \
  --client-id YOUR_CLIENT_ID --client-secret \
  --callback-port 8080 \
  asana https://mcp.asana.com/v2/mcp
```

- `--client-secret` (no value) triggers a hidden prompt; paste the Client Secret there. It is stored in your OS keychain.
- The port in `--callback-port` must match the `http://localhost:8080/callback` redirect you registered.

## Step 3 — Authenticate & verify

1. On first use, Claude Code opens your browser for Asana consent — approve it.
2. Run `/mcp` and confirm `asana` shows as **connected**.
3. Test it: ask "list my Asana workspaces".

After printing the steps, offer to help troubleshoot if they hit `invalid_redirect_uri` (redirect/port mismatch) or `invalid_client` (wrong id/secret).

© Asana · Apache-2.0 · anthropics/claude-plugins-official

Similar slash commands

All slash commands for Agent setup: memory, context, orchestration →

From the same set145

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor