Skip to main content
Glama

Kaiten MCP

Kaiten MCP connects your AI assistant to your Kaiten workspace. It lets the assistant find cards, read their context, and make changes through tools exposed over the Model Context Protocol (MCP).

The server runs locally on your computer. Your MCP client starts it when needed and communicates with it over stdio; the server sends requests to Kaiten using your API token. Each server connection uses one Kaiten company and one token.

English documentation · Документация на русском · npm package

What you can do

The server provides 44 tools covering everyday work with cards:

  • Find your way around: browse spaces, boards, columns and lanes; look up users, card types and tags.

  • Work with cards: search and read cards, create new ones, update descriptions and deadlines, move cards, and archive, restore or delete them.

  • Keep the conversation together: read and manage comments, card members and tags.

  • Track smaller tasks: create checklists, add items, assign responsibility and mark items complete.

  • Use custom fields: inspect existing property definitions, options and directories, and set property values on cards.

Once connected, try asking your assistant to:

Find overdue cards assigned to me on the Support board.

Read this card and its comments, then summarize what is blocking it.

Create a card for the release checklist and add these three tasks.

The assistant uses the available tools to carry out these requests. Changes made through the server affect your Kaiten workspace immediately, with the permissions of the supplied token. Review proposed changes in your MCP client before approving them.

Related MCP server: kaiten-mcp

Get started

You need Node.js 24 or newer, a Kaiten API token, and an MCP client that can launch a local stdio server.

For clients that use an mcpServers JSON configuration, add:

{
  "mcpServers": {
    "kaiten": {
      "command": "npx",
      "args": ["--yes", "@2chevskii/kaiten-mcp"],
      "env": {
        "KAITEN_ORIGIN": "https://company.kaiten.ru",
        "KAITEN_TOKEN": "YOUR_KAITEN_TOKEN"
      }
    }
  }
}

npx downloads the package into npm's cache when needed. --yes suppresses the installation prompt. Replace the company address and token, reload your client's configuration, and ask it to list your Kaiten spaces. Node.js and npx must be available in the client's PATH. Use dedicated secret settings for the token where supported.

To use npm exec, keep the same environment and replace the launch settings:

{
  "command": "npm",
  "args": [
    "exec",
    "--yes",
    "--package=@2chevskii/kaiten-mcp",
    "--",
    "kaiten-mcp"
  ]
}

For a fixed release, append @<version> to the package name. See the setup guide for configuration and connection checks.

Configuration

Variable

Required

Description

KAITEN_ORIGIN

Yes

Your company origin, such as https://company.kaiten.ru. Supply the origin only, without an API path or query string.

KAITEN_TOKEN

Yes

The Kaiten API token used for all requests.

KAITEN_TIMEOUT_MS

No

Timeout for each tool operation, in milliseconds. Defaults to 30000; accepts integers from 1 to 2147483647.

To connect to several Kaiten companies, add a separate server entry for each, with its own name and environment settings.

How it behaves

Search and list tools return compact results with pagination. Individual read tools provide the full requested description, comment or checklist item text. Your assistant can follow the returned cursor or offset to load more results.

The server validates tool arguments before sending requests. Cancelling a tool call cancels its pending HTTP request. Failed requests are not automatically retried; if a write times out, check the card before repeating the change.

Diagnostics go to stderr, leaving stdout for the MCP protocol. The process stops when the client closes its input stream or sends a termination signal. Starting it in a terminal can appear idle because it is waiting for an MCP connection.

This release focuses on cards and their related data. Documents, file attachments, time tracking, automation management, administration, SCIM and webhooks are outside its scope. The server supports stdio transport and exposes tools; it does not provide an HTTP endpoint, MCP resources or prompts.

See the tool reference for all tool names, arguments and response fields, or the setup guide for more detail.

Development

From a checkout of this repository:

npm ci
npm run check

check builds the server, checks test types, runs protocol tests, checks lint and formatting, and builds the English and Russian documentation. The tests use the real client library against a local HTTP fixture; they do not access your Kaiten company.

Use npm run build:watch while editing the server and npm run docs:dev to preview the documentation. The server is built on @2chevskii/kaiten-client, pinned to version 1.0.3 from npm.

PR and edge packages are available through GitHub Packages. Stable packages use the latest tag in npm and GitHub Packages. See the release guide for the CI/CD workflow and publishing process.

License

MIT.

Available Tools

44 tools
kaiten_add_card_memberB

Add an existing user to a card using user_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
user_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the description's lower bar is largely met. It adds the useful precondition that the user must already exist, but says nothing about permissions, duplicate handling, or what happens on failure.

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?

A single front-loaded sentence with zero filler. It is efficient, though arguably too terse given the documentation gaps elsewhere.

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, so return values need not be described. For a mutation tool with undocumented parameters, however, the definition omits prerequisite/permission context an agent would need to invoke it reliably.

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 coverage is 0%, so the description must compensate for both parameters. It names user_id and clarifies it refers to an existing user, but card_id is never mentioned and neither ID's format or origin is explained.

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 ("Add an existing user to a card") and names the key parameter (user_id). It is distinguishable from siblings like kaiten_remove_card_member and kaiten_update_card_member_role, but it does not explicitly reference them.

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

Usage Guidelines2/5

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

The phrase "existing user" hints at a precondition, but there is no explicit guidance on when to use this versus kaiten_update_card_member_role or how it differs from kaiten_list_card_members. An agent must infer the workflow.

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

kaiten_add_card_tagB

Attach a tag by name. Kaiten may create the tag if it does not exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare mutation (readOnlyHint=false), open-world, and non-idempotent behavior. The description adds one genuinely useful behavioral fact beyond them – that Kaiten may auto-create the tag if it does not exist – but it hedges with 'may', and does not say what happens if the tag is already attached to the card.

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?

Two short sentences, front-loaded with the action and followed by the side effect. Nothing is wasted, though the second sentence's 'may' hedges where a precise statement would be stronger.

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, so return values need not be described, and annotations cover the safety profile. Still missing for a mutation tool: behavior when the tag is already on the card, and whether/when the auto-creating lookup could match an existing tag by name.

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 0%, so the description must compensate. 'By name' usefully clarifies that the name parameter is the tag name rather than a card name, but card_id is left entirely to the schema/name inference and no format or case-sensitivity details are given. Partial compensation warrants a 3.

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 (attach) and resource (tag) tied to a card, which an agent can distinguish from the sibling kaiten_remove_card_tag. It is clear enough to act on without opening the schema, though it never explicitly names 'card' as the target resource.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives such as kaiten_list_tags (to find an existing tag) or kaiten_list_card_tags (to check current tags). The usage context is implied only by the tool name, not stated in the description.

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

kaiten_add_checklist_itemC

Add a checklist item with optional completion, order, due date and responsible user.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
card_idYes
checkedNo
due_dateNo
sort_orderNo
checklist_idYes
responsible_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds only that four fields are optional, which the schema's required list already conveys, and says nothing about permissions, rate limits, or side effects on the parent card.

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?

A single well-formed sentence with the action front-loaded and zero filler. It is efficient, though the terse noun list reads more like a field recap than a usage statement.

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 so return values need no explanation, and annotations cover safety. But for a mutation tool with 7 parameters and 0% schema coverage, the description leaves the required identifiers and their relationships undocumented, which is a meaningful gap.

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 0%, so the description carries the burden, and it does name four optional fields (completion, order, due date, responsible user) mapping to checked, sort_order, due_date and responsible_id. However the three required parameters (card_id, checklist_id, text) are never mentioned, and no format or ID-ownership detail is given.

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?

The description states a specific verb and resource ("Add a checklist item") and enumerates the optional fields, so an agent can distinguish it from kaiten_update_checklist_item or kaiten_delete_checklist_item. It stops short of explicitly naming which sibling it is not.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, no prerequisites (e.g. the checklist must already exist), and no exclusions. The agent must infer the context entirely from the name and schema.

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

kaiten_add_commentC

Add a text comment to a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the mutation profile is covered structurally. The description adds nothing beyond that — no note on visibility of the comment to other users, permission requirements, or duplicate-comment behavior (relevant given idempotentHint=false).

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

Conciseness3/5

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

A single short sentence with zero padding and the resource up front, which is structurally sound. It is arguably under-specified rather than inefficiently verbose for a tool where the schema documents nothing.

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, so return values need not be explained, and the operation is simple. Still, with 0% schema coverage and no annotations-redundant behavioral detail, the description falls short of fully equipping an agent to invoke it confidently.

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%, so the description carries the burden, and it only implicitly names the two inputs via 'text comment' and 'card'. It provides no details on text format (markdown? mentions?), length constraints, or card_id validity beyond the schema's numeric bounds.

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?

The description states a specific verb and resource ('Add a text comment to a card'), so an agent immediately knows the operation and target entity. However, it offers no differentiation from sibling comment tools such as kaiten_update_comment, kaiten_list_comments, or kaiten_delete_comment — the 'add' vs 'update' distinction is left implicit.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus kaiten_update_comment or kaiten_list_comments, and no mention of prerequisites (e.g., the card must exist, the user must have access). The agent must infer usage entirely from the name.

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

kaiten_archive_cardA
Destructive

Archive a card. The card can be restored with kaiten_restore_card.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds genuinely useful behavioral context beyond them: the effect is reversible via kaiten_restore_card, which materially changes how an agent should weigh the destructive hint. It adds nothing about side effects on the card's tags/comments/checklists, so it is not a full 5.

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?

Two sentences, zero waste, with the action and its reversible counterpart front-loaded. Nothing is padded or repeated from the schema or annotations.

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?

An output schema exists so return values need no explanation, and annotations carry the safety profile. For a single-parameter archive tool the description covers the essential fact (restorability); the only remaining gap is explicit archive-vs-delete routing.

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 0% and the description says nothing about card_id at all. However, there is exactly one required parameter with a self-evident name and integer type, so ambiguity is minimal; this lands at minimum-viable rather than deficient.

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 ('Archive a card') and names the counterpart operation (kaiten_restore_card), which implicitly separates it from kaiten_delete_card in the sibling list. It stops short of explicitly contrasting archive vs delete in the text itself.

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?

Mentions the restore path, which implies archiving is the reversible alternative to deletion, but never states when to archive instead of calling kaiten_delete_card or when archiving is inappropriate. Usage is inferable but not spelled out.

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

kaiten_create_cardC

Create a card on a board. Description uses Markdown. Optional properties use Kaiten id_ keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
asapNo
titleYes
lane_idNo
type_idNo
board_idYes
due_dateNo
owner_idNo
column_idNo
size_textNo
propertiesNo
descriptionNo
due_date_time_presentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare the safety profile (not read-only, non-destructive, non-idempotent, open-world), so the description doesn't need to restate it. It adds genuinely useful context: description bodies are Markdown, and custom properties are keyed as id_<propertyId>. It does not say what happens on duplicate titles or whether properties are validated against the board's schema.

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?

Three short, front-loaded sentences with no filler; the core action comes first and the two parameter hints follow. Nothing is padded, though the hints are terse to the point of under-specification.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but for a 12-parameter creation tool with 0% schema coverage and no usage guidance, the description leaves most of what an agent needs (which IDs to supply, how properties map to custom fields) unstated.

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 coverage is 0% and there are 12 parameters, so the description carries the full burden. It explains only the 'description' (Markdown) and 'properties' (id_<propertyId> key format) parameters, leaving asap, lane_id, type_id, column_id, owner_id, size_text, due_date, and due_date_time_present completely undocumented.

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 ('Create a card on a board'), which clearly distinguishes it from sibling mutations like update_card, move_card, and archive_card. It does not, however, explicitly route the agent against those siblings.

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

Usage Guidelines2/5

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

No statement of when to use this versus update_card or move_card, and no prerequisites (e.g., needing a board_id and lane_id from kaiten_list_boards/list_lanes). Usage is only implied by the verb.

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

kaiten_create_checklistB

Create an empty named checklist on a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
card_idYes
sort_orderNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the mutation and safety profile is covered structurally. The description's one added behavioral fact — that the checklist is created empty — is genuinely useful because it implies items must be added via a separate call, but nothing is said about auth requirements or side effects.

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?

A single front-loaded sentence with no filler; the verb-resource-scope ordering is ideal. Brevity here reflects missing content elsewhere rather than wastefulness, so it earns top marks on structure.

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

Completeness2/5

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

An output schema exists, so return values needn't be explained, but for a three-parameter mutation tool with zero schema coverage the description leaves sort_order undefined and omits any prerequisite or permission context. It is too thin for the tool's surface area.

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%, so the description carries the full burden for three parameters. It implicitly covers card_id and name ('named checklist on a card') but says nothing about sort_order, its numeric format, or any constraints on the name beyond minLength.

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 (create), resource (checklist), and parent scope (on a card), which lets an agent separate it from kaiten_update_checklist, kaiten_get_checklist, and the checklist-item siblings. It does not, however, explicitly name the nearest alternative (e.g. add_checklist_item for populating items), so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

The description gives no when-to-use context, no prerequisites (card must exist, permissions required), and no mention of alternatives such as kaiten_add_checklist_item for adding items to an existing checklist. An agent must infer all usage conditions.

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

kaiten_delete_cardA
Destructive

Delete a card using the Kaiten delete endpoint. This is a destructive operation; use archive_card for archiving.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so "This is a destructive operation" largely restates structured data. The description adds value only through the archive_card routing pointer; it does not say whether the delete is permanent or recoverable via restore_card.

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?

Two short sentences, with the destructive nature and the archive alternative front-loaded. No filler beyond the mildly redundant "using the Kaiten delete endpoint" clause.

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?

Output schema exists so return values need no explanation, and annotations cover the safety profile. For an irreversible destructive action, though, the description omits whether deletion is permanent or recoverable and gives no guidance on the sole required parameter.

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% and the description says nothing about card_id — where to obtain it, or what happens to the card's comments/tags/members. The only documentation of the parameter lives in the raw type/constraint fields, and the description does not compensate for the coverage gap.

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?

States a specific verb+resource ("Delete a card") and explicitly names the sibling it is not — archive_card — so an agent can distinguish it from archive_card, restore_card, and the other mutating siblings without opening a schema.

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?

Gives a clear routing rule: "use archive_card for archiving," which tells the agent when to pick the alternative. It stops short of stating when-not-to-delete at all (e.g., soft-delete recovery via restore_card) or any prerequisites.

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

kaiten_delete_checklistC
Destructive

Delete a checklist from a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so safety is covered structurally. The description adds nothing beyond the annotations: it does not say whether deleting a checklist also destroys its items, whether the deletion is reversible, or what permission is required.

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?

A single front-loaded sentence with zero filler, so nothing is wasted. Its brevity is a virtue structurally, though it comes at the cost of the missing detail noted in other dimensions.

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

Completeness2/5

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

For a destructive mutation with two undocumented IDs, an output schema present, and a dangerous sibling (delete_checklist_item), the description should at minimum note cascade behavior and how to obtain the IDs. As written it is not sufficient for confident invocation.

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% for both required parameters. The phrase 'from a card' loosely implies card_id, but neither card_id nor checklist_id is explained, and no format, ID-source, or constraint detail is provided to compensate.

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?

The description gives a clear verb (Delete) and resource (checklist) plus scope (from a card), so the action is unambiguous. However, it does nothing to separate itself from the nearby sibling kaiten_delete_checklist_item (which deletes an item, not the list), so an agent must infer the distinction from names alone.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus kaiten_delete_checklist_item, kaiten_update_checklist, or kaiten_archive_card, and no prerequisites or warnings are stated. The agent gets the action but no routing context.

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

kaiten_delete_checklist_itemC
Destructive

Delete an item from a card checklist.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
item_idYes
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the danger profile is covered structurally. The description adds nothing beyond that: no statement that the deletion is permanent, no clarification of cascade effects, and no recovery path, so it contributes little unique behavioral context.

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

Conciseness3/5

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

A single front-loaded sentence with zero waste, which is good structure. However, the brevity comes at the cost of under-specification rather than genuinely economical communication.

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

Completeness2/5

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

An output schema exists so return values need not be described, but for a destructive three-parameter mutation with no parameter documentation and no behavioral detail, the description is too thin to let an agent invoke it confidently.

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% and the description names none of the three required parameters (card_id, checklist_id, item_id). The names are largely self-explanatory, which prevents a 1, but the description does nothing to compensate for the schema's total lack of documentation.

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 ('Delete') and resource ('an item from a card checklist'), which cleanly separates it from siblings like kaiten_delete_checklist and kaiten_add_checklist_item. It stops short of any explicit sibling differentiation or scope qualifiers, so it lands at clear-but-undifferentiated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as kaiten_update_checklist_item for edits or kaiten_delete_checklist for whole-list removal. The agent must infer context purely from the verb.

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

kaiten_delete_commentC
Destructive

Delete an existing card comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds nothing beyond that: no statement about permanence, whether the comment must exist, or permission requirements. The word 'existing' hints at a precondition but is not elaborated.

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?

A single front-loaded sentence with zero filler. It is appropriately sized, though its brevity stems partly from under-specification rather than disciplined editing.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but for a destructive, non-idempotent operation the description should at minimum note permanence or preconditions. With 0% parameter documentation, an agent lacks what it needs to call this confidently.

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% and both parameters (card_id, comment_id) are undocumented in the schema. The description only loosely implies that a card and a comment identify the target, adding no format, type, or sourcing detail to compensate for the coverage gap.

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?

The description states a specific verb (Delete) and resource (an existing card comment), which is unambiguous and distinguishes it from siblings like kaiten_add_comment and kaiten_update_comment. It does not, however, explicitly name alternatives or scope limits, so it falls short of the top tier.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as kaiten_delete_card or kaiten_update_comment. The only implied usage is tautological with the tool name.

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

kaiten_get_boardB
Read-onlyIdempotent

Get board details, columns, lanes and custom property configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description usefully adds that the response is an aggregate (board + columns + lanes + property config), but says nothing about auth requirements or payload size/pagination.

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?

A single eleven-word sentence with no filler, and the resource is front-loaded before the payload enumeration. Nothing to trim.

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?

For a simple single-parameter getter with a full output schema, the description is nearly sufficient — the return values are covered by the output schema and summarized in the text. Only the missing board_id provenance keeps it from being complete.

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?

One required integer board_id with 0% schema description coverage, and the description offers no format, sourcing, or validity guidance for it. The parameter is self-evident from its name and type, so the baseline of 3 applies rather than a penalty.

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?

Specific verb (Get) plus resource (board) and an enumeration of the payload it returns: details, columns, lanes, and custom property configuration. This separates it from kaiten_list_boards, though it never explicitly contrasts itself with the standalone kaiten_list_columns/kaiten_list_lanes siblings.

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

Usage Guidelines2/5

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

No when-to-use guidance at all: nothing says to call this after kaiten_list_boards to resolve a board_id, and no exclusion versus list_columns, list_lanes, or get_space. The agent must infer usage entirely from the name.

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

kaiten_get_cardA
Read-onlyIdempotent

Get a card with its full description, members, tags, properties and checklist references. Read comments and checklist items with their dedicated tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnly/ idempotent/ non-destructive, so the safety profile is covered. The description adds genuinely useful scope information by naming exactly which related data is bundled in and which is deliberately excluded, which is behavior beyond the annotations and beyond the input schema.

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?

Two short sentences, zero filler, with the returned payload front-loaded and the exclusion sentence second. Every clause earns its place.

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?

An output schema exists, so return-value documentation need not be repeated, and rich annotations cover the safety profile. The description supplies the inclusion/exclusion boundary, leaving only minor gaps such as error behavior for an invalid card_id.

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?

There is a single card_id integer parameter with 0% schema description coverage, but its meaning is self-evident from name and type, so no compensating prose is strictly required. The description adds no syntax, format, or ID-source guidance, so baseline 3 fits.

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+resource ('Get a card') and enumerates the payload it returns (full description, members, tags, properties, checklist references), which distinguishes it from list/search siblings. It stops short of explicitly contrasting with kaiten_search_cards or kaiten_get_board, so this is clear but not fully sibling-differentiated.

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?

Gives an explicit exclusion: comments and checklist items are not returned here and must be fetched with their dedicated tools (kaiten_list_comments, kaiten_get_checklist). It offers no guidance on when to prefer this over kaiten_search_cards, so the routing advice is one-sided.

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

kaiten_get_checklistB
Read-onlyIdempotent

Read a card checklist and all its items.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare this is a safe, idempotent read operation. The description adds that all checklist items are returned, which is useful scope information, but it does not add richer behavioral context such as pagination, permissions, or output shape.

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 is a single front-loaded sentence with no wasted words. It states the action and scope immediately and is appropriately sized for a simple read tool.

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?

Annotations cover the safety profile and an output schema exists, so the description need not explain return values. However, with 0% schema description coverage and no parameter explanation in the description, the definition is only minimally complete for correctly invoking the tool with the required identifiers.

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%, and the description does not mention card_id or checklist_id at all. While the parameter names are somewhat self-explanatory, the description fails to compensate for the missing schema documentation by clarifying what those identifiers refer to or require.

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?

The description gives a specific verb ('Read'), resource ('card checklist'), and scope ('all its items'), so the agent knows exactly what operation is performed. However, it does not explicitly distinguish this tool from the sibling kaiten_list_checklists, which could also surface checklist-related data, so it falls short of 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 Guidelines2/5

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

The description contains no when-to-use guidance, prerequisites, or named alternatives. It implies that this is the tool for reading a single checklist with its items, but provides no explicit context for choosing it over sibling list or get tools.

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

kaiten_get_current_userA
Read-onlyIdempotent

Identify the user associated with the configured Kaiten token.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that identity is derived from the configured token rather than a parameter, but says nothing about failure modes with an invalid/expired token. Minor added value over the annotations.

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?

A single front-loaded sentence with no filler; the key qualifier (configured token) arrives immediately after the verb.

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?

An output schema exists, so the description need not explain the returned user fields, and a no-argument tool needs little more than the identity-source statement it provides. It stops just short of noting token/auth requirements or what happens on an invalid token.

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?

The tool takes zero parameters, so the baseline is 4. The description correctly signals that no identifying argument is needed because the token supplies the identity, which is the only semantic point worth making here.

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?

States a specific verb ('Identify') and resource ('the user associated with the configured Kaiten token'), so it is immediately distinguishable from the sibling kaiten_list_users, which enumerates users rather than resolving the token's own identity.

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?

The framing 'associated with the configured Kaiten token' implies the usage context (self-introspection, no user id supplied), but there is no explicit statement of when to prefer this over kaiten_list_users or any prerequisites such as needing a valid token. Adequate but leaves routing to inference.

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

kaiten_get_custom_propertyB
Read-onlyIdempotent

Read a custom property definition and type-specific settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered elsewhere. The description adds only the useful hint that type-specific settings are returned depending on the property type; it says nothing about auth needs, error behavior, or access scope.

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?

One short sentence, front-loaded with the verb and resource, no filler. Nothing to trim.

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?

An output schema exists, so return structure needn't be explained, and the input is a single obvious identifier. The only real gap is the absence of any selection guidance versus the list sibling, which keeps this from being fully complete.

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 0% and the description says nothing about the single required parameter. However, property_id is a self-describing identifier constrained by the schema (positive integer), so the name plus type carries nearly all the meaning an agent needs. The description contributes nothing extra here.

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?

Clear verb+resource: 'Read a custom property definition' names exactly what is fetched, and 'and type-specific settings' signals the payload varies by property type. It is implicitly distinct from the sibling kaiten_list_custom_properties, though it never states that contrast explicitly.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or named alternative is given. The agent can infer this is the single-item counterpart to kaiten_list_custom_properties, but the description does not say so or specify when to prefer one over the other.

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

kaiten_get_spaceB
Read-onlyIdempotent

Get a space and its available board references.

ParametersJSON Schema
NameRequiredDescriptionDefault
space_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds useful scope information (it also returns available board references), but says nothing about permissions, error behavior, or pagination of those references.

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?

A single short sentence with the operation and returned scope front-loaded. No filler, nothing that could be trimmed without losing information.

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?

A simple read-only single-resource fetch with an output schema, so return-value detail is not required from the description. Annotations carry the safety profile and the description states the response scope; only the sparse parameter documentation leaves a small gap.

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% and the description never mentions space_id, so it does not compensate for the missing documentation. The sole parameter is a single obvious identifier, which limits the practical damage, but the description adds no meaning beyond the property name and integer constraints.

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?

Specific verb+resource: 'Get a space' clearly identifies a single-resource fetch, distinguishable from the sibling kaiten_list_spaces. It also scopes the return ('and its available board references'). It stops short of explicitly naming the list sibling, so it isn't a full 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 only implied: an agent can infer this is the right call when it already has a space_id and needs that space's details rather than a listing. There is no explicit when-to-use, prerequisite, or named alternative (kaiten_list_spaces / kaiten_get_board).

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

kaiten_list_boardsB
Read-onlyIdempotent

List boards in a space. Pagination is applied locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
space_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely useful behavior beyond them: 'Pagination is applied locally,' which tells the agent limit/offset are applied client-side rather than server-side and therefore behave differently than expected for a remote list endpoint.

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?

Two short sentences with zero filler, and the core scope ('which boards') is front-loaded ahead of the pagination note. It is tight and readable; the brevity is a small liability only in the separate completeness dimension.

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, so return values need not be described. However, with zero schema descriptions on three parameters and no sibling routing, the definition is only minimally complete for an agent that has to supply space_id and reason about limit/offset.

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% for 3 parameters, so the description carries the full burden. It only implicitly colors space_id ('in a space') and alludes to pagination without explaining limit/offset semantics, defaults, or ranges, leaving the parameter gaps largely unfilled.

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?

The description states a specific verb and resource ('List boards') and names the scope ('in a space'), so an agent knows exactly what it returns. It does not explicitly distinguish itself from close siblings like kaiten_get_board or kaiten_list_spaces, so it stops short of 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 Guidelines2/5

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

There is no when-to-use/when-not guidance and no mention of alternatives. The 'in a space' phrasing implies the space_id prerequisite, but the agent gets no help deciding between this and kaiten_list_spaces or kaiten_get_board.

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

kaiten_list_card_membersB
Read-onlyIdempotent

List card memberships. Use the returned id as member_id and user_id to identify the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered structurally. The description adds only that the returned id is used as member_id/user_id, which is minor extra context; it says nothing about pagination or result volume.

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?

Two short sentences with the purpose front-loaded and no padding. The second sentence verges on restating return-value information that the output schema already provides, but it is brief enough not to cost much.

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, so return values need not be explained, and annotations cover safety. Still missing is any hint about pagination behavior and the meaning of the sole required parameter, which for a list endpoint is a meaningful gap.

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 three parameters (card_id, limit, offset) and the description compensates for none of them. It never explains what card_id refers to or how limit/offset shape the result, so the pagination semantics remain entirely undocumented.

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 clear verb+resource ('List card memberships') that is readily distinguished from the sibling mutations add_card_member, update_card_member_role and remove_card_member. It does not, however, explicitly name or contrast against any sibling.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no alternatives offered. The second sentence describes what to do with the result rather than when to select this tool over others such as kaiten_get_card.

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

kaiten_list_card_tagsB
Read-onlyIdempotent

List tags attached to a card. Pagination is applied locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description does add genuinely non-obvious context with "Pagination is applied locally," implying the full tag set is fetched and sliced client-side (cost/latency implications), but it does not explain what that means for limit/offset behavior or truncation.

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?

Two short, front-loaded sentences with no filler; the core action comes first and the pagination caveat second. It is arguably under-specified rather than bloated, which is a completeness issue rather than a structure issue.

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, so return values need not be described. But for a three-parameter tool with 0% schema coverage and a notable local-pagination behavior, the definition leaves the agent guessing about parameter semantics and how local pagination affects results, which is only partly resolved by the annotations.

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% for all three parameters (card_id, limit, offset), so the schema gives an agent only types and bounds, not meaning. The description touches on limit/offset only obliquely via "pagination is applied locally" and says nothing about card_id's role, units, or the default/max of 25/100, so it fails to compensate for the coverage gap.

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?

The description gives a specific verb and resource ("List tags attached to a card"), and the card-scoping phrase implicitly separates it from the sibling kaiten_list_tags, which lists tags globally. However, it never names that sibling or states the distinction explicitly, so the differentiation is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives such as kaiten_list_tags (all tags) or kaiten_add_card_tag/kaiten_remove_card_tag for mutation. The only contextual note, "Pagination is applied locally," is a behavioral note rather than usage routing.

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

kaiten_list_card_typesC
Read-onlyIdempotent

List existing card types.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds nothing beyond that – no pagination notes, no note on what a card type represents or how the returned set is scoped.

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?

A single short sentence with no filler, appropriately sized for a simple list operation. It is front-loaded and wastes nothing, though there is so little content that conciseness is almost trivial.

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?

The tool is simple, an output schema exists so return values need no explanation, and annotations cover the safety profile. Still, the description omits pagination behavior and any hint of what a 'card type' is used for in the workflow, leaving it minimally adequate.

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%: limit (default 25, max 100) and offset (default 0) are typed but semantically undocumented, and the description says nothing about them. With two pagination parameters whose behavior is entirely unexplained, the description fails to compensate for the coverage gap.

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 clear verb ('List') and resource ('card types'), so an agent knows exactly what the tool returns. It does not differentiate itself from the many sibling list tools (kaiten_list_boards, kaiten_list_tags, kaiten_list_columns) that share the same shape, so it stops short of 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 Guidelines2/5

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

There is no guidance on when to call this versus alternatives, nor any preconditions. The agent is left to infer that card types are a distinct taxonomy resource unrelated to boards, columns, or tags.

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

kaiten_list_catalog_valuesC
Read-onlyIdempotent

Find existing catalog values. Assign a catalog value ID as a string in card properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only that results feed into a string value ID in card properties; it does not mention pagination behavior despite limit/offset parameters being present.

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?

Two short sentences, front-loaded with the core action and no filler. It is efficient, though the second sentence mixes a usage note into what could be a scoping statement.

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

Completeness2/5

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

An output schema exists so return values need no explanation, and annotations cover safety. However, with four undocumented parameters at 0% schema coverage and three look-alike list tools in the sibling set, the description leaves the agent without enough to filter or page results 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 four parameters, so the description must compensate and does not. It never explains property_id (the required filter), query, limit, or offset; the only flavor it adds — that value IDs are strings in card properties — does not map to any declared parameter.

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

Purpose3/5

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

The verb "Find" plus resource "catalog values" states what the tool returns, but it is vague and does not distinguish this tool from near-identical siblings like kaiten_list_select_values or kaiten_list_custom_directory_records. An agent cannot tell from the description alone why it would pick this over those.

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?

No explicit when-to-use or when-not-to-use guidance is given. The second sentence implies a downstream workflow (take a returned value ID and set it on a card property), which is a useful usage hint but stops short of naming alternatives or prerequisites.

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

kaiten_list_checklistsA
Read-onlyIdempotent

List checklist references on a card. Fetch item details with kaiten_get_checklist.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the response contains references rather than full item payloads — but says nothing about pagination behavior or result ordering.

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?

Two short sentences, front-loaded with the primary action and followed immediately by the routing pointer. No filler, nothing that could be cut.

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?

An output schema exists, so return-value detail is unnecessary, and annotations cover the safety profile. The only real shortfall is the absence of any pagination or card_id guidance for a tool with three undocumented parameters.

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%, so the description carries the burden of explaining card_id, limit and offset, and it explains none of them. 'On a card' loosely implies the card_id input, but the pagination parameters and their defaults/bounds are left entirely undocumented.

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?

States a specific verb and resource ('List checklist references on a card') with the scope of the listing made explicit. The phrase 'references' plus the pointer to kaiten_get_checklist cleanly separates it from the sibling that returns full checklist contents.

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?

Explicitly names the alternative (kaiten_get_checklist) and the condition that selects it (when you need item details). It does not, however, state when not to use this tool or what the references alone are good for, so guidance is clear but not exhaustive.

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

kaiten_list_columnsB
Read-onlyIdempotent

List columns on a board in Kaiten order. Pagination is applied locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral fact — that pagination is applied locally rather than server-side — but says nothing about ordering guarantees beyond "Kaiten order", failure modes, or result shape.

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?

Two short, front-loaded sentences with zero filler. The purpose comes first and the pagination caveat second, which is exactly the right ordering.

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?

An output schema exists, so return values need not be explained, and the annotation set covers the safety profile. What remains is minor: no usage routing among siblings and no parameter-level detail, but for a simple read-only list tool this is nearly sufficient.

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%, so the description must carry parameter meaning and largely does not. It only hints at pagination (mapping loosely to limit/offset) and never clarifies what board_id refers to or how limit/offset interact.

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 ("List columns on a board") and adds the meaningful scoping detail "in Kaiten order". It is clearly distinguishable from list_lanes/list_boards by the resource noun, though it never names a sibling to reinforce the distinction.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is given. An agent must infer from the name alone that this is the correct tool for enumerating a board's columns rather than any of the other list_* siblings.

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

kaiten_list_commentsA
Read-onlyIdempotent

Read card comments. Full comment text is preserved; pagination is applied locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond them: 'Full comment text is preserved; pagination is applied locally,' which tells the agent that offset/limit are applied client-side rather than pushed to the server, a non-obvious and useful trait.

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?

Two short sentences, zero waste, with the resource stated first and the important pagination caveat second. Nothing extraneous.

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 so return values needn't be described, and annotations cover safety. However, with 0% parameter description coverage and no usage guidance, a reader still cannot confirm what card_id accepts or when/why to paginate; the definition is minimally adequate.

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 0% across all three params, so the description must compensate. It partially does by hinting that pagination is applied locally (clarifying limit/offset behavior), but card_id and the exact semantics of limit/offset defaults and bounds are left undocumented.

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+resource: 'Read card comments'. This distinguishes it from sibling write tools (kaiten_add_comment, kaiten_update_comment, kaiten_delete_comment) via the explicit read framing. No explicit sibling comparison, but the read/list intent is unambiguous.

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

Usage Guidelines2/5

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

No statement of when to use this tool versus alternatives, no prerequisites as to which card must exist, and no guidance on when offset/limit are useful. The agent must infer usage entirely.

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

kaiten_list_custom_directoriesB
Read-onlyIdempotent

Find existing custom directories with field definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The only added context is that results include field definitions; nothing is said about pagination despite limit/offset parameters existing.

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?

A single short sentence, front-loaded with the action and resource, with no wasted words. Its brevity is efficient, though it edges toward under-specification rather than true conciseness.

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, so return-value details are not required. However, for a paginated list tool sitting among near-identical siblings, the description omits pagination semantics, query semantics, and any sibling disambiguation, leaving real gaps.

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% for three parameters (limit, query, offset), so the description must compensate and it does not — it never explains what `query` filters on or that limit/offset paginate the results. Per the low-coverage rule, the description falls short of the burden.

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+resource (find custom directories) and adds that results carry field definitions, which distinguishes it from a bare list. It does not, however, differentiate itself from the closely named sibling kaiten_list_custom_directory_records or kaiten_list_custom_properties.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the sibling list_custom_directory_records that an agent could easily confuse this with. The agent must infer usage purely from the name.

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

kaiten_list_custom_directory_recordsC
Read-onlyIdempotent

Find records in an existing custom directory. Assign record UUIDs as an array in card properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
directory_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safe read-only identity is covered. The description adds a useful hint that the returned record UUIDs are intended to feed into card properties (linking conceptually to kaiten_set_card_properties), but says nothing about pagination behavior of limit/offset or result shape.

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?

Two brief sentences with the primary purpose front-loaded and no filler. The second sentence is slightly misplaced since it describes a follow-on action rather than this tool, but it is short and not bloated.

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

Completeness2/5

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

An output schema exists, so return format need not be explained, but with four parameters at 0% coverage and no usage routing, the definition is thin. It omits how to obtain directory_id, what query filters, and how pagination works, leaving real gaps for an agent that must call it 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%, so all four parameters (directory_id, query, limit, offset) are undocumented by the schema. The description only alludes to UUIDs (matching directory_id's format) and gives no meaning for query, limit, or offset, so an agent cannot tell that 'query' is a search filter or that offset paginates.

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 ('Find records in an existing custom directory'), which distinguishes it from the sibling kaiten_list_custom_directories that lists the directories themselves. However, the tool name is kaiten_list_custom_directory_records while the description says 'Find', and it never explicitly differentiates itself from kaiten_list_catalog_values or kaiten_list_select_values.

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

Usage Guidelines2/5

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

No guidance on when to use this versus kaiten_list_custom_directories (to resolve the directory_id it requires) or the other list_* value tools. The second sentence describes a downstream workflow ('Assign record UUIDs as an array in card properties') rather than conditions for calling this tool, so it reads more like an implementation note than usage direction.

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

kaiten_list_custom_propertiesB
Read-onlyIdempotent

Find existing custom property definitions. Inspect type, multi_select and data before assigning values.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety profile. The description adds only the note that returned definitions carry type/multi_select/data fields worth checking — modest extra context, no pagination or auth behavior.

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?

Two short sentences, front-loaded with the action and followed by the practical note. No filler, though the extreme brevity contributes to the parameter-content gap rather than resolving it.

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?

Output schema exists, so return values need not be described, and the description does mention which output fields matter. The remaining gap is that three parameters go entirely unexplained, which is a real but bounded omission for a simple list tool.

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% and the description never mentions limit, offset, or query. Query in particular is ambiguous (does it filter by name? by type?) and the description does nothing to compensate for the fully undocumented schema.

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+resource: 'Find existing custom property definitions.' This clearly separates it from the sibling kaiten_get_custom_property (singular fetch) and from kaiten_set_card_properties (write). It does not explicitly name those siblings, so it falls short of 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?

'Inspect type, multi_select and data before assigning values' implies the workflow context (use this ahead of assignment), but never names the assignment tool or states when-not to use this. Usage is implied rather than spelled out.

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

kaiten_list_lanesB
Read-onlyIdempotent

List lanes on a board. Pagination is applied locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds one genuinely useful behavioral fact — pagination is applied locally rather than server-side — which affects how limit/offset behave and is not derivable from annotations.

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?

Two short sentences, front-loaded with the purpose and with zero filler. It is efficient, though the size is arguably too lean for a tool whose parameters are entirely undocumented.

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?

This is a low-complexity read tool with full annotation coverage and an output schema, so return values and safety need not be described. The remaining gaps — an unexplained board_id and no guidance on the local pagination trade-off (fetch-all cost, when to set limit/offset) — leave it only minimally adequate.

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 three parameters, so the description carries the full burden and largely fails it: board_id, limit and offset are never explained. The 'pagination applied locally' note indirectly hints at limit/offset semantics but gives no ranges, defaults, or meaning for board_id.

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?

The description names a specific verb and resource ('List lanes on a board'), which is unambiguous and matches the tool name. It does not, however, relate itself to siblings like kaiten_list_columns or kaiten_get_board, so the agent must infer the board-scoped hierarchy on its own.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives, nor any prerequisite beyond the implicit need for a board_id. Usage is only implied by the tool name and the required parameter.

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

kaiten_list_select_valuesC
Read-onlyIdempotent

Find existing select options. Card values use an array of numeric option IDs, including single-select properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
property_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

C2.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds real context that card values are arrays of numeric option IDs, useful for piping results into kaiten_set_card_properties, but it says nothing about pagination or that results are scoped to a single property.

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?

Two short sentences with the operation front-loaded and no filler. The second sentence is slightly tangential to invocation but is short enough not to hurt.

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

Completeness2/5

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

With an output schema present, return values needn't be explained, but for a four-parameter tool with zero schema descriptions the omission of property_id, filtering and pagination context leaves the definition inadequate for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0% across four parameters, and the description supplies no parameter meaning whatsoever: property_id, query, limit and offset are all unaddressed. An agent must infer that property_id scopes the lookup and that query/limit/offset control searching and paging.

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

Purpose3/5

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

The verb+resource ('Find existing select options') is identifiable, but the description never says these options belong to a custom property, which is the required parameter and the core of the tool's identity. It also gives no basis for distinguishing it from siblings like kaiten_list_catalog_values or kaiten_list_custom_properties.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool, no prerequisites, and no mention of alternatives such as listing custom properties or catalog values first. The second sentence describes how option IDs are consumed elsewhere rather than when to use this tool.

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

kaiten_list_spacesB
Read-onlyIdempotent

List accessible Kaiten spaces. Use their IDs to discover boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the 'accessible' permission-scoping note, which is useful, but says nothing about pagination behavior despite limit/offset parameters. Modest added value over annotations.

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?

Two short, front-loaded sentences with no redundancy or filler. The action is stated first and the downstream use second.

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, so return values need not be described, and the tool is a simple list operation. However, for a paginated endpoint the description omits any mention of limit/offset or result-set behavior, leaving a real gap given 0% parameter coverage.

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% for the two parameters (limit, offset), and the description adds no information about them at all. Since the schema only supplies type, default, and bounds, the description fails to compensate for the coverage gap on a paginated list tool.

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 ('List accessible Kaiten spaces') with a scope qualifier ('accessible'). It does not explicitly contrast with the sibling kaiten_get_space, but the second sentence routes the agent toward board discovery, making the tool's place in the hierarchy reasonably clear.

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?

'Use their IDs to discover boards' gives implied workflow guidance for what to do after the call, but there is no explicit when-to-use vs. alternatives statement (e.g., use kaiten_get_space when you already have an ID). The context is implied rather than stated.

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

kaiten_list_tagsC
Read-onlyIdempotent

Find tags by name, optionally within a space.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo
space_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds only the space-scoping behavior and nothing about pagination behavior, result ordering, or search matching semantics. With annotations doing the heavy lifting, this is a baseline 3.

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?

A single short sentence, front-loaded with the core action and no filler. It is efficient if slightly under-specified, which is a completeness problem rather than a verbosity one.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but the description leaves pagination (limit/offset) entirely undocumented at 0% schema coverage, and offers no usage context against the many sibling list tools. For a four-parameter search tool this is too thin.

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 all four parameters. The description accounts for two of them ('by name' → query, 'within a space' → space_id) but says nothing about limit or offset, including the fact that results are paged. It does not compensate for the coverage gap.

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 clear verb+resource: 'Find tags by name'. It distinguishes itself from kaiten_list_card_tags (tags attached to a card) reasonably well, since it scopes to a tag search rather than a card's tags. It is not maximally specific — it doesn't make the listing/search duality explicit — but an agent can identify the operation.

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

Usage Guidelines2/5

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

The phrase 'optionally within a space' hints that space scoping is available, but there is no when-to-use guidance, no conditions, and no reference to sibling tools like kaiten_list_card_tags or kaiten_add_card_tag. The agent must infer context entirely.

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

kaiten_list_usersB
Read-onlyIdempotent

Find company users by query to obtain user IDs for ownership and membership.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_offsetYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description adds that this is a lookup that yields IDs, but says nothing about pagination behavior or how many users come back by default, which matters given the limit/offset parameters.

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?

A single tight sentence with the purpose front-loaded and no filler. It is appropriately sized for a simple lookup tool, though the trailing rationale could be trimmed without losing meaning.

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 so return values need not be explained, and annotations cover safety. However, for a paginated lookup the description omits paging guidance and does not clarify that query is optional (0 required parameters), leaving a real gap for correct invocation.

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 three parameters, so the description must carry the load. It only hints at 'query'; the limit (default 25, max 100) and offset pagination parameters are entirely undocumented in both schema and description, and the description implies query is the mechanism even though it is optional.

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?

The description pairs a specific verb ('Find') with a specific resource ('company users') and states the downstream purpose (obtaining user IDs for ownership/membership). It is distinguishable from kaiten_get_current_user, though it never names that sibling or the other list_* lookups it could be confused with.

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?

'Find company users by query to obtain user IDs for ownership and membership' implies the context of use (you need an ID to assign ownership or add a member) but gives no explicit when-to-use versus when-not, and no alternative such as kaiten_get_current_user or kaiten_list_card_members.

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

kaiten_move_cardA
Destructive

Move a card to an explicit board, column and lane. Obtain valid target IDs using the navigation tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
lane_idYes
board_idYes
column_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), so the agent knows this is a destructive, non-idempotent mutation. The description adds only the operational hint that valid IDs are required, implying failure on bad IDs, but says nothing about repositioning side effects, cross-board moves, or error behavior. Adequate but thin against an already-covered annotation set.

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?

Two sentences, front-loaded with the operation and followed by the prerequisite. No filler, every clause earns its place.

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?

An output schema exists, so return values need no explanation, and annotations carry the safety profile. For a 4-parameter move operation the description covers purpose, targets and ID sourcing; only edge-case behavior (invalid IDs, already-in-position cards, reordering effects) is unstated.

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 description coverage is 0%, so the bare integer fields would otherwise be opaque. The description maps all four parameters to concepts (a card plus an explicit board, column and lane), which is meaningful compensation. It still omits constraints such as the positive-integer requirement, but the semantic mapping is the key information the schema lacks.

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?

The description states a specific verb (Move) and resource (card) and names the three target coordinates (board, column, lane), so an agent understands the operation without opening the schema. It is clear but does not explicitly distinguish itself from the transform-style siblings like kaiten_update_card, which could also reposition a card.

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?

"Obtain valid target IDs using the navigation tools" gives concrete prerequisite guidance, effectively routing the agent to kaiten_list_boards / kaiten_list_columns / kaiten_list_lanes before calling. It stops short of an explicit when-not or an alternative such as update_card, so it is clear context without exclusions.

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

kaiten_remove_card_memberC
Destructive

Remove a membership from a card using its member_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
member_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond restating the mutation, saying nothing about permanence, permission requirements, or what a repeated call does.

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?

A single efficient sentence with the action front-loaded and no filler. Brevity here is appropriate, though it is arguably under-specified rather than purely concise.

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, so return values need not be described, and annotations carry the destructive/idempotency profile. Still, with two undocumented parameters and no usage routing, the definition is only minimally sufficient for correct invocation.

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 coverage is 0%, so both integer parameters are undocumented in the schema, yet the description only alludes to member_id and says nothing about card_id (or that member_id refers to the user, not the membership record). It fails to compensate for the coverage gap.

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 (remove) and resource (membership from a card) plus the disambiguating mechanism (member_id), which lets an agent separate it from kaiten_add_card_member and kaiten_update_card_member_role. It never names a sibling explicitly, so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the obvious complementary tool (kaiten_add_card_member) or when removal vs. role update is appropriate. The agent must infer usage entirely from the name.

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

kaiten_remove_card_tagC
Destructive

Detach a tag from a card using tag_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
tag_idYes
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not say what happens to the tag itself, whether the call fails when the tag is not attached, or what permissions are needed.

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?

A single front-loaded sentence with no filler; the verb and the tag_id mechanism come first. It is efficient, though it errs toward under-specification rather than verbosity.

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, so return values need not be explained, and annotations cover the mutation/destructive profile. What remains missing for a two-parameter destructive tool is any mention of card_id, idempotency behavior, or failure semantics.

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% on two required integer parameters, so the description carries the burden and only partially meets it — it names tag_id but never mentions card_id, the other required parameter. No format, range, or lookup guidance (e.g., where to obtain tag_id) is supplied.

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 (detach) and resource (tag from a card), which cleanly distinguishes it from the sibling kaiten_add_card_tag without naming it. The addition of 'using tag_id' narrows the mechanism further. It stops short of a 5 only because it never names the contrasting sibling explicitly.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus kaiten_add_card_tag, kaiten_list_card_tags, or kaiten_delete_card, nor any precondition such as the card already having the tag. Usage is only inferred from the verb 'detach'.

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

kaiten_restore_cardB
Destructive

Restore an archived card to its live condition.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare write, non-idempotent, open-world, and destructive behavior, so the description carries less burden. It adds the archived-to-live state outcome, which is useful, but omits permission requirements, failure behavior for non-archived cards, and any explanation of why the destructive hint applies to a 'restore' operation.

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?

It is a single front-loaded sentence with no wasted words, appropriately sized for a one-parameter operation. The only shortfall is that such brevity leaves no room for precondition or failure context.

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, so return values need not be described, and the annotations cover the safety profile. However, for a mutation tool the description still lacks precondition/failure behavior and parameter explanation, leaving it adequate but incomplete.

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%, so the schema does not document card_id, and the description only implicitly ties the operation to the card via 'an archived card.' It adds no format, constraints, or meaning beyond the self-evident parameter name, failing to compensate for the coverage gap.

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?

The description pairs a specific verb ('Restore') with a specific resource ('an archived card') and states the resulting state ('live condition'), so an agent can distinguish it from archive/delete/update siblings without opening the schema. It stops short of explicitly naming the inverse sibling or clarifying where the card is restored to, so it is clear but not maximally differentiated.

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

Usage Guidelines2/5

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

The phrase 'archived card' weakly implies the precondition, but there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., use update_card for non-archived cards). It provides no guidance on what to do if the card is already live or how this relates to kaiten_archive_card.

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

kaiten_search_cardsA
Read-onlyIdempotent

Search cards with filters. Returns summaries and a cursor; reuse the same filters with next_cursor. Fetch details with kaiten_get_card.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
itemsYes
next_cursorYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the result is a summary set with a cursor, and pagination requires resubmitting identical filters. No mention of result limits or filtering semantics, so not a 5.

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?

Three tight sentences, front-loaded with the purpose before pagination and the sibling pointer. Every clause earns its place with no filler.

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

Completeness2/5

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

With an output schema present, return-value detail is not owed, but an 18-parameter filter tool with zero schema descriptions needs the description to compensate and it does not. An agent knows how to paginate but not how to construct any of the filters.

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 fails to explain any of them (asap, states, overdue, lane_id, due_date_after, etc.). It references a "next_cursor" while the actual parameter is named "cursor", which could actively mislead about the field name.

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 ("Search cards with filters") and explicitly delimits scope by noting it returns summaries rather than full records. It also names the sibling kaiten_get_card for detail retrieval, making the distinction from that tool clear.

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?

Gives clear operational guidance: reuse the same filters with the cursor for pagination, and use kaiten_get_card when full details are needed. It stops short of stating when-not to use this tool or how it relates to the many other list_* siblings, but the core routing guidance is present.

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

kaiten_set_card_propertiesA
Destructive

Set existing card properties using id_ keys. Omitted properties remain unchanged; null clears a value. Use native Kaiten formats: scalar text/number, select ID arrays, catalog string ID, directory UUID arrays, or a date object with date/time/tzOffset. Definitions and options are read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful behavior: merge semantics ('omitted properties remain unchanged'), explicit null-clears-a-value destructive behavior, and the read-only nature of definitions. This meaningfully extends beyond the annotations.

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?

Four short sentences, front-loaded with the core action, then merge/null semantics, then value formats, then a read-only caveat. Dense but every clause carries information; no filler.

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?

An output schema exists, so return values need no explanation. The description covers the mutation model, partial-update behavior, and payload formats, which is enough for an agent to invoke it correctly. Only the lack of guidance on sourcing valid property IDs/options keeps it from being fully self-sufficient.

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 0%, so the description must carry the param burden, and it does: it explains the id_<propertyId> key pattern for the properties object and enumerates accepted value shapes (scalar text/number, select ID arrays, catalog string ID, directory UUID arrays, date object with date/time/tzOffset). card_id is left unexplained but is self-evident and validated in the schema.

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: 'Set existing card properties', and the id_<propertyId> key convention makes clear it operates on custom properties rather than core card fields. It doesn't explicitly name or route against siblings like kaiten_update_card, so it stops short of full differentiation.

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 'Set existing card properties', and 'Definitions and options are read-only' hints that property metadata must come from elsewhere. But there is no explicit when-to-use/when-not guidance or named alternative such as kaiten_list_custom_properties for discovering valid IDs.

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

kaiten_update_cardA
Destructive

Update the supplied card fields. Omitted fields remain unchanged; null clears supported fields. Description uses Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
changesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already flag it as destructive, non-idempotent and open-world, so the safety profile is covered. The description adds real behavioral value that annotations cannot express: partial-update semantics, the null-clears convention, and the Markdown handling of the description field. It stops short of saying which fields actually accept null, leaving that ambiguous.

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?

Three short, front-loaded sentences, each carrying distinct information: the action, the update semantics, and a formatting note. Nothing is redundant or padded.

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, so return values need not be explained. However, for a destructive mutation with a nested changes object and zero schema descriptions, the definition omits which fields can be nulled, permission requirements, and how the change set interplays with siblings like kaiten_set_card_properties.

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% and the nested changes object exposes six properties with no inline documentation, yet the description only clarifies that the description field takes Markdown. card_id, the individual change fields, and the format for due_date/due_date_time_present are left entirely to the schema, so the description fails to compensate for the coverage gap.

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 (Update) and resource (card fields), which distinguishes it from siblings like kaiten_create_card, kaiten_move_card and kaiten_archive_card. It does not, however, contrast its scope with kaiten_set_card_properties, the closest sibling, so an agent must infer the boundary between core card fields and custom properties.

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?

The description gives useful update semantics (omitted fields unchanged, null clears supported fields) but no explicit when-to-use guidance, prerequisites, or naming of alternatives such as kaiten_set_card_properties or kaiten_move_card for the cases this tool does not cover. Usage is only implied.

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

kaiten_update_card_member_roleB
Destructive

Make a card member responsible with type 2. Use the membership id returned by list_card_members. Returns card_id, user_id and type.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
card_idYes
member_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare non-readOnly, destructive, non-idempotent and open-world, so the safety profile is covered. Given destructiveHint=true, the description should clarify what is destroyed — e.g. whether the previously responsible member is demoted — but it says nothing, and it does not explain permission requirements or side effects.

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?

Two short sentences with the action and its effect front-loaded, and the id-sourcing hint immediately after. No filler, though 'Returns card_id, user_id and type' is wasted given an output schema already exists.

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?

The output schema means return values need not be restated (they are, redundantly). The remaining gap is behavioral: for a destructive, non-idempotent mutation on card membership, the description omits what happens to the prior responsible member and any permission constraints, leaving the agent under-informed on consequences.

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 description coverage is 0%, so the description must carry the load, and it does disambiguate the critical parameter: 'member_id' is actually the membership id from list_card_members, not a user id. It also explains that type 2 means 'responsible'. card_id is left unaddressed but is self-evident.

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+resource combination ('Make a card member responsible') plus the concrete resulting role value (type 2), which separates it from kaiten_add_card_member (adds) and kaiten_remove_card_member (removes). It does not explicitly name those siblings, so it falls short of the top band.

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?

It routes the agent to the correct source for one input ('Use the membership id returned by list_card_members'), which is genuinely useful. However, it never states when this role change is appropriate versus when not, nor does it name the alternative member-management siblings, so usage remains implied.

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

kaiten_update_checklistC
Destructive

Change a checklist name or order.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
changesYes
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say whether omitted fields in 'changes' are preserved, whether the rename is visible to other users, or why a rename is flagged destructive — a mild tension the description never reconciles.

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?

A single nine-word sentence with the verb and the mutable fields front-loaded and zero waste. It is efficient, though arguably under-specified rather than merely concise for a tool with a nested parameter object.

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

Completeness2/5

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

With three required parameters, a nested object, 0% schema coverage and a destructive annotation, the description is too thin — no prerequisites, no field-optionality, no confirmation of what a partial 'changes' payload does. The presence of an output schema excuses it from explaining return values, but little else is covered.

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 0%, so the description must carry the load. It does map the nested 'changes' object onto its two real fields ('name' and 'order'/'sort_order'), which is the most important semantic. However it never mentions card_id/checklist_id, does not say which nested fields are optional, and gives no value format for sort_order.

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 ('Change') and resource ('checklist name or order'), which distinguishes it from the many sibling item-level tools like kaiten_update_checklist_item. It does not explicitly name a sibling or note that it does not touch the checklist's items, so it stops short of 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 Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g., the card must be known), and no mention of alternatives such as kaiten_update_checklist_item or kaiten_delete_checklist. The agent must infer usage entirely from the name.

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

kaiten_update_checklist_itemB
Destructive

Change checklist item fields. checked marks completion; null clears text, due_date or responsible_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYes
changesYes
item_idYes
checklist_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already disclose destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the safety profile is covered. The description adds genuine behavioral value by stating that null clears text, due_date or responsible_id, clarifying this is a selective partial update. It omits permission requirements and whether omitted fields are left unchanged.

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?

Two short, front-loaded sentences with no filler. The functional statement leads and the semantic caveat about null follows, though the second sentence could be slightly more explicit about what is not cleared.

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 so return values need no explanation, and annotations carry the safety profile. Still, for a tool with four required identifiers and a nested changes object at 0% schema coverage, the description leaves key parameter meanings and update semantics (e.g. sort_order, omitted-field behavior) unspecified.

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 0%, so the burden falls on the description, which does explain the null-clearing semantics for text, due_date and responsible_id and the meaning of checked. However it ignores sort_order entirely and says nothing about card_id, checklist_id or item_id, leaving part of the nested changes object undocumented.

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 (change checklist item fields) with enough precision to distinguish it from kaiten_update_checklist and kaiten_add_checklist_item. It does not explicitly name sibling tools or scope the operation, but the resource is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as kaiten_update_checklist (whole checklist) or kaiten_add_checklist_item. Usage is only implied by the name and the field-level language.

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

kaiten_update_commentB
Destructive

Replace the text of an existing comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
card_idYes
comment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds one genuinely useful nuance — that the operation overwrites existing text rather than appending — but says nothing about permissions, reversibility, or error cases.

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?

A single well-formed sentence with the key action front-loaded and zero filler. It is tight, though arguably too terse given the tool's mutation nature.

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 annotations carry the safety profile, so the description need not explain return values. Still, for a destructive update on a comment, the absence of any permission or replacement-scope detail leaves a modest gap.

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 three required parameters, and the description mentions none of them. It gives no hint about card_id/comment_id scoping or the minLength=1 constraint on text, leaving the schema names to carry all meaning.

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 ('replace') and resource ('text of an existing comment'), which cleanly distinguishes it from siblings like kaiten_add_comment and kaiten_delete_comment. It does not explicitly name those alternatives, so it stops short of 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 Guidelines2/5

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

There is no guidance on when to use this versus kaiten_add_comment or kaiten_delete_comment, nor any prerequisites (e.g., ownership/permission to edit an existing comment). The agent must infer all usage context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 44 tool updatesv1.0.2
    • First observedkaiten_add_card_member
    • First observedkaiten_add_card_tag
    • First observedkaiten_add_checklist_item
    • First observedkaiten_add_comment
    • First observedkaiten_archive_card
    • First observedkaiten_create_card
    • First observedkaiten_create_checklist
    • First observedkaiten_delete_card
    • First observedkaiten_delete_checklist
    • First observedkaiten_delete_checklist_item
    • First observedkaiten_delete_comment
    • First observedkaiten_get_board
    • First observedkaiten_get_card
    • First observedkaiten_get_checklist
    • First observedkaiten_get_current_user
    • First observedkaiten_get_custom_property
    • First observedkaiten_get_space
    • First observedkaiten_list_boards
    • First observedkaiten_list_card_members
    • First observedkaiten_list_card_tags
    • First observedkaiten_list_card_types
    • First observedkaiten_list_catalog_values
    • First observedkaiten_list_checklists
    • First observedkaiten_list_columns
    • First observedkaiten_list_comments
    • First observedkaiten_list_custom_directories
    • First observedkaiten_list_custom_directory_records
    • First observedkaiten_list_custom_properties
    • First observedkaiten_list_lanes
    • First observedkaiten_list_select_values
    • First observedkaiten_list_spaces
    • First observedkaiten_list_tags
    • First observedkaiten_list_users
    • First observedkaiten_move_card
    • First observedkaiten_remove_card_member
    • First observedkaiten_remove_card_tag
    • First observedkaiten_restore_card
    • First observedkaiten_search_cards
    • First observedkaiten_set_card_properties
    • First observedkaiten_update_card
    • First observedkaiten_update_card_member_role
    • First observedkaiten_update_checklist
    • First observedkaiten_update_checklist_item
    • First observedkaiten_update_comment

TDQS

B3.2/5.0

Scored across 44 tools

Disambiguation4/5

Most tools target distinct resources and actions, and descriptions help. However, card modification has overlapping pathways: kaiten_update_card, kaiten_move_card, and kaiten_set_card_properties could be confused when changing placement or custom fields, and the several custom-field metadata list tools require domain knowledge to choose correctly.

Naming Consistency5/5

All tools use the kaiten_ prefix followed by consistent snake_case verb_noun names (list_, get_, create_, update_, delete_, add_, remove_, set_). The pattern is predictable and easy to scan.

Tool Count2/5

44 tools is well above the typical 3-15 range and heavy for an agent to hold in context. While the broad Kaiten domain explains the count, several granular groups (e.g., checklist items, card members, custom-field metadata) could be consolidated.

Completeness4/5

The server covers CRUD for cards, comments, checklists, members, tags, and custom property values, plus navigation of spaces, boards, columns, and lanes. It lacks attachments, card links/blockers, and time tracking, which are minor-to-notable gaps for a project management system.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Kaiten project management, providing 63 tools for managing cards, comments, checklists, time tracking, and more. Enables AI assistants to interact with Kaiten workspaces through natural language.
    63
    37 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage Kanban tasks, boards, teams, and checklists via natural language, with full CRUD operations and live updates.
    53 npm
    MIT