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
- Create an OAuth application for Asana
- Configure your redirect URI
- 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