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
- Log in to your Asana account
- Navigate to app.asana.com/0/developer-console
- Click Create new app
1.2 Configure OAuth Application
-
Fill in the application details:
- App name: "AI Gateway MCP Integration"
- Description: "MCP server for Asana automation"
- Authentication: Select OAuth
-
Configure OAuth settings:
- Redirect URLs:
https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback
- Redirect URLs:
-
Set permissions and scopes (see Available Scopes section)
1.3 Get OAuth Credentials
- After creating the app, go to the OAuth tab
- Note down:
- Client ID
- Client Secret (keep this secure)
1.4 Configure App Settings
- Add App icon (optional but recommended)
- Set Support URL if needed
- Configure Webhook settings if using real-time updates
- Review and accept Asana API Terms
Step 2: Access AI Gateway Apps
- Log in to your Cequence AI Gateway dashboard
- Navigate to Apps in the left sidebar
- You'll see the list of available third-party applications
Step 3: Find and Select Asana API
- In the Apps section, browse through the Third-party category
- Look for Asana or use the search function
- 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
- Click the Create MCP Server button on the Asana API card
- You'll be redirected to the MCP Server creation wizard
Step 5: Configure API Endpoints
In the App Configuration step:
- Base URL is pre-filled:
https://app.asana.com/api/1.0
- Select API endpoints to expose to your MCP server based on your needs
- Click Next to proceed
Step 6: MCP Server Basic Setup
Configure your MCP server details:
-
MCP Server Name: Enter a descriptive name
- Example: "Asana Project Automation"
- This name will identify your server in the dashboard
-
Description (Optional): Add details about the server's purpose
- Example: "Automated task and project management for product teams"
-
Production Mode: Toggle based on your needs
- ON for production environments
- OFF for development/testing
-
Click Next to continue
Step 7: Configure Authentication
This is where you'll use your Asana OAuth credentials:
-
Authentication Type: Select OAuth 2.0
-
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
- Authorization URL:
-
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
Recommended Scope Combinations
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:
-
API Protection: Toggle ON to enable
- Protects against bot attacks, DDoS, and threats
- Monitors for suspicious activity
- Rate limiting and anomaly detection
-
Protection Features (when enabled):
- Auto-scaling protection
- Managed infrastructure
- Built-in monitoring
- Zero maintenance required
-
Click Next to continue
Step 9: Choose Deployment Method
Select your deployment preference:
Option A: Deploy to Cequence Cloud (Recommended)
- 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:
-
Note the MCP Server URL provided
-
Test the OAuth flow:
- Click "Test Connection"
- You'll be redirected to Asana authorization
- Select workspace to authorize
- Grant requested permissions
- Confirm successful connection
-
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
-
Open Claude Desktop settings
-
Add your MCP server:
{
"servers": {
"asana": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id"
}
}
}
} -
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
-
OAuth Security:
- Use minimum required scopes
- Implement token rotation
- Store credentials securely
- Monitor OAuth usage
-
API Rate Limits:
- Respect 1,500 req/min limit
- Use batch operations
- Implement retry logic
- Cache frequently used data
-
Data Protection:
- Filter sensitive information
- Implement access controls
- Audit data access
- Follow retention policies
-
Workspace Security:
- Limit app access to specific teams
- Regular permission reviews
- Monitor unusual activity
- Use workspace guest restrictions
Troubleshooting
Common Issues
-
401 Unauthorized
- Verify OAuth token validity
- Check workspace access
- Ensure app is authorized
- Regenerate tokens if needed
-
403 Forbidden
- Check user permissions in workspace
- Verify project access rights
- Ensure Premium features if needed
- Check team membership
-
429 Rate Limited
- Check rate limit headers
- Implement exponential backoff
- Use batch API endpoints
- Reduce request frequency
-
400 Bad Request
- Validate required fields
- Check custom field GIDs
- Verify date formats
- Review API documentation
Getting Help
- Documentation: AI Gateway Docs
- Support: support@cequence.ai
- Community: AI Gateway Forum
- Asana API Docs: developers.asana.com
- Asana Forum: forum.asana.com