9.0 KiB
title, description
| title | description |
|---|---|
| Asana Extension | Add Asana MCP Server as a Goose Extension |
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed'; import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
This tutorial covers how to add the Asana MCP Server as a Goose extension to enable task automation, project tracking, and team collaboration.
:::tip TLDR Launch the installer Command
npx -y @roychri/mcp-server-asana
Configuration
:::info
Note that you'll need Node.js installed on your system to run this command, as it uses npx.
:::
- Choose to add a
Command-line Extension
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
└
- Give your extension a name
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
// highlight-start
◆ What would you like to call this extension?
│ Asana
// highlight-end
└
- Enter the command
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Asana
│
// highlight-start
◆ What command should be run?
│ npx -y @roychri/mcp-server-asana
// highlight-end
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s ```sh ┌ goose-configure │ ◇ What would you like to configure? │ Add Extension (Connect to a new extension) │ ◇ What type of extension would you like to add? │ Command-line Extension │ ◇ What would you like to call this extension? │ Asana │ ◇ What command should be run? │ npx -y @roychri/mcp-server-asana │ // highlight-start ◆ Please set the timeout for this tool (in secs): │ 300 // highlight-end │ └
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Asana
│
◇ What command should be run?
│ npx -y @roychri/mcp-server-asana
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
// highlight-start
◇ Would you like to add a description?
│ No
// highlight-end
│
└
- Obtain a Asana Access Token and paste it in. :::info See Asana's developer docs if you need detailed instructions on creating an access token. :::
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Asana
│
◇ What command should be run?
│ npx -y @roychri/mcp-server-asana
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
// highlight-start
◆ Would you like to add environment variables?
│ Yes
│
◇ Environment variable name:
│ ASANA_ACCESS_TOKEN
│
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
│
◇ Add another environment variable?
│ No
// highlight-end
└ Added Asana extension
Example Usage
:::info LLM OpenAI's GPT-4o was used for this task. There's an open bug for Amazon Bedrock models. :::
Goose Prompt
Goose, I have one hour. Look through uncompleted tasks assigned to me in Asana and show me ones that you estimate will take an hour or less. Order them by deadline.
Goose Output
Note that IDs have been changed to generic ones
:::note CLI
Tool Calls
─── asana_search_tasks | abcdefgh ──────────────────────────
assignee.any: me
completed: false
workspace: 1234567890123
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000001
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000002
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000003
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000004
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000005
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000006
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000007
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000008
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000009
─── asana_get_task | abcdefgh ──────────────────────────
opt_fields: due_on,estimated_hours
task_id: 1100000000000010
Here are your uncompleted tasks in Asana estimated to take an hour or less, ordered by their deadline:
-
Task: Review team meeting notes
- Due Date: 2025-03-21
-
Task: Draft quick status update
- Due Date: 2025-03-21
-
Task: Proofread blog post
- Due Date: 2025-03-21
-
Task: Send reminder to partners
- Due Date: 2025-03-27
Please let me know if you'd like more information or help with any specific task! :::