rungtruong/asana-mcp
3.1
If you are the rightful owner of asana-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Asana Integration Server is a tool designed to manage Asana tasks and projects through a Model Context Protocol server.
Asana MCP Server
A Model Context Protocol (MCP) server that provides integration with Asana's project management platform. This server enables AI assistants to interact with Asana tasks, projects, and workspaces through a standardized interface.
Features
- Task Management: Create, read, update, and delete Asana tasks
- Subtask Support: Full support for Asana subtasks
- Project Management: Create and manage Asana projects
- Section Organization: Create sections and organize tasks within projects
- Dependencies: Add and manage task dependencies
- Real-time Integration: Direct integration with Asana's API
Architecture
This MCP server follows a modular architecture similar to the atlassian-mcp project:
src/
āāā core/ # Core business logic
ā āāā services/ # Service layer for API interactions
ā ā āāā asana/ # Asana-specific services
ā āāā tools/ # MCP tool definitions
ā āāā resources/ # MCP resources (future)
ā āāā prompts/ # MCP prompts (future)
ā āāā *.ts # Core registries
āāā server/ # Server initialization
āāā index.ts # Main entry point
Installation
- Clone the repository:
git clone <repository-url>
cd asana-mcp
- Install dependencies:
npm install
- Set up environment variables by creating a
.env
file:
ASANA_TOKEN=your_asana_personal_access_token
ASANA_WORKSPACE_ID=your_workspace_id
ASANA_PROJECT_ID=your_default_project_id # Optional
Usage
Development
npm run dev
Production
npm run build
npm start
Available Tools
Task Management
create-task
- Create a new Asana tasklist-tasks
- List tasks (optionally filtered by project)update-task
- Update an existing taskdelete-task
- Delete a task
Subtask Management
create-subtask
- Create a subtask for an existing tasklist-subtasks
- List subtasks for a parent taskupdate-subtask
- Update an existing subtaskdelete-subtask
- Delete a subtask
Project Management
create-project
- Create a new Asana projectlist-projects
- List all projectsdelete-project
- Delete a project
Organization
create-section
- Create a section in a projectadd-task-to-section
- Add a task to a specific section
Dependencies
add-dependencies
- Add dependencies to a taskremove-dependencies
- Remove dependencies from a taskget-dependencies
- Get dependencies for a task
Configuration
Environment Variables
ASANA_TOKEN
: Your Asana Personal Access Token (required)ASANA_WORKSPACE_ID
: Your Asana workspace ID (required)ASANA_PROJECT_ID
: Default project ID for task creation (optional)
Getting Asana Credentials
- Go to Asana Developer Console
- Create a new Personal Access Token
- Find your workspace ID by visiting your Asana workspace in a browser and copying the ID from the URL
Examples
Creating a Task
// Using the MCP tool
{
"name": "create-task",
"arguments": {
"name": "Review documentation",
"description": "Review and update the project documentation",
"dueDate": "2025-01-15",
"project": "1234567890"
}
}
Listing Tasks in a Project
{
"name": "list-tasks",
"arguments": {
"projectId": "1234567890"
}
}
Development
Project Structure
- Services: Business logic and API interactions in
src/core/services/
- Tools: MCP tool definitions in
src/core/tools/
- Server: Server initialization in
src/server/
Adding New Features
- Add service methods in
src/core/services/asana/asana-service.ts
- Create tool definitions in
src/core/tools/asana-tools.ts
- Register tools in
src/core/tools.ts
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and feature requests, please use the GitHub issues tracker.