Skip to main content
Glama
BlZvi
by BlZvi

Search Tasks

asana_search_tasks
Read-onlyIdempotent

Find tasks in Asana by searching names and descriptions, with filters for assignee, project, due date, tags, and completion status to refine results.

Instructions

Full-text search for tasks across a workspace with advanced filters. Searches task names AND descriptions. Returns up to 100 results (no auto-pagination). Prefer filters like projects_any, assignee_any, completed, or due_on_before to narrow results. Returns minimal fields by default — always use opt_fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoText to search for in task names and descriptions
due_onNoISO 8601 date string or null
sort_byNoSort by: due_date, created_at, completed_at, likes, modified_at
start_onNoISO 8601 date string or null
tags_allNoComma-separated list of tag IDs that must all match
tags_anyNoComma-separated list of tag IDs
tags_notNoComma-separated list of tag IDs to exclude
completedNoFilter for completed tasks
teams_anyNoComma-separated list of team IDs
workspaceNoThe GID of the workspace to search in (numeric string, e.g. `'19234567890123'`). Get it from asana_list_workspaces. Can be omitted if ASANA_DEFAULT_WORKSPACE_GID is set.
created_onNoISO 8601 date string or null
is_blockedNoFilter for tasks with incomplete dependencies
is_subtaskNoFilter for subtasks
opt_fieldsNoComma-separated list of optional fields to include
is_blockingNoFilter for incomplete tasks with dependents
modified_onNoISO 8601 date string or null
assignee_anyNoComma-separated list of user IDs
assignee_notNoComma-separated list of user IDs to exclude
completed_onNoISO 8601 date string or null
due_at_afterNoISO 8601 datetime string
due_on_afterNoISO 8601 date string
liked_by_notNoComma-separated list of user IDs to exclude
projects_allNoComma-separated list of project IDs that must all match
projects_anyNoComma-separated list of project IDs
projects_notNoComma-separated list of project IDs to exclude
sections_allNoComma-separated list of section IDs that must all match
sections_anyNoComma-separated list of section IDs
sections_notNoComma-separated list of section IDs to exclude
custom_fieldsNoObject containing custom field filters. Keys should be in the format "{gid}.{operation}" where operation can be: - {gid}.is_set: Boolean - For all custom field types, check if value is set - {gid}.value: String|Number|String(enum_option_gid) - Direct value match for Text, Number or Enum fields - {gid}.starts_with: String - For Text fields only, check if value starts with string - {gid}.ends_with: String - For Text fields only, check if value ends with string - {gid}.contains: String - For Text fields only, check if value contains string - {gid}.less_than: Number - For Number fields only, check if value is less than number - {gid}.greater_than: Number - For Number fields only, check if value is greater than number Example: { "12345.value": "high", "67890.contains": "urgent" }
due_at_beforeNoISO 8601 datetime string
due_on_beforeNoISO 8601 date string
followers_anyNoComma-separated list of user IDs
followers_notNoComma-separated list of user IDs to exclude
created_by_anyNoComma-separated list of user IDs
created_by_notNoComma-separated list of user IDs to exclude
has_attachmentNoFilter for tasks with attachments
portfolios_anyNoComma-separated list of portfolio IDs
sort_ascendingNoSort in ascending order
start_on_afterNoISO 8601 date string
assigned_by_anyNoComma-separated list of user IDs
assigned_by_notNoComma-separated list of user IDs to exclude
start_on_beforeNoISO 8601 date string
created_at_afterNoISO 8601 datetime string
created_on_afterNoISO 8601 date string
resource_subtypeNoFilter by task subtype (e.g. milestone)
created_at_beforeNoISO 8601 datetime string
created_on_beforeNoISO 8601 date string
modified_at_afterNoISO 8601 datetime string
modified_on_afterNoISO 8601 date string
completed_at_afterNoISO 8601 datetime string
completed_on_afterNoISO 8601 date string
modified_at_beforeNoISO 8601 datetime string
modified_on_beforeNoISO 8601 date string
commented_on_by_notNoComma-separated list of user IDs to exclude
completed_at_beforeNoISO 8601 datetime string
completed_on_beforeNoISO 8601 date string
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations already declaring read-only, idempotent, and non-destructive, the description adds substantial behavioral context: searches both names and descriptions, caps results at 100 with no auto-pagination, and returns minimal fields by default requiring opt_fields. These are critical runtime behaviors not inferable from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description uses five short, non-redundant sentences. Each sentence carries unique information: purpose, search scope, result cap, filter selection guidance, and output field requirement. It is front-loaded with the core purpose and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large parameter schema and rich annotations, the description supplies all missing high-level context: workspace-wide search semantics, searchable fields (names+descriptions), result limits, pagination absence, and default response shape. This is sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions, so the baseline is 3. The description adds value by recommending specific filter parameters (projects_any, assignee_any, completed, due_on_before) and by emphasizing the opt_fields requirement, giving agents a strategic entry point into the 56-parameter surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Full-text search for tasks across a workspace with advanced filters' and adds 'Searches task names AND descriptions,' making the verb, resource, and scope explicit. This clearly distinguishes it from sibling tools like asana_search_projects and get_tasks_for_project by emphasizing workspace-wide full-text search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear operational guidance: 'Prefer filters like projects_any, assignee_any, completed, or due_on_before to narrow results' and 'Returns up to 100 results (no auto-pagination).' However, it does not explicitly name alternative tools or state when-not-to-use this tool, so it misses the 'explicit alternatives' criterion for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BlZvi/asana-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server