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

Setup

  1. Navigate to Resources and click Add Resource
  2. Select Asana from the catalog
  3. Provide your Asana OAuth app credentials (see Bring your own app)
  4. Click Add

Each user connects their own Asana account via OAuth when they first use an Asana tool; there is no shared service account. Sign-in goes through your SSO when configured, and Asana's own permissions bound what each user can reach. Navigate to Connections to manage linked accounts.

Credential modes

Asana supports one mode:

  • Bring your own app: an Asana OAuth app owned by your organization, registered in the Asana developer console. Asana does not support dynamic client registration, so an app registered in your Asana account is required.

See Credential modes for the full comparison.

Bring your own app

An Asana admin registers an OAuth app in the Asana developer console, then returns to SecureAuth with the Client ID and Client Secret.

In the Agent Authority console, go to Resources → Add Resource → Asana → Bring your own app and copy the redirect URI shown on the page.

In the Asana developer console, create an app, then open the OAuth section:

  • Under Redirect URLs, add the redirect URI you copied; it must use HTTPS
  • Copy the Client ID and Client Secret from the app's basic information

Paste both back into the Asana resource page in the Agent Authority console, then click Add.

Asana issues user-level tokens, so each user authorizes with their own Asana account and only reaches the workspaces and objects their 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

Asana OAuth apps issue a user-level token with the default scope, which grants full user-level API access bounded by each user's Asana permissions. No additional scopes need to be configured.

Asana write access is controlled with gateway policies rather than narrower OAuth scopes; 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

On this page