Skip to main content

Asana MCP Server

Create a powerful Model Context Protocol (MCP) server for Asana in minutes with our AI Gateway. This guide walks you through setting up seamless Asana integration with enterprise-grade security and instant OAuth authentication.

About Asana API

Asana is a leading work management platform used by over 139,000 organizations to coordinate and manage team work. The Asana API provides comprehensive access to workspaces, projects, tasks, and collaboration features:

  • Task Management: Create, update, and organize tasks across projects
  • Project Organization: Manage projects, sections, and milestones
  • Portfolio Management: Track multiple projects and programs
  • Custom Fields: Define and manage custom data fields
  • Workflow Automation: Rules, forms, and templates
  • Team Collaboration: Comments, attachments, and @mentions
  • Goal Tracking: Objectives and key results (OKRs)
  • Timeline & Calendar: Visual project planning and scheduling

Key Features

  • REST API: Comprehensive RESTful interface
  • Webhooks: Real-time event notifications
  • Batch Requests: Process multiple operations efficiently
  • Rate Limiting: 1,500 requests per minute with retry headers
  • Rich Text: Support for formatted task descriptions
  • Custom Fields API: Flexible metadata management
  • Search API: Powerful task and project search
  • Events API: Track changes across workspace

What You Can Do with Asana MCP Server

The MCP server transforms Asana's API into a natural language interface, enabling AI agents to:

Task Management

  • Smart Task Operations

    • "Create a task for the design review due next Friday"
    • "Find all tasks assigned to me due this week"
    • "Move completed tasks to the Done section"
    • "Add subtasks for breaking down the feature development"
  • Bulk Task Processing

    • "Update all overdue tasks with a new due date"
    • "Assign all unassigned tasks in the Sprint project"
    • "Tag all bug-related tasks for the QA team"
    • "Mark all subtasks complete when parent task is done"
  • Task Intelligence

    • "Show me blocked tasks across all projects"
    • "Find tasks without assignees in active projects"
    • "List high-priority tasks due in the next 3 days"
    • "Identify tasks with no recent activity"

Project Management

  • Project Operations

    • "Create a new project from the product launch template"
    • "Set up project sections for each development phase"
    • "Copy the project structure from our successful campaign"
    • "Archive completed projects from last quarter"
  • Timeline & Planning

    • "Create project milestones for Q1 deliverables"
    • "Update project timeline based on task dependencies"
    • "Show critical path for the product release"
    • "Adjust dates for all tasks after the kickoff meeting"
  • Project Intelligence

    • "Find projects at risk of missing deadlines"
    • "Show project progress across all teams"
    • "Identify resource conflicts between projects"
    • "Generate project status summary"

Team Collaboration

  • Communication Enhancement

    • "Add status update to all tasks in progress"
    • "Comment on tasks that need clarification"
    • "@mention team leads on blocked tasks"
    • "Summarize all comments from today's tasks"
  • Team Coordination

    • "Distribute tasks evenly among team members"
    • "Show workload for each team member"
    • "Reassign tasks when someone is out of office"
    • "Create team capacity report"
  • Collaboration Workflows

    • "Request approval on all design tasks"
    • "Add reviewers to completed development tasks"
    • "Create follow-up tasks from meeting notes"
    • "Convert emails to actionable tasks"

Portfolio & Reporting

  • Portfolio Management

    • "Track status across all product initiatives"
    • "Show portfolio health by color coding"
    • "Identify projects needing executive attention"
    • "Roll up progress from child projects"
  • Analytics & Insights

    • "Generate burndown chart for current sprint"
    • "Show task completion trends by team"
    • "Analyze cycle time for different task types"
    • "Track custom field values across projects"
  • Goal Tracking

    • "Update OKR progress based on completed tasks"
    • "Show goals at risk of missing targets"
    • "Link tasks to strategic objectives"
    • "Generate quarterly goal report"

Automation & Integration

  • Workflow Automation

    • "Create rules to auto-assign tasks by type"
    • "Set up automatic status updates"
    • "Trigger notifications for SLA breaches"
    • "Automate task creation from forms"
  • Cross-Tool Integration

    • "Sync Asana tasks with calendar events"
    • "Create tasks from Slack messages"
    • "Update CRM when project milestones complete"
    • "Generate Jira issues from bug tasks"
  • Template Management

    • "Create project templates from successful projects"
    • "Build task templates for common workflows"
    • "Set up onboarding templates for new hires"
    • "Design sprint templates with preset tasks"

Search & Discovery

  • Advanced Search

    • "Find all tasks mentioning 'budget' in marketing projects"
    • "Search for completed tasks by specific team member"
    • "Locate tasks with attachments from last month"
    • "Show all tasks with custom field 'Priority' set to High"
  • Smart Filters

    • "Filter tasks by multiple custom fields"
    • "Create saved searches for common queries"
    • "Build dynamic reports with search results"
    • "Export search results for analysis"

Prerequisites

  • Access to Cequence AI Gateway
  • Asana account with appropriate permissions
  • Workspace or Organization admin access (for OAuth app)
  • Premium Asana features for advanced functionality (optional)

Step 1: Create Asana OAuth Application

Before setting up the MCP server, you need to register an OAuth application in Asana.

1.1 Access Asana Developer Console

  1. Log in to your Asana account
  2. Navigate to app.asana.com/0/developer-console
  3. Click Create new app

1.2 Configure OAuth Application

  1. Fill in the application details:

    • App name: "AI Gateway MCP Integration"
    • Description: "MCP server for Asana automation"
    • Authentication: Select OAuth
  2. Configure OAuth settings:

    • Redirect URLs:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback
  3. Set permissions and scopes (see Available Scopes section)

1.3 Get OAuth Credentials

  1. After creating the app, go to the OAuth tab
  2. Note down:
    • Client ID
    • Client Secret (keep this secure)

1.4 Configure App Settings

  1. Add App icon (optional but recommended)
  2. Set Support URL if needed
  3. Configure Webhook settings if using real-time updates
  4. Review and accept Asana API Terms

Step 2: Access AI Gateway Apps

  1. Log in to your Cequence AI Gateway dashboard
  2. Navigate to Apps in the left sidebar
  3. You'll see the list of available third-party applications

Step 3: Find and Select Asana API

  1. In the Apps section, browse through the Third-party category
  2. Look for Asana or use the search function
  3. Click on the Asana API card to view details

The Asana API card shows:

  • Number of available endpoints
  • Integration capabilities
  • Quick description of functionality

Step 4: Create MCP Server

  1. Click the Create MCP Server button on the Asana API card
  2. You'll be redirected to the MCP Server creation wizard

Step 5: Configure API Endpoints

In the App Configuration step:

  1. Base URL is pre-filled: https://app.asana.com/api/1.0
  2. Select API endpoints to expose to your MCP server based on your needs
  3. Click Next to proceed

Step 6: MCP Server Basic Setup

Configure your MCP server details:

  1. MCP Server Name: Enter a descriptive name

    • Example: "Asana Project Automation"
    • This name will identify your server in the dashboard
  2. Description (Optional): Add details about the server's purpose

    • Example: "Automated task and project management for product teams"
  3. Production Mode: Toggle based on your needs

    • ON for production environments
    • OFF for development/testing
  4. Click Next to continue

Step 7: Configure Authentication

This is where you'll use your Asana OAuth credentials:

  1. Authentication Type: Select OAuth 2.0

  2. Fill in the OAuth configuration:

    • Authorization URL:
      https://app.asana.com/-/oauth_authorize
    • Token URL:
      https://app.asana.com/-/oauth_token
    • Client ID: Paste from Asana developer console
    • Client Secret: Paste from Asana developer console
    • Redirect URI:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback
  3. Scopes: Select from the available Asana scopes (see next section)

Available Asana OAuth Scopes

Configure the appropriate scopes based on your application needs:

Core Task Management

  • tasks:read

    • View tasks and their details
    • Access task metadata
    • Read subtasks and dependencies
    • See task assignments
  • tasks:write

    • Create new tasks
    • Update task properties
    • Complete or delete tasks
    • Manage subtasks

Project Management

  • projects:read

    • View projects and sections
    • Access project details
    • See project members
    • Read project status
  • projects:write

    • Create and update projects
    • Manage project sections
    • Update project settings
    • Archive projects

Workspace Access

  • workspaces:read

    • View workspace information
    • See workspace members
    • Access workspace settings
    • Read custom fields
  • workspaces:write

    • Update workspace settings
    • Manage workspace members
    • Create custom fields
    • Configure workspace

Team Management

  • teams:read

    • View team information
    • See team members
    • Access team projects
    • Read team settings
  • teams:write

    • Update team settings
    • Manage team membership
    • Create team projects
    • Configure team

User Access

  • users:read

    • View user profiles
    • See user task lists
    • Access user preferences
    • Read user teams
  • users:write

    • Update user settings
    • Manage user preferences
    • Configure notifications
    • Update profile

Additional Capabilities

  • attachments:read / attachments:write

    • View and manage file attachments
    • Upload new files
    • Link external content
  • stories:read / stories:write

    • Read and create comments
    • View activity history
    • Add status updates
  • portfolios:read / portfolios:write

    • Access portfolio data
    • Manage portfolio items
    • Track portfolio status
  • goals:read / goals:write

    • View and manage goals
    • Update goal progress
    • Link goals to work

Advanced Features

  • rules:read / rules:write

    • Access automation rules
    • Create custom rules
    • Manage triggers
  • forms:read / forms:write

    • View form submissions
    • Create and manage forms
    • Process form data
  • workflows:read / workflows:write

    • Access workflow data
    • Manage approvals
    • Configure workflows
  • webhooks:read / webhooks:write

    • Set up webhooks
    • Manage event subscriptions
    • Configure notifications

For Task Management:

tasks:read
tasks:write
projects:read
users:read
attachments:read
stories:read
stories:write

For Project Administration:

tasks:read
tasks:write
projects:read
projects:write
workspaces:read
teams:read
users:read

For Full Automation:

tasks:read
tasks:write
projects:read
projects:write
workspaces:read
workspaces:write
rules:read
rules:write
webhooks:read
webhooks:write

Step 8: Configure Security

Set up API protection features:

  1. API Protection: Toggle ON to enable

    • Protects against bot attacks, DDoS, and threats
    • Monitors for suspicious activity
    • Rate limiting and anomaly detection
  2. Protection Features (when enabled):

    • Auto-scaling protection
    • Managed infrastructure
    • Built-in monitoring
    • Zero maintenance required
  3. Click Next to continue

Step 9: Choose Deployment Method

Select your deployment preference:

  • Fully managed deployment
  • Automatic scaling and monitoring
  • Built-in high availability
  • Features included:
    • Auto-scaling
    • Managed infrastructure
    • Built-in monitoring
    • Zero maintenance

Option B: Deploy with Helm Chart

  • Self-managed Kubernetes deployment
  • Full control over infrastructure
  • Requires:
    • Kubernetes cluster
    • Helm 3.x installed
    • Container registry access

Click Next after selecting your deployment method.

Step 10: Review and Deploy

Review your MCP server configuration:

  • MCP Server Name: Your chosen name
  • Base URL: https://app.asana.com/api/1.0
  • Selected Endpoints: Number of endpoints selected
  • Authentication: OAuth 2.0 (Configured)
  • API Protection: Enabled/Disabled
  • Deployment: Cequence Cloud or Helm

Click Create & Deploy to finalize the setup.

Step 11: Post-Deployment Setup

After successful deployment:

  1. Note the MCP Server URL provided

  2. Test the OAuth flow:

    • Click "Test Connection"
    • You'll be redirected to Asana authorization
    • Select workspace to authorize
    • Grant requested permissions
    • Confirm successful connection
  3. Configure AI Agents:

    • The MCP server is now available for AI agent connections
    • Use the provided server URL in your AI agent configuration

Using Your Asana MCP Server

With Claude Desktop

  1. Open Claude Desktop settings

  2. Add your MCP server:

    {
    "servers": {
    "asana": {
    "url": "your-mcp-server-url",
    "auth": {
    "type": "oauth2",
    "client_id": "your-client-id"
    }
    }
    }
    }
  3. Start using natural language commands:

    • "Create a task for reviewing the marketing proposal"
    • "Show me all tasks due this week in the Product Launch project"
    • "Move all completed tasks to the Done section"
    • "Assign all design tasks to Sarah"
    • "Generate a progress report for the Sprint project"

API Integration Example

// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
token: 'user-access-token'
}
});

// Get tasks for a project
const tasks = await mcpClient.asana.tasks.getTasks({
project: 'project-gid',
opt_fields: 'name,completed,due_on,assignee'
});

// Create a task
const newTask = await mcpClient.asana.tasks.createTask({
data: {
name: 'Review design mockups',
notes: 'Please review the latest design mockups and provide feedback',
projects: ['project-gid'],
assignee: 'user-gid',
due_on: '2025-02-15',
custom_fields: {
'priority-field-gid': 'High'
}
}
});

// Update multiple tasks
const batch = tasks.map(task => ({
method: 'PUT',
relative_path: `/tasks/${task.gid}`,
data: {
completed: true
}
}));
await mcpClient.asana.batch.createBatch({ data: { requests: batch } });

// Add a comment
await mcpClient.asana.stories.createStoryForTask({
task_gid: 'task-gid',
data: {
text: 'Great progress on this! Ready for review.'
}
});

Common Use Cases

Sprint Planning

  • Create sprint projects from templates
  • Break down epics into tasks
  • Assign story points via custom fields
  • Track sprint velocity
  • Generate burndown reports

Product Development

  • Manage feature requests
  • Track bug reports
  • Coordinate releases
  • Monitor development progress
  • Link tasks to goals

Marketing Campaigns

  • Plan campaign timelines
  • Coordinate content creation
  • Track deliverables
  • Manage approvals
  • Measure campaign success

Team Operations

  • Onboard new employees
  • Manage recurring tasks
  • Track team capacity
  • Coordinate cross-functional work
  • Generate status reports

Security Best Practices

  1. OAuth Security:

    • Use minimum required scopes
    • Implement token rotation
    • Store credentials securely
    • Monitor OAuth usage
  2. API Rate Limits:

    • Respect 1,500 req/min limit
    • Use batch operations
    • Implement retry logic
    • Cache frequently used data
  3. Data Protection:

    • Filter sensitive information
    • Implement access controls
    • Audit data access
    • Follow retention policies
  4. Workspace Security:

    • Limit app access to specific teams
    • Regular permission reviews
    • Monitor unusual activity
    • Use workspace guest restrictions

Troubleshooting

Common Issues

  1. 401 Unauthorized

    • Verify OAuth token validity
    • Check workspace access
    • Ensure app is authorized
    • Regenerate tokens if needed
  2. 403 Forbidden

    • Check user permissions in workspace
    • Verify project access rights
    • Ensure Premium features if needed
    • Check team membership
  3. 429 Rate Limited

    • Check rate limit headers
    • Implement exponential backoff
    • Use batch API endpoints
    • Reduce request frequency
  4. 400 Bad Request

    • Validate required fields
    • Check custom field GIDs
    • Verify date formats
    • Review API documentation

Getting Help