Skip to main content
Glama

kaiten_search_cards

Read-onlyIdempotent

Search Kaiten cards with filters like board, column, responsible user, state, tag, or due date; get matching summaries and a cursor for pagination.

Instructions

Search Kaiten tasks (cards) with filters. For my tasks, first read kaiten_get_current_user and its connection guidance; default to responsible_ids for that user unless configured otherwise. Do not infer identity from OS or OpenAI names. Returns summaries and a cursor; reuse the same filters with next_cursor. Fetch details with kaiten_get_card.

Input Schema

NameRequiredDescriptionDefault
asapNo
limitNo
queryNo
cursorNo
statesNo
lane_idNo
overdueNo
tag_idsNo
archivedNo
board_idNo
space_idNo
type_idsNo
column_idNo
owner_idsNo
member_idsNo
due_date_afterNo
due_date_beforeNo
responsible_idsNo

Output Schema

NameRequiredDescriptionDefault
itemsYes
next_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv1.2.0
    • removedInput schema / properties / board_id / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / column_id / maximum
      Removed value: -9007199254740991
    • changedInput schema / properties / due_date_after / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      -    "type": "string"
      -  },
      -  {
      -    "format": "date-time",
      -    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / due_date_before / anyOf
      Previous value: -[
      -  {
      -    "format": "date",
      -    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      -    "type": "string"
      -  },
      -  {
      -    "format": "date-time",
      -    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "format": "date-time",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / lane_id / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / member_ids / items / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / owner_ids / items / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / responsible_ids / items / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / space_id / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / tag_ids / items / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / type_ids / items / maximum
      Removed value: -9007199254740991
  2. First observedv1.0.2

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the supplied readOnly/idempotent/openWorld annotations, the description discloses that results are summaries plus a cursor, and that continuation requires reusing the same filters. However, it refers to 'next_cursor' while the schema parameter is named 'cursor', which muddies the pagination contract for an agent that has to act on it.

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?

Front-loaded with the core purpose, then workflow, then pagination and escalation to the detail tool, with no filler sentences. The identity warning is slightly tangential but earns its place as a guardrail against a common failure mode.

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

Completeness3/5

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

An output schema exists and the description appropriately summarizes return shape instead of restating it, and the workflow guidance is complete. What is missing is meaningful coverage of a large, entirely undocumented 18-parameter filter surface, which is the main thing an agent must get right to call this correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 18 parameters, so the description carries the full burden and falls well short: only responsible_ids and the cursor are touched on. It leaves opaque the distinctions and semantics of owner_ids vs member_ids vs responsible_ids, states, asap, overdue, archived, lane_id, column_id, board_id, space_id, tag_ids, and type_ids.

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 names a specific verb and resource ('Search Kaiten tasks (cards) with filters') and explicitly distinguishes itself from the detail-retrieval sibling by saying 'Fetch details with kaiten_get_card.' An agent can tell it apart from kaiten_get_card without opening either schema.

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 an explicit workflow: for 'my tasks', read kaiten_get_current_user and its connection guidance first, then default to responsible_ids for that user, with a clear negative instruction not to infer identity from OS or OpenAI names. It also routes to the correct alternative (kaiten_get_card) when full details are needed.

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