Asana MCP serverand Python AI tasks
qbash hosts a Asana MCP server you can use in Claude, ChatGPT, Codex, Cursor, Grok Bot and Muse.
Developers use qbash Tasks to write cloud-hosted Python functions that pair Asana with models such as Claude and GPT.
MCP server
Build a Asana MCP server
Give ChatGPT, Claude and your other AI tools access to Asana through one server. You pick which Asana tools it shares, and you can add other connectors, memory folders and Tasks to the same server.
How to set it up
- Connect Asana on the qbash Connectors page.
- Create an MCP server and add the Asana tools you want to share.
- Paste the server URL into your client. It connects with OAuth or an access token.
Python AI task
Write a Asana task in Python
A qbash Task is a hosted Python function that calls Asana and AI models.
Draft an update on overdue project tasks
Find incomplete tasks due before today, then ask an inline prompt to draft a follow-up grouped by assignee.
today = datetime.now(ZoneInfo("America/Toronto")).date().isoformat()
report = qbash.integrations.asana.list_tasks(
project_gid="YOUR_PROJECT_GID", completed_since="now", limit=100,
)
overdue = [task for task in report["tasks"]
if not task.get("completed") and (task.get("due_on") or "9999") < today]
if overdue:
update = qbash.ai.run_prompt(
slug="asana-overdue-update",
variables={"today": today, "tasks": json.dumps(overdue)},
)
qbash.output(update)
else:
qbash.output("No overdue tasks on this page.")
Sample list_tasks response
{
"status": "success",
"tasks": [
{
"gid": "123",
"name": "Review launch checklist",
"completed": false,
"due_on": "2025-01-01",
"assignee": {
"name": "Sam"
},
"permalink_url": "https://app.asana.com/0/123/456"
}
],
"count": 1
}
What the Asana connector can do
- List all accessible Asana workspaces
- List users in a workspace
- List projects in a workspace
- Get details of a specific project
- List sections in a project
- List tasks in a project or section
- List subtasks of a task
- Get full details of a specific task
- List comments and activity on a task
- Search tasks by keyword in a workspace
- Create a new task
- Create a subtask under a parent task
- Update an existing task
- Move a task into a section
- Set tasks that a task depends on
- Delete a task
- Add a comment to a task
- Create multiple tasks at once. Returns results for each task
- Update multiple tasks at once. Returns results for each task
- Create a new project in a workspace
qbash Tasks: AI applications in Python
A Task is a Python function that calls Asana, your other connectors and models such as Claude, GPT, Gemini and Grok. qbash hosts and runs it.
Run Tasks on a schedule or from your team's tools
- Deterministic where it counts Write the logic in Python and call a model only for the steps that need judgement, so the rest runs the same way every time.
- Version controlled Every save is a revision you can compare and roll back.
- Logged Each run records its inputs, output, errors and what started it.
- Shared credentials Connections belong to your organization, so a Task keeps working when its author is away.
Asana MCP questions
Does Asana have an official MCP server?
Yes. Asana runs one at mcp.asana.com, and its V2 endpoint at mcp.asana.com/v2/mcp signs in with your Asana account. With qbash, Asana shares one URL with your other connectors and the same methods run inside a qbash Task.
Can the Asana MCP server delete tasks?
Yes. delete_task removes a task, and the bulk methods create or update several tasks in one call. Pick which Asana tools go on the server if chat users should only read.
Guides that use Asana
Related productivity connectors
Build a Asana task
Write it in Python with AI steps, and qbash hosts it with versions and run logs.
Build a Asana MCP server
Pick the Asana tools to share and connect ChatGPT, Claude or Grok Bot.