Skip to content

[Asana] V2 MCP Server crashes (500 Error) on get_task / update_tasks due to hardcoded V1 schema (task_id) #4258

@CHRIST-git-hub

Description

@CHRIST-git-hub

Describe the bug
The Asana MCP Connector (currently utilized in Claude.ai) is broken for single-task operations like get_task and update_tasks. The connector appears to still rely on the deprecated V1 tool schema, specifically sending the task_id parameter instead of the required V2 task_gid parameter.

When this legacy payload is sent to the new Asana V2 MCP server (https://mcp.asana.com/v2/mcp), the Asana server fails to handle the missing V2 schema parameters, crashes, and returns a 500 Internal Server Error. List operations like get_tasks continue to work normally as their schema requirements are less strict.

To Reproduce
Steps to reproduce the behavior:

Enable the Asana MCP connector in Claude.ai.

Prompt Claude to read or update a specific single task (e.g., "Read task 1213431798432341").

Claude executes the tool call using the hardcoded V1 schema parameter: {"task_id": "1213431798432341"}.

The connector forwards this payload to the Asana V2 MCP server.

The request fails with a 500 Internal Server Error because the V2 server strictly expects task_gid.

Expected behavior
The MCP connector should fetch and respect the current tool parameters from the Asana V2 tools/list command. Specifically, it needs to use task_gid instead of task_id for single-task operations to ensure compatibility with the V2 endpoint.

Logs
Instead of a 400 Bad Request, the Asana V2 server crashes and returns the following 500 error trace back to Claude:

JSON
{
"error": "server_error",
"message": "Oops! An unexpected error occurred...",
"phrase": "2 bright starfish dig awfully often"
}

Example of the V1 payload Claude attempts to generate based on the current connector schema:

JSON
{
"name": "get_task",
"input": {
"task_id": "1213431798432341",
"opt_fields": "name,completed"
}
}

Additional context
The issue started appearing around May 27, 2026. I reached out to Asana's API Support regarding the 500 crash, and they confirmed the root cause lies in the outdated connector schema:

Asana Support Response:

"You’re right: a legacy payload (like task_id instead of task_gid) should be rejected as invalid (400), not crash as a 500. The V2 MCP server expects the current parameter names and constraints, and the only authoritative source for those is the tools/list command (not any static schema). To unblock the connector, the fix is to update the tool call to use the V2 parameter names shown in tools/list (for example, task_gid for single-task operations)."

Since the tool schema is hardcoded within the connector, users cannot bypass this by prompting Claude to use task_gid (the call fails pre-validation on Anthropic's side). The schema must be updated in the repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions