{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"asana-mcp-server","slug":"asana-mcp-server","name":"Asana MCP Server","type":"mcp","url":"https://github.com/roychri/mcp-server-asana","page_url":"https://unfragile.ai/asana-mcp-server","categories":["mcp-servers"],"tags":["asana","project-management","community"],"pricing":{"model":"free","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"asana-mcp-server__cap_0","uri":"capability://tool.use.integration.mcp.native.task.creation.with.structured.schema.validation","name":"mcp-native task creation with structured schema validation","description":"Exposes asana_create_task tool through MCP protocol that accepts JSON schema-validated parameters (name, description, assignee, due_date, projects, tags) and translates them into Asana REST API POST requests. Uses TypeScript type definitions and runtime validation to ensure only valid Asana field types are submitted, preventing malformed API calls before they reach Asana's servers.","intents":["Create a task in Asana from an AI agent without manually constructing API payloads","Programmatically assign tasks to team members and set due dates through natural language","Batch-create tasks with consistent field validation across multiple requests"],"best_for":["AI agents (Claude, other LLMs) integrated with Claude Desktop or MCP-compatible clients","Teams automating task creation from external systems via MCP bridge","Developers building AI-powered project management workflows"],"limitations":["Requires valid Asana workspace GID and project GID — invalid references fail silently at API level","No built-in retry logic for transient API failures — single attempt per request","Custom fields beyond standard Asana fields (name, description, assignee, due_date, projects, tags) not supported","Asana API rate limits (150 requests/minute) apply — no client-side throttling or queue management"],"requires":["Asana API token (personal access token or OAuth2)","Valid Asana workspace GID","Node.js 16+ runtime","MCP client supporting stdio transport (Claude Desktop, MCP Inspector, etc.)"],"input_types":["JSON object with task fields (name: string, description: string, assignee_gid: string, due_on: ISO8601 date, projects: array of GIDs, tags: array of GIDs)"],"output_types":["JSON object containing created task GID, name, and metadata from Asana API response"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_1","uri":"capability://search.retrieval.workspace.aware.task.search.with.multi.field.filtering","name":"workspace-aware task search with multi-field filtering","description":"Implements asana_search_tasks tool that queries Asana's task search endpoint with filters across workspace, project, assignee, tag, and status fields. Translates MCP parameters into Asana's query syntax (e.g., 'assignee:gid' format) and returns paginated results with task metadata (GID, name, assignee, due date, completion status). Supports both simple text search and structured field-based filtering.","intents":["Find all tasks assigned to a specific team member across projects","Search for overdue or upcoming tasks in a workspace","Retrieve tasks matching a tag or status without manually navigating Asana UI","Build task context for AI agents to make decisions based on current workload"],"best_for":["AI agents needing to understand task state before taking actions","Automation workflows that filter tasks by multiple criteria","Non-technical users querying Asana via natural language through AI assistants"],"limitations":["Search limited to tasks in accessible workspaces — cross-workspace search not supported","Pagination requires manual offset/limit handling — no built-in cursor-based iteration","Advanced Asana filters (e.g., custom field values, portfolio status) not exposed through MCP schema","Search results include only basic task metadata — full task details require separate asana_get_task call per result"],"requires":["Asana API token with read access to workspace","Valid workspace GID","MCP client with tool-calling capability"],"input_types":["JSON object with optional filters: workspace_gid (string), project_gid (string), assignee_gid (string), tag_gid (string), status (string: 'complete'|'incomplete'), text_search (string)"],"output_types":["JSON array of task objects with fields: gid, name, assignee_gid, due_on, completed, project_gid"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_10","uri":"capability://tool.use.integration.project.section.enumeration.and.task.organization.by.section","name":"project section enumeration and task organization by section","description":"Exposes asana_get_project tool that retrieves full project metadata including sections array with section GIDs and names. Sections are organizational containers within projects that group related tasks. Tool returns section structure enabling AI clients to understand project layout and determine correct section for task placement. Sections are read-only through MCP — creation/deletion not supported.","intents":["Discover available sections in a project before creating tasks","Understand project workflow stages (e.g., 'Backlog', 'In Progress', 'Done') represented as sections","Place tasks in correct section based on workflow stage","Build context about project organization for task routing decisions"],"best_for":["AI agents creating tasks that need to be placed in specific workflow sections","Automation workflows that route tasks to appropriate sections based on criteria","Teams using Asana sections as primary workflow stage representation"],"limitations":["Sections are read-only — cannot create, rename, or delete sections through MCP","Section ordering is not exposed — only section names and GIDs returned","No section-level metadata (e.g., section description, custom fields) — only name and GID","Moving tasks between sections requires separate update_task call with section_gid parameter"],"requires":["Asana API token with read access","Valid project GID","Project must have sections (not all Asana projects use sections)"],"input_types":["JSON object with project_gid (string)"],"output_types":["JSON object with project metadata including sections array: [{gid: string, name: string}, ...]"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_11","uri":"capability://tool.use.integration.task.update.with.selective.field.modification","name":"task update with selective field modification","description":"Implements asana_update_task tool that modifies specific task fields (name, description, assignee, due_date, completed status, custom fields) through Asana's PATCH endpoint. Uses selective field update pattern — only provided fields are modified, leaving others unchanged. Validates field types before submission and returns updated task metadata. Supports both simple fields (name, description) and complex fields (custom fields, assignee).","intents":["Update task status or due date without modifying other fields","Reassign tasks to different team members","Mark tasks as complete or incomplete","Modify task descriptions based on new information"],"best_for":["Automation workflows that need to update specific task fields","AI agents managing task lifecycle (assignment, completion, rescheduling)","Status update automation (e.g., mark task complete when dependency finishes)"],"limitations":["Custom field updates require field GID — field names not supported, only GIDs","No bulk update operations — each task requires separate API call","Completed status is boolean only — no support for partial completion or progress tracking","Asana API rate limits apply — rapid updates may be throttled"],"requires":["Asana API token with write access","Valid task GID","For custom field updates: valid custom field GID"],"input_types":["JSON object with task_gid (string) and optional fields: name (string), description (string), assignee_gid (string), due_on (ISO8601 date), completed (boolean), custom_fields (object)"],"output_types":["JSON object with updated task metadata: gid, name, description, assignee_gid, due_on, completed, custom_fields"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_12","uri":"capability://search.retrieval.workspace.enumeration.and.multi.workspace.navigation","name":"workspace enumeration and multi-workspace navigation","description":"Exposes asana_get_workspaces tool that lists all workspaces accessible to the authenticated user. Returns workspace metadata (GID, name, is_organization) enabling AI clients to discover available workspaces and select correct workspace for subsequent operations. Workspace enumeration is required step before accessing projects or tasks since all Asana entities are scoped to workspaces.","intents":["Discover available workspaces for authenticated user","Select correct workspace before creating tasks or searching","Build workspace context for multi-workspace organizations","Validate workspace access before attempting operations"],"best_for":["Users with access to multiple Asana workspaces","AI agents that need to determine correct workspace before taking actions","Automation workflows operating across multiple workspaces"],"limitations":["Returns only workspaces accessible to authenticated user — no admin view of all workspaces","Workspace metadata is minimal — only GID, name, and organization flag returned","No workspace creation/deletion through MCP — read-only operation","No workspace settings or configuration data exposed"],"requires":["Asana API token with read access","User must have access to at least one workspace"],"input_types":["No parameters required"],"output_types":["JSON array of workspace objects: [{gid: string, name: string, is_organization: boolean}, ...]"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_13","uri":"capability://search.retrieval.task.retrieval.with.full.metadata.and.custom.field.expansion","name":"task retrieval with full metadata and custom field expansion","description":"Implements asana_get_task tool that retrieves complete task metadata including standard fields (name, description, assignee, due_date, completed) and custom fields with their values. Uses Asana's task detail endpoint with field expansion to include related data (assignee details, project info, custom field definitions and values). Returns comprehensive task context enabling AI clients to understand full task state.","intents":["Retrieve full task details before making update decisions","Access custom field values for task-specific metadata","Get assignee and project information for task context","Build complete task context for AI decision-making"],"best_for":["AI agents needing complete task context before taking actions","Workflows that require custom field values for logic decisions","Reporting or analysis workflows that need full task metadata"],"limitations":["Single task retrieval only — no bulk get_tasks operation","Custom field values returned as-is without type conversion — AI must interpret field types","Subtasks not included in response — separate API call required for subtask retrieval","Attachments and file references not included in response"],"requires":["Asana API token with read access","Valid task GID"],"input_types":["JSON object with task_gid (string)"],"output_types":["JSON object with complete task metadata: gid, name, description, assignee, due_on, completed, projects, custom_fields, created_at, modified_at"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_14","uri":"capability://safety.moderation.error.handling.and.validation.with.structured.error.responses","name":"error handling and validation with structured error responses","description":"Implements error handling layer that catches Asana API errors (4xx, 5xx responses) and validation errors (invalid parameters, missing required fields) and returns structured error responses through MCP protocol. Maps Asana API error codes to human-readable messages and includes error context (which field failed, why) enabling AI clients to understand failure reasons and retry appropriately. Validation happens before API calls to prevent wasted requests.","intents":["Understand why Asana API calls failed (invalid GID, permission denied, rate limited, etc.)","Retry failed operations with corrected parameters based on error feedback","Log and monitor API failures for debugging","Provide meaningful error messages to end users through AI assistants"],"best_for":["Production deployments requiring robust error handling and debugging","AI agents that need to understand and recover from API failures","Monitoring and observability systems that track API error rates"],"limitations":["Error messages are Asana API error text — no custom error messages or localization","No automatic retry logic — AI agents must implement retry logic if needed","Rate limit errors (429) not distinguished from other errors — no backoff guidance","Validation errors happen at MCP schema level — some invalid inputs may pass through to API"],"requires":["MCP client capable of handling error responses (all standard MCP clients)"],"input_types":["Any tool request that may fail"],"output_types":["JSON-RPC error response: {jsonrpc: '2.0', id: number, error: {code: number, message: string, data: object}}"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_2","uri":"capability://tool.use.integration.task.dependency.and.blocking.relationship.management","name":"task dependency and blocking relationship management","description":"Exposes asana_add_task_dependency and asana_remove_task_dependency tools that manage task blocking relationships through Asana's dependency API. Translates MCP requests into Asana's dependency endpoint calls, supporting 'blocks' and 'is_blocked_by' relationship types. Validates that both task GIDs exist before attempting relationship creation, preventing orphaned dependencies.","intents":["Mark a task as blocking another task to enforce sequential execution","Remove outdated task dependencies when project scope changes","Build task dependency graphs for critical path analysis","Prevent task execution until dependent tasks complete"],"best_for":["Project managers automating dependency tracking in Asana","AI agents orchestrating multi-step workflows with task dependencies","Teams using Asana for critical path method (CPM) project scheduling"],"limitations":["No circular dependency detection — Asana API rejects circular relationships but error handling is minimal","Dependency relationships are directional but MCP tools require explicit 'blocks' vs 'is_blocked_by' specification","No bulk dependency operations — each relationship requires separate API call","Asana's dependency system is task-level only — no support for project-level or milestone dependencies"],"requires":["Asana API token with write access","Valid GIDs for both dependent and blocking tasks","Both tasks must exist in same workspace"],"input_types":["JSON object with task_gid (string), depends_on_gid (string), dependency_type (string: 'blocks' | 'is_blocked_by')"],"output_types":["JSON object confirming dependency relationship created/removed with task GIDs and relationship type"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_3","uri":"capability://memory.knowledge.project.and.section.structure.navigation.with.resource.uris","name":"project and section structure navigation with resource uris","description":"Implements asana://project/{gid} and asana://workspace/{gid} resource URIs that expose project metadata (name, description, owner, sections, custom fields) and workspace structure through MCP's resource system. Caches project/workspace data in memory and returns structured JSON containing section lists, allowing AI clients to understand project organization without multiple API calls. Resources are read-only and populated on-demand.","intents":["Discover available projects and sections in a workspace before creating tasks","Understand project structure and custom field definitions for task creation","Navigate workspace hierarchy to find the correct project GID for task operations","Build context about project organization for AI decision-making"],"best_for":["AI agents needing to explore workspace structure before taking actions","MCP clients that support resource URIs (Claude Desktop, MCP Inspector)","Workflows that dynamically discover project GIDs rather than hardcoding them"],"limitations":["Resources are read-only — no ability to create projects or sections through MCP","In-memory caching has no TTL — stale data if projects are modified outside MCP server","Custom field definitions included but custom field values not populated for individual tasks","No pagination for workspaces with hundreds of projects — all projects returned in single response"],"requires":["Asana API token with read access","Valid workspace GID or project GID","MCP client supporting resource:// URI scheme"],"input_types":["Resource URI: asana://workspace/{workspace_gid} or asana://project/{project_gid}"],"output_types":["JSON object containing: workspace/project metadata, sections array with section GIDs and names, custom fields array with field definitions"],"categories":["memory-knowledge","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_4","uri":"capability://tool.use.integration.task.comment.and.story.management.with.activity.tracking","name":"task comment and story management with activity tracking","description":"Exposes asana_add_comment and asana_get_task_stories tools that manage task comments (stories) through Asana's stories API. Translates MCP requests into Asana story endpoints, supporting text comment creation and retrieval of full task activity history (comments, field changes, assignments). Returns story metadata including author, timestamp, and comment text, enabling AI clients to understand task discussion context.","intents":["Add status updates or notes to tasks without opening Asana UI","Retrieve task comment history to understand decision context","Build task context for AI agents by reading all activity on a task","Automate task communication (e.g., notify team via task comments)"],"best_for":["AI agents needing to understand task discussion and decision history","Automation workflows that log actions as task comments","Teams using Asana comments as primary communication channel"],"limitations":["Comments are text-only — no support for attachments, mentions, or rich formatting through MCP","Story retrieval returns all activity types (comments, field changes, assignments) without filtering","No pagination for tasks with hundreds of comments — all stories returned in single response","Comment editing/deletion not supported — only creation and read operations available"],"requires":["Asana API token with read/write access","Valid task GID","MCP client with tool-calling capability"],"input_types":["For add_comment: JSON object with task_gid (string), text (string)","For get_stories: JSON object with task_gid (string)"],"output_types":["For add_comment: JSON object with story GID, text, created_at, created_by","For get_stories: JSON array of story objects with type, text, author, timestamp, and field change details"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_5","uri":"capability://tool.use.integration.tag.based.task.organization.and.filtering","name":"tag-based task organization and filtering","description":"Implements asana_add_tag and asana_remove_tag tools that manage task tags through Asana's tag API. Translates MCP requests into Asana tag endpoints, supporting tag addition/removal from tasks. Tags are workspace-level entities that can be used for cross-project organization. Works in conjunction with task search filtering to enable tag-based task discovery and categorization.","intents":["Organize tasks with custom tags (e.g., 'urgent', 'blocked', 'review-needed') without UI","Filter tasks by tag in search operations for categorized task discovery","Implement custom task classification schemes using tags","Bulk-tag tasks for workflow automation (e.g., tag all tasks in a sprint)"],"best_for":["Teams using Asana tags as primary task categorization mechanism","Automation workflows that need to mark tasks with status tags","AI agents implementing custom task classification logic"],"limitations":["Tags must be pre-created in Asana — MCP server cannot create new tags, only apply existing ones","No bulk tag operations — each tag addition/removal requires separate API call","Tag names are workspace-level — same tag name in different workspaces are separate entities","No tag hierarchy or parent-child relationships — flat tag structure only"],"requires":["Asana API token with write access","Valid task GID and tag GID","Tags must already exist in workspace (created through Asana UI or API)"],"input_types":["JSON object with task_gid (string), tag_gid (string)"],"output_types":["JSON object confirming tag added/removed with task GID and tag GID"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_6","uri":"capability://planning.reasoning.ai.optimized.prompt.templates.for.common.asana.workflows","name":"ai-optimized prompt templates for common asana workflows","description":"Provides three built-in MCP prompts (task-summary, task-completeness, create-task) that guide AI clients through structured workflows for common Asana operations. Prompts are pre-written instructions that help LLMs understand task context, validate task completeness before creation, and summarize task status. Prompts are registered in MCP server and returned via prompts/list endpoint, enabling MCP clients to surface them as suggested workflows.","intents":["Guide AI agents through task creation with validation steps","Summarize task status and history for stakeholder reporting","Validate task completeness before marking as done","Provide structured instructions for common Asana workflows"],"best_for":["AI agents (Claude, other LLMs) needing guidance on Asana-specific workflows","MCP clients that expose prompts as suggested workflows","Teams standardizing how tasks are created and completed"],"limitations":["Prompts are static templates — no dynamic customization based on workspace configuration","Prompt content is hardcoded in server — no way to add custom prompts without code changes","Prompts are suggestions only — AI agents can ignore them and use tools directly","No prompt versioning — updates require server restart"],"requires":["MCP client supporting prompts/list and prompts/get endpoints (Claude Desktop, MCP Inspector)","LLM capable of following structured instructions (Claude 3+, GPT-4, etc.)"],"input_types":["Prompt name (string): 'task-summary', 'task-completeness', 'create-task'"],"output_types":["Prompt text (string) with structured instructions and context for AI agent"],"categories":["planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_7","uri":"capability://safety.moderation.read.only.mode.enforcement.with.selective.tool.disabling","name":"read-only mode enforcement with selective tool disabling","description":"Implements READ_ONLY_MODE environment variable that dynamically disables write-operation tools (create_task, update_task, add_comment, add_tag, etc.) at server initialization time. When enabled, tool registry excludes mutation tools entirely, and prompts that trigger mutations are hidden. Uses conditional tool registration pattern to enforce access control without runtime checks on every request.","intents":["Safely expose Asana data to untrusted AI clients without risk of data modification","Audit Asana operations by restricting to read-only access in production","Allow AI agents to explore workspace structure without ability to create/modify tasks","Implement least-privilege access for AI assistants"],"best_for":["Production deployments where AI agents should only read Asana data","Multi-tenant scenarios where different clients need different access levels","Compliance-sensitive environments requiring audit trails and access restrictions"],"limitations":["Binary toggle only — no granular per-tool or per-workspace access control","No audit logging of which tools were disabled or why","Read-only mode is server-wide — cannot have some clients with write access and others read-only","Tool disabling happens at registration time — no runtime permission checking per request"],"requires":["READ_ONLY_MODE environment variable set to 'true' at server startup","Server restart required to change mode — no hot-reload capability"],"input_types":["Environment variable: READ_ONLY_MODE=true|false"],"output_types":["Reduced tool registry with only read operations (search_tasks, get_task, get_project, get_workspace, get_stories)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_8","uri":"capability://tool.use.integration.asana.api.token.management.and.authentication.bridging","name":"asana api token management and authentication bridging","description":"Manages Asana API authentication by accepting personal access tokens or OAuth2 credentials through environment variables (ASANA_TOKEN) and wrapping all Asana API requests with Bearer token authentication. Uses TypeScript Asana SDK or direct HTTP client with Authorization headers. Validates token validity on server startup and fails fast if credentials are invalid, preventing silent authentication failures during tool execution.","intents":["Authenticate MCP server with Asana API using personal access tokens","Support OAuth2 token refresh for long-running server instances","Validate credentials before accepting client connections","Isolate authentication logic from tool implementations"],"best_for":["Developers deploying MCP server in production with Asana API access","Teams using personal access tokens for service account access","Environments where OAuth2 token management is handled externally"],"limitations":["Only supports personal access tokens or static OAuth2 tokens — no built-in OAuth2 flow","Token validation happens once at startup — expired tokens not detected until first API call fails","No token refresh logic — long-running servers with short-lived tokens will fail after token expiration","Credentials passed via environment variables — no secure credential storage or rotation"],"requires":["ASANA_TOKEN environment variable with valid Asana API token","Token must have appropriate scopes for intended operations (read, write, etc.)","Network access to Asana API endpoints (api.asana.com)"],"input_types":["Environment variable: ASANA_TOKEN=<personal_access_token_or_oauth2_token>"],"output_types":["Authenticated HTTP client ready for Asana API requests with Bearer token headers"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__cap_9","uri":"capability://tool.use.integration.stdio.based.mcp.protocol.transport.with.request.response.marshaling","name":"stdio-based mcp protocol transport with request/response marshaling","description":"Implements MCP server using stdio transport that reads JSON-RPC 2.0 requests from stdin and writes responses to stdout. Uses @modelcontextprotocol/sdk to handle protocol marshaling, request routing, and response serialization. Supports three MCP capabilities: tools (for function calling), prompts (for workflow templates), and resources (for structured data access). Transport is stateless — each request is independent with no session management.","intents":["Enable MCP clients (Claude Desktop, MCP Inspector) to communicate with Asana via standard protocol","Provide structured tool/prompt/resource discovery through MCP protocol","Support multiple concurrent MCP clients via stdio multiplexing","Integrate Asana into MCP-compatible AI platforms"],"best_for":["Developers integrating Asana with Claude Desktop or other MCP-compatible clients","Teams building MCP server ecosystems with multiple service integrations","Environments where stdio transport is preferred over HTTP (local development, containerized deployments)"],"limitations":["Stdio transport is single-client only — one MCP client per server instance (no multiplexing)","No built-in request queuing or backpressure handling — rapid requests may overflow buffers","JSON-RPC 2.0 overhead adds ~100-200 bytes per request/response","No persistent connection state — each request is stateless, requiring full context in each call"],"requires":["Node.js 16+ runtime","@modelcontextprotocol/sdk package","MCP client supporting stdio transport (Claude Desktop, MCP Inspector, etc.)"],"input_types":["JSON-RPC 2.0 requests via stdin: {jsonrpc: '2.0', id: number, method: string, params: object}"],"output_types":["JSON-RPC 2.0 responses via stdout: {jsonrpc: '2.0', id: number, result: object} or {jsonrpc: '2.0', id: number, error: object}"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"asana-mcp-server__headline","uri":"capability://tool.use.integration.mcp.server.for.asana.project.management","name":"mcp server for asana project management","description":"A community-driven MCP server that enables AI clients to interact with the Asana work management platform, facilitating task creation, project management, and workspace navigation through a standardized protocol.","intents":["best MCP server for Asana","MCP server for project management","AI integration with Asana tasks","how to manage Asana projects with AI","tools for Asana API integration"],"best_for":["AI developers","project managers"],"limitations":[],"requires":[],"input_types":[],"output_types":[],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":59,"verified":false,"data_access_risk":"high","permissions":["Asana API token (personal access token or OAuth2)","Valid Asana workspace GID","Node.js 16+ runtime","MCP client supporting stdio transport (Claude Desktop, MCP Inspector, etc.)","Asana API token with read access to workspace","Valid workspace GID","MCP client with tool-calling capability","Asana API token with read access","Valid project GID","Project must have sections (not all Asana projects use sections)"],"failure_modes":["Requires valid Asana workspace GID and project GID — invalid references fail silently at API level","No built-in retry logic for transient API failures — single attempt per request","Custom fields beyond standard Asana fields (name, description, assignee, due_date, projects, tags) not supported","Asana API rate limits (150 requests/minute) apply — no client-side throttling or queue management","Search limited to tasks in accessible workspaces — cross-workspace search not supported","Pagination requires manual offset/limit handling — no built-in cursor-based iteration","Advanced Asana filters (e.g., custom field values, portfolio status) not exposed through MCP schema","Search results include only basic task metadata — full task details require separate asana_get_task call per result","Sections are read-only — cannot create, rename, or delete sections through MCP","Section ordering is not exposed — only section names and GIDs returned","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.7,"quality":0.9,"ecosystem":0.48999999999999994,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:02.370Z","last_scraped_at":null,"last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=asana-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=asana-mcp-server"}},"signature":"t0TGhgVmvg7zCJCoGfXFo3t10wjIrbkg+jFmc0kxMbf+rkMerDzvbXXuKK9HIEx7Y/gCn4DLRFSHh94G8L8zAQ==","signedAt":"2026-06-20T21:33:07.472Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/asana-mcp-server","artifact":"https://unfragile.ai/asana-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=asana-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}