Secure Asana access for AI agents

Tasks, projects, portfolios, and status updates via Asana's official MCP server

Through Asana, agents can search and read tasks, projects, portfolios, status updates, and workspace members, and create or update them when you allow it – every call runs through your policies and is logged for audit.

Server URL: https://mcp.asana.com/v2/mcp

Credential modes

Asana supports bring your own app only. It does not support dynamic client registration, so your organization registers its own OAuth app in Asana and supplies the client ID and secret. See Credential modes for how the modes compare.

Before you begin

  • An Asana account that can create apps in Asana's developer console.
  • Administrator access to your Agent Authority workspace, to add the resource.

Setup moves between two consoles. You copy a redirect URI in the Agent Authority console, register an OAuth app in Asana, then return to the console and paste the credentials. Keep both tabs open as you work.

Setup

1. Copy the redirect URI

In the Agent Authority console, go to Resources → Add Resource and select Asana. Asana is bring-your-own-app only, so the credentials form opens as soon as you select it, with no mode to pick.

Copy the Redirect URI shown on the form. It includes your tenant's region, so copy it rather than typing it. It takes the form https://oauth.aisecurity.services.<region>.connect.secureauth.com/auth/callback.

Leave this page open. You come back to it in step 3.

2. Register an OAuth app in Asana

Sign in at app.asana.com/0/my-apps, Asana's developer console, and click Create new app. Give the app a name your users will recognize on the consent screen, then open the app's OAuth section:

  • Under Redirect URLs, add the Redirect URI from the form in the Agent Authority console, using the Copy button next to it. It must use HTTPS.
  • Copy the Client ID and Client Secret from the app's basic information.

3. Finish in the console

Back on the Asana form in the Agent Authority console, paste the Client ID and Client Secret. Leave Token Endpoint Authentication on Auto-detect. Then click Add.

The gateway sends you to Asana to sign in, through your SSO if configured, and authorize the app. Review the requested access and click Allow. You return to the console with your Asana account connected.

Verify the connection

The gateway syncs the Asana tools automatically. To check the connection end to end, ask your agent to run a request:

Get my Asana user details

If your name and email come back, the connection is working.

How users connect

Access is per user. Each additional user connects their own Asana account the first time their agent calls an Asana tool: the gateway returns a sign-in link, the user authorizes once, and the tools work from then on. Go to Connections to manage linked accounts.

Sign-in goes through your SSO when configured. Asana issues user-level tokens, so each user reaches only the workspaces and objects their own Asana membership allows.

Available tools

ToolDescription
get_meGet the current authenticated user's details
get_userGet user details by ID, email, or "me"
get_usersList users, optionally filtered by team
get_teamsList teams in the workspace
search_objectsQuick search across Asana objects (tasks, projects, portfolios, etc.)
search_tasksAdvanced task search with full-text and complex filters (Premium)
search_tasks_previewTask search that renders a visual preview of the results
get_taskGet full task details by ID
get_tasksList tasks filtered by workspace, project, tag, section, or user list
get_my_tasksGet the current user's assigned tasks
create_tasksCreate one or more tasks
create_task_preview_v4Preview a single task and confirm before creating it
update_tasksUpdate one or more tasks
delete_taskDelete a task
add_commentAdd a comment to a task
get_attachmentsList attachments for a project, project brief, or task
get_projectGet detailed project data
get_projectsList projects in a workspace
create_projectCreate a project, optionally with sections and tasks
create_project_preview_v3Preview a project structure before creating it
create_project_status_updatePost a status update to a project or portfolio
get_status_overviewGet status overview and progress reports for initiatives/projects
get_portfoliosList portfolios owned by the current user
get_portfolioGet detailed portfolio data by ID
get_items_for_portfolioList projects, goals, and other items in a portfolio
get_workspace_agentsList the AI Teammate agents configured in a workspace
get_agentGet the full record for a single AI Teammate agent

Required scopes

The catalog entry requests no scopes, so Asana issues a token with its default scope: full user-level API access, bounded by each user's own Asana permissions. You do not select scopes when you register the app, and the Asana resource page has no scope setting.

Narrow what agents can do with gateway policies instead. See the examples below.

Policy examples

Every org is created with a seeded Allow all rule at the bottom of the list, so any call your own rules don't match stays allowed. Express restrictions as deny rules above it – new rules are added at the top, so a fresh deny outranks it automatically. See Rule order.

  • Read-only access: deny create_*, update_*, delete_*, and add_comment. The wildcards matter – they also catch create_task_preview_v4 and create_project_preview_v3, the preview-then-create flows that naming the tools individually would miss.
  • Task work without project administration: deny create_project, create_project_preview_v3, and delete_task, leaving the task reads, add_comment, and task creation allowed.
  • Block destructive changes: deny delete_task

Next steps

  • Create a policy – start from the read-only pattern in Policy examples above.
  • Connections – manage the Asana accounts your users have linked.

On this page