View as Markdown

Asana Integration

Manage Asana workspaces, projects, sections, tasks, stories, users, and teams

The Asana integration provides access to manage Asana workspaces, projects, sections, tasks, stories, users, and teams through the Integrate MCP server.

Installation

The Asana integration is included with the SDK:

import { asanaIntegration } from "integrate-sdk/server";

Setup

1. Create an Asana OAuth App

  1. Create an OAuth application for Asana
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Asana integration to your server configuration. The integration automatically reads ASANA_CLIENT_ID and ASANA_CLIENT_SECRET from your environment variables:

import { createMCPServer, asanaIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    asanaIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

asanaIntegration({
  clientId: process.env.CUSTOM_ASANA_ID,
  clientSecret: process.env.CUSTOM_ASANA_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("asana");
const result = await client.asana.getCurrentUser({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, asanaIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [asanaIntegration()],
});

Configuration Options

export interface AsanaIntegrationConfig {
  clientId?: string;

Tools

asana_get_current_user

Get current user

No parameters.

asana_list_workspaces

List workspaces

export interface AsanaListWorkspacesParams { limit?: number;

asana_list_projects

List projects

export interface AsanaListProjectsParams { workspace?: string;

asana_get_project

Get project

export interface AsanaGetProjectParams { project_gid: string }

asana_create_project

Create project

export interface AsanaCreateProjectParams { project_json: string }

asana_update_project

Update project

export interface AsanaUpdateProjectParams { project_gid: string;

asana_list_sections

List sections

export interface AsanaListSectionsParams { project_gid: string;

asana_list_tasks

List tasks

export interface AsanaListTasksParams { workspace?: string;

asana_get_task

Get task

export interface AsanaGetTaskParams { task_gid: string }

asana_create_task

Create task

export interface AsanaCreateTaskParams { task_json: string }

asana_update_task

Update task

export interface AsanaUpdateTaskParams { task_gid: string;

asana_delete_task

Delete task

export interface AsanaDeleteTaskParams { task_gid: string }

asana_list_stories

List stories

export interface AsanaListStoriesParams { task_gid: string;

asana_create_story

Create story

export interface AsanaCreateStoryParams { task_gid: string;

asana_list_users

List users

export interface AsanaListUsersParams { workspace?: string;

asana_list_teams

List teams

export interface AsanaListTeamsParams { workspace_gid: string;

Notes

  • Category: Productivity
  • Authentication mode: OAuth