Skip to main content
Glama

Dutify

pm_search_tasks

Read-onlyIdempotent

Search tasks across the workspace with name-based filters. status / priority / tag / taskType are repeatable (pass an array). assignee is an email or UUID. q is a free-text search over title + description. Returns a cursor-paginated page of LiteTaskResponse — pass nextCursor back as cursor to paginate. Present title linked to webUrl; show displayKey only when non-empty. key and identifier are API references, not display labels. API-key scope: tasks:read.

Input Schema

NameRequiredDescriptionDefault
qNoFree-text search over title + description
tagNoTag names (OR)
limitNoDefault 50, max 200
spaceNoNarrow to one space by name
cursorNoOpaque cursor from a previous response
parentNoDirect children of this task (key or identifier)
statusNoStatus names (OR)
accountNoMulti-account auth only: name of the account from X-Dutify-Accounts to use for this call. Ignored in single-account mode (X-API-Key header). When multiple accounts are configured and this is omitted, the call fails with ACCOUNT_REQUIRED listing the available names. list_accounts never requires a selection.
assigneeNoAssignee emails or UUIDs (OR)
priorityNoPriority names (OR)
taskTypeNoTask type names (OR)
workspaceNoWorkspace identifier or exact name for this call. Overrides the configured workspace. For personal keys, discover candidates with list_workspaces and select explicitly. Does not change other calls or expand a workspace key's access.
includeClosedNoDefault false
listIdentifierNoNarrow to one list by its identifier (lst_…)
includeSubtasksNoDefault true

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the required API-key scope (tasks:read), the return type (LiteTaskResponse), the cursor pagination contract (pass nextCursor back as cursor), and output presentation rules (title linked to webUrl, displayKey only when non-empty, key/identifier are not display labels). That is materially more than the annotations already convey.

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?

Six tight sentences, front-loaded with the verb and resource, then filters, then pagination, then presentation. Every sentence carries operational information an agent would otherwise have to infer; nothing is padding.

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

Completeness4/5

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

With no output schema, the description must carry the return-value burden, and it does so briefly through the LiteTaskResponse name and the nextCursor pagination contract. The 15 parameters are all schema-documented, though the description does not touch space/parent/account, leaving multi-account selection entirely to the schema.

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%, so the baseline is 3, and the description adds real meaning: the four enum-style filters are repeatable arrays, assignee accepts email or UUID, q covers title plus description, and cursor is sourced from the previous response's nextCursor. It leaves space/parent/workspace/account to the schema, which already documents them well.

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

Purpose4/5

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

States a specific verb and resource with scope: "Search tasks across the workspace with name-based filters." That is enough to separate it from get-style siblings like pm_get_task and pm_get_sprint_tasks, but it never names an alternative sibling or says what it is not, which keeps it at a 4 rather than a 5.

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

Usage Guidelines3/5

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

Usage is implied by the search framing and by operating notes (repeatable array fields, cursor round-trip, tasks:read scope), but the description never says when to choose this over siblings such as pm_get_sprint_tasks, pm_list_saved_filters, or pm_get_subtasks. No exclusions or when-not conditions are given.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources