Skip to main content
Glama

Search Cards

kaiten_search_cards
Read-onlyIdempotent

Search Kaiten cards by title, state, owner, tags, due dates, and more with pagination and sorting. Filter by live or archived condition to narrow results within a board or space.

Instructions

Search cards with filters and pagination. Pass boardId (from kaiten_list_boards) or spaceId (from kaiten_list_spaces) to limit scope. The query parameter performs a substring match against card titles (server searches the title field only). The condition parameter accepts only 1=live (default) or 2=archived — Kaiten has no 'all' filter. To list live + archived together, omit condition (defaults to live) and call again with condition: 2. Use kaiten_get_card for full detail on a specific card. Returns: array of cards (simplified per verbosity).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asapNoFilter urgent cards
limitNoMax results
queryNoSubstring match against card titles
stateNoCard state: draft|queued|in_progress|done
laneIdNoFilter by lane ID (from kaiten_list_lanes)
offsetNoOffset for pagination
sortByNoSort fieldcreated
tagIdsNoComma-separated tag IDs
typeIdNoFilter by card type ID (from kaiten_list_card_types)
boardIdNoFilter by board ID (from kaiten_list_boards)
overdueNoFilter overdue cards
ownerIdNoFilter by owner user ID (from kaiten_list_users)
spaceIdNoFilter by space ID (from kaiten_list_spaces; uses KAITEN_DEFAULT_SPACE_ID if omitted)
typeIdsNoComma-separated card type IDs
archivedNoFilter archived cards
columnIdNoFilter by column ID (from kaiten_list_columns)
ownerIdsNoComma-separated owner IDs
conditionNoCard condition filter. 1=live (on board, default), 2=archived. Kaiten does not support a filter for both in one call — omit (defaults to live) or query twice and merge. Note: passing 3 was historically described as 'all' but actually returns deleted cards only — the schema now rejects 3 to prevent silent empty results.
memberIdsNoComma-separated member IDs
verbosityNoDetail: raw|min(default)|normal|maxmin
doneOnTimeNoFilter by done on time
withDueDateNoFilter cards with due date
createdAfterNoCards created after this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
dueDateAfterNoCards with due date after this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
updatedAfterNoCards last updated after this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
createdBeforeNoCards created before this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
dueDateBeforeNoCards with due date before this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
sortDirectionNoSort directiondesc
updatedBeforeNoCards last updated before this ISO 8601 timestamp (YYYY-MM-DD or full datetime)
excludeArchivedNoExclude archived cards
excludeCompletedNoExclude completed cards

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.7

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, and the description adds valuable non-obvious behavioral context beyond that: query matches only card titles, condition accepts only 1 or 2 (no 'all' filter), and live+archived requires two separate calls. It also discloses the return shape as an array of simplified cards per verbosity, which is useful since no output schema exists.

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

Conciseness4/5

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

The description is somewhat long at seven sentences, but each sentence carries actionable information: scoping, query limitations, condition gotchas, the two-call workflow, and the get_card alternative. It is reasonably front-loaded with the core purpose, though the condition explanation could arguably have been tightened.

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?

Given 31 parameters and no output schema, the description covers the most important decision points: how to scope, what query does, how condition behaves, how to combine live and archived results, and what to use for full card detail. It leaves pagination details and verbosity specifics to the schema, which is acceptable, but the return format is only lightly described.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents every parameter including query's title-only match and condition's 1/2 semantics. The description mostly restates or summarizes this structured information rather than adding new parameter meaning, so the baseline 3 applies.

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 states a specific verb and resource — 'Search cards' — and immediately differentiates it from the more targeted sibling kaiten_get_card by noting that full detail belongs there. It also clarifies the tool's core purpose as filtered search with pagination, so an agent can distinguish it from the board/space listing tools.

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

Usage Guidelines5/5

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

It gives explicit scoping guidance (pass boardId or spaceId), explains the query parameter's limited title-only behavior, and provides a concrete strategy for retrieving live and archived cards across two calls. It also names kaiten_get_card as the alternative when full card detail is needed, which is clear when-to-use and when-not-to-use guidance.

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

Deploy Server

Other Tools