Skip to main content
Glama

Standup MCP Server

An MCP server that connects AI coding agents (Claude Code, etc.) to Standup — a kanban board app. Once connected, the agent can list boards, read and create cards, move cards between columns, manage assignees, and post comments, all through natural conversation.

Prerequisites

  • A Standup account with a Pro or Enterprise membership (required for API keys)

  • Node.js 18+

  • An MCP-compatible client (e.g. Claude Code)

Related MCP server: sanban

Setup

1. Create an API key in Standup

  1. Go to thestandup.app and log in

  2. Click the user menu (top-right) → API Keys

  3. Give your key a name (e.g. "Claude Code") and click Create

  4. Copy the key — it starts with sk- and is only shown once

2. Configure your MCP client

Claude Code

Run the following command, replacing sk-your-api-key-here with your API key from step 1:

claude mcp add standup \
  -e STANDUP_URL=https://www.thestandup.app \
  -e STANDUP_API_KEY=sk-your-api-key-here \
  -- npx -y thestandup-mcp

Then restart Claude Code for the server to connect.

Other MCP clients

The server uses stdio transport — any MCP client that can launch a subprocess will work. Set the STANDUP_URL and STANDUP_API_KEY environment variables and run:

npx -y thestandup-mcp

3. Verify the connection

Start a new Claude Code session and ask it to list your boards:

"List my standup boards"

You should see your boards returned. If you get an authentication error, double-check your API key.

Available tools

Tool

Description

list_boards

List all boards with name and column summary

create_board

Create a board from a template (blank or ai-software-development), with optional context and repository

get_board

Get a full board with columns, cards, context, and agents

get_board_summary

Compact board: columns with agents and one row per card (first line, assignees, stickers, work, comment count, last comment author and time), no comment bodies

create_card

Create a new card in a column

update_card

Update card text

delete_card

Delete a card

move_card

Move a card to a different column

assign_card

Assign a user, or a column agent as agent:<identifier>, to a card

unassign_card

Remove a user or column agent from a card

search_cards

Search for cards across all boards by text content

get_comments

Get all comments on a card

add_comment

Post a comment on a card (supports markdown, @mentions, clickable option buttons, and attribution to a column agent via agentId)

update_board_context

Set a board's project context and/or repository URL

update_column_agents

Replace a column's agents (send the full list)

set_card_work

Record where a card's work lives (repo path, branch, commits, pushed, PR link); merges with what's already recorded

Example usage

Once connected, you can interact with your boards in natural language:

  • "What's on my standup board?"

  • "Create a card in the To Do column: Refactor the auth middleware"

  • "Move the auth refactor card to In Progress"

  • "Add a comment to that card: Started work, estimating 2 hours"

  • "Assign me to the top card in In Progress"

Workflow conventions

The server includes built-in instructions that guide the AI agent to follow these conventions:

  • Assignment: each column agent assigns itself as agent:<identifier>; agents in the same column work in parallel

  • Priorities: resume cards handed back after a person replied, then take unfinished cards nobody is assigned to

  • Progress updates: add a comment (attributed with agentId) summarising what you did before unassigning, and record where code changes live with set_card_work (shown on the card)

  • Blockers: post a comment with clickable options, @mention the user and assign the card to them in place. Standup hands it back to the agent when they answer

  • Handed-back note: tool responses include a "Handed back to you" note while a card is waiting to be resumed

  • Pipeline flow: advance cards left-to-right through columns; reject by moving back with a comment

  • Running the pipeline: when asked to process a board, carry each card on through every agent column rather than stopping after one stage; board context is optional

  • Instruction length: Claude Code truncates server instructions at 4,096 characters, so a test keeps them under that limit

Keeping agents running

Agents only act while a session is running; Standup cannot start one. A card you hand back by replying or reassigning waits until a session next looks at the board. To have it picked up without asking, keep a session polling:

  • Claude Code: /loop 15m process the <board name> board

  • Other agents: a scheduler or cron job that starts the agent with the same prompt

Development

npm install
npm run build       # compile TypeScript
npm test            # run tests
npm run test:watch  # run tests in watch mode
npm run all         # type-check + test

License

MIT

Available Tools

23 tools
add_columnB

Add an empty column to a board

NameRequiredDescriptionDefault
nameYesThe column name
indexNoPosition among the columns (0-based). Defaults to the end.
boardIdYesThe board identifier

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It reveals that the new column is empty, which is useful, but does not disclose permissions, side effects on existing columns, whether the board must exist, or what happens on success. For a mutation tool with zero annotation coverage, this is a significant gap.

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 filler. Every word contributes to stating the action and the target resource, making it appropriately sized for a simple creation 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?

The tool is simple, and the schema covers all parameters with full descriptions, so an agent can determine the required inputs. However, with no annotations and no output schema, the description should ideally mention prerequisites or side effects. It is minimally adequate but leaves behavioral context thin.

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

Parameters3/5

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

Schema description coverage is 100%, so boardId, name, and index are fully documented in the schema, including the index default. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 applies.

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 an empty column to a board.' It clearly distinguishes add from sibling operations like rename_column, reorder_column, and delete_column. However, it does not explicitly name alternatives or scope boundaries, so it falls short of the highest clarity 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 guidance on when to use this tool versus alternatives such as reorder_column or update_column_agents. No prerequisites, exclusions, or usage context are provided. The agent must infer usage from the tool name alone.

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

add_commentB

Add a comment to a card, with optional @mentions and clickable option buttons

NameRequiredDescriptionDefault
textYesComment text (supports markdown)
cardIdYesThe card identifier
agentIdNoIdentifier of the column agent posting the comment, so it is attributed to that agent
boardIdYesThe board identifier
optionsNoClickable option buttons for structured questions
mentionsNoUsernames to @mention

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It reveals the optional @mentions and clickable option buttons, but says nothing about side effects such as notifying mentioned users, attribution behavior, or what the call returns.

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 core action comes first and the optional capabilities follow.

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?

For a six-parameter mutation tool with no annotations and no output schema, the description is thin – it omits permission requirements, side effects like notifications, and any indication of the return value. It is adequate to identify the action but not to call it confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented, including text markdown support, mentions, and options. The description merely repeats the mentions/options concepts, adding no syntax or format detail beyond 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?

The description states a specific verb and resource ('add a comment to a card') and names the two optional capabilities. It is clearly distinguishable from get_comments, though it doesn't explicitly note sibling relationships beyond the read/write split.

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, no prerequisites (e.g., board/card must exist), and no exclusions. Usage is only implied by the tool name and verb.

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

add_stickerB

Add a sticker (an emoji) to a card. Automatically finds the column containing the card.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier
stickerYesThe emoji, e.g. 👍

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states that it automatically finds the column containing the card, which is a useful behavioral detail, but it does not mention permissions, side effects, or what happens if the sticker already exists. This leaves significant gaps for a mutation tool.

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 two concise sentences with zero waste, front-loading the core action and then providing a key behavioral detail. Every sentence earns its place.

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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks information about required permissions, error conditions (e.g., invalid card or sticker), and whether the operation is idempotent. The automatic column-finding is helpful but insufficient for full contextual completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning about parameters beyond what the schema provides, so baseline 3 is appropriate.

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 'Add' and resource 'sticker (an emoji) to a card', which is clear and distinguishable from the sibling remove_sticker. It does not explicitly contrast with remove_sticker, but the action 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 Guidelines3/5

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

Usage is implied by the action 'Add a sticker to a card', but there is no explicit guidance on when to use this tool versus alternatives like add_comment or when not to use it. An agent must infer the context from the verb and resource.

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

assign_cardA

Assign a user or agent to a card. Adds to existing assignees without duplicates. Column agents are assigned as agent:.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier
assigneeYesUsername, or agent:<identifier> for a column agent

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses that assignment is additive ('adds to existing assignees without duplicates') and documents the 'agent:<identifier>' convention for column agents. It does not mention required permissions, what happens if the board/card does not exist, or the response, so it is not fully transparent.

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 sentences, front-loaded with the core action, then behavior, then the agent-format detail. No filler; every sentence carries 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?

For a simple three-parameter mutation with no output schema, the description covers the action, the additive/dedup behavior, and the agent identifier convention, which is most of what an agent needs. Missing elements are permission requirements and failure behavior, minor for a tool of this complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents cardId, boardId, and assignee. The description's mention of 'agent:<identifier>' mirrors the schema's assignee description, adding no new semantics beyond the structured field. Baseline 3 applies.

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: 'Assign a user or agent to a card.' An agent can immediately distinguish this from unassign_card or update_card. It does not explicitly name the sibling it contrasts with, 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 Guidelines3/5

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

Usage is only implied by the verb; there is no statement of when to use this versus unassign_card or update_card, no prerequisites, and no exclusions. The additive note hints at context but is behavioral, not routing guidance.

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

create_boardA

Create a board you own from a template: blank (Todo, In Progress, Done) or ai-software-development (Inbox, Triage, In Progress, Code Review, Testing, Done, with the default agents). Returns the new board with its column and agent identifiers.

NameRequiredDescriptionDefault
nameYesThe board name
contextNoBoard context: project background and constraints for agents
templateNoThe layout to start from. Defaults to blank.
repositoryNoGit URL of the repository the board works on

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose useful behavior beyond structured fields: the ai-software-development template provisions default agents, ownership is set to the caller, and the return contains column and agent identifiers. However, it omits permission/auth requirements, name-uniqueness constraints, and any failure modes for a persistent-state-creating 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?

Two sentences, front-loaded with the verb and the resource. The parenthetical template detail is long but earns its place by explaining a non-obvious side effect (agent provisioning); no filler sentences.

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

Completeness4/5

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

With no annotations and no output schema, the description compensates by naming what the return value contains (board, column, and agent identifiers) and what the templates create. What is missing is operational context such as required permissions or how ownership interacts with the other board tools.

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

Parameters4/5

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

Schema coverage is 100%, so baseline would be 3, but the description adds real meaning for the template parameter by enumerating the columns each option produces (Todo/In Progress/Done vs. Inbox/Triage/In Progress/Code Review/Testing/Done plus default agents). That is more than the schema's terse "The layout to start from. Defaults to blank."

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 (create a board) with an ownership qualifier ("you own") and explicitly names the two template variants. An agent can distinguish this from list_boards, get_board, and update_board_context without opening any schema.

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

Usage Guidelines3/5

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

Usage is implied by the creation semantics and the template enumeration, but there is no explicit when-to-use statement, no named alternative, and no prerequisites (e.g., permissions, whether a repository is required for the ai-software-development template). Adequate but leaves selection context to inference.

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

create_cardC

Create a new card in a column

NameRequiredDescriptionDefault
textYesThe card text
boardIdYesThe board identifier
columnIdYesThe column to create the card in

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says "Create a new card", which implies mutation, but gives no information about side effects (e.g., position in column, notifications, return value), permissions, or irreversibility. For a mutation tool with zero annotation coverage, this is a significant gap.

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 zero waste. It efficiently states the action and scope without unnecessary elaboration.

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?

Given a mutation tool with no annotations, no output schema, and three required parameters, the description is insufficient. It does not explain side effects, permissions, or what happens on success/failure. An agent would need to make risky assumptions to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the three required parameters. The description adds no additional parameter semantics beyond what the schema already provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ("Create") and resource ("card"), and adds the placement scope ("in a column"). It clearly distinguishes the tool from siblings like update_card, delete_card, and move_card, though it does not explicitly name a contrasting sibling. The core action 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?

There is no guidance on when to use this tool versus alternatives such as update_card or add_comment. It also omits prerequisites like required permissions, board existence, or column validation. The agent is left to infer usage from the name alone.

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

delete_cardB

Delete a card. Automatically finds the column containing the card.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses a non-obvious implementation behavior — that the column is resolved automatically, so no columnId is needed — but omits the critical traits for a delete: irreversibility, undo, cascading effects, and required auth.

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 core action front-loaded before the supplementary scoping detail. Nothing needs to be cut.

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?

Parameters are fully covered and there is no output schema to explain, but a destructive tool with zero annotations and no description of irreversibility or error behavior falls short of what an agent needs before invoking it.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (boardId, cardId) are self-documented. The description adds no per-parameter detail, but the auto-column note implicitly explains why no column parameter is required — a minor value-add over 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 ("Delete a card") that is unambiguous and matches the tool name. The second clause adds scope (auto-locates the containing column), but nothing distinguishes it from siblings like update_card or move_card beyond the obvious verb.

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 mention of prerequisites or permissions, and no alternatives offered (e.g., archive vs delete). The agent must infer that this is the destructive path from the verb alone.

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

delete_columnA

Delete a column. Refused while it has cards, unless deleteCards is true, which permanently deletes them too.

NameRequiredDescriptionDefault
boardIdYesThe board identifier
columnIdYesThe column identifier
deleteCardsNoAlso delete the cards in the column (default false)

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the guard condition that blocks deletion and the cascading, permanent destruction of cards. It omits permission/auth requirements and whether the column removal itself is recoverable, which keeps it short of 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?

Two sentences, zero filler, with the refusal condition and the destructive opt-in front-loaded in that order. 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?

For a destructive tool with no annotations and no output schema, the description covers the critical hazards an agent must know before calling: the precondition and the permanent cascade. Missing only peripheral details like permissions or reversibility of the column itself.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning to deleteCards beyond the schema text by stressing the deletion is permanent and tied to the refusal behavior. boardId/columnId gain nothing, so not a 5.

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 ("Delete a column") that is immediately distinguishable from sibling delete_card and the rename/reorder column tools. No explicit sibling routing, but the action and target are unambiguous.

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 a meaningful precondition (refused while the column has cards) and the escape hatch (deleteCards), which is real usage guidance. It does not, however, name alternatives or say when to prefer this over e.g. moving cards out first, so guidance is implied rather than explicit.

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

get_attachmentA

Get a file attached to a card, using the fileId from the card's attachments in get_board. Images are returned so you can see them.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
fileIdYesThe attachment fileId
boardIdYesThe board identifier

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses one useful behavioral trait — that images are returned visually viewable — but says nothing about non-image attachments, size limits, permissions, or failure behavior. A read-only nature is implied by 'Get' but never confirmed.

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, no filler, with the action front-loaded and the parameter-source hint immediately after. Every clause earns its place.

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?

No output schema and no annotations, so the description is the only source of return-value information. It covers the image case but leaves unclear what happens with non-image files, which is a meaningful gap for an attachment-retrieval tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by tying fileId to its origin in get_board's attachment list, which is genuinely useful for correct invocation. boardId and cardId semantics remain schema-only.

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 ('Get a file attached to a card') and distinguishes itself from the sibling get_board by naming it as the source of the fileId. An agent can immediately tell this retrieves a single attachment rather than board or card data.

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 tells the agent where the required fileId comes from ('the card's attachments in get_board'), which is the key prerequisite for calling it. It gives clear usage context but no exclusions or error-case guidance.

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

get_boardB

Get a full board with columns, cards, context, and agents

NameRequiredDescriptionDefault
boardIdYesThe board identifier

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. 'Get' implies a read operation and it usefully states the returned composition, but it says nothing about permissions, behavior for a nonexistent or unauthorized boardId, or whether the fetch is expensive/rate-limited.

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 resource and its payload are stated immediately.

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?

There is no output schema, so the description is responsible for explaining return values. It lists the top-level contents but leaves 'context' and 'agents' undefined and says nothing about nesting, size, or error cases, so it is only partially complete for a no-output-schema tool.

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

Parameters3/5

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

Schema description coverage is 100% for the single boardId parameter, so the schema already documents the input. The description adds no format, source, or lookup detail beyond what the schema provides, which is the expected baseline of 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?

The description gives a specific verb ('Get') and resource ('a full board'), and enumerates the returned contents (columns, cards, context, agents), which distinguishes it from list_boards. However, it never names list_boards as the shallow alternative, so sibling differentiation 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 explicit guidance on when to use this tool versus list_boards or the card-level siblings. The word 'full' hints that this is the detailed retrieval path, but the agent must infer that on its own.

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

get_board_summaryA

Get a compact board: name, context, repository, columns with agents, and one row per card in every column with its first line, assignees, stickers, work, comment count and last comment author, agentId and time. No comment bodies: use get_comments or get_board for full content.

NameRequiredDescriptionDefault
boardIdYesThe board identifier

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it discloses the returned payload in unusual detail (columns, agents, per-card first line, assignees, stickers, work, comment count, last comment author, agentId, time) plus the deliberate exclusion of comment bodies. It does not state the read-only/no-side-effect profile or any auth or rate-limit constraints, which is the remaining gap.

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 sentences, no filler, and the scoping/alternative information is placed last where it belongs. The field enumeration is dense but earns its place because there is no output schema to carry 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?

For a single-parameter read tool with no output schema, the description covers both the return shape and the routing to alternatives, which is what an agent needs. Minor omissions (pagination, size limits, whether it is strictly read-only) keep it short of a 5.

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

Parameters3/5

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

Schema description coverage is 100% and there is only one parameter (boardId), so the schema already documents the input fully. The description adds no syntax, format, or constraint detail about boardId, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get a compact board') and enumerates exactly what the compact form contains, so the agent knows this is a trimmed board view. It also names the siblings it is not (get_board, get_comments), letting an agent distinguish it without opening any 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?

Explicitly states what this tool does not return ('No comment bodies') and routes the agent to the alternatives (get_comments, get_board) for full content. The only gap is that the inverse condition — when to prefer the summary over get_board — is left implicit rather than stated as a rule.

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

get_commentsC

Get all comments on a card

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Get' implies a read, but it says nothing about ordering, pagination, result limits, permissions, or what happens for a card with no comments.

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, well-sized for a simple lookup. It is perhaps overly terse given the gaps, but nothing is wasted.

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?

For a simple 2-parameter read tool with a fully documented schema and no output schema, the description is minimally adequate. It still omits return shape detail (order, count, empty-case behavior) that an agent would benefit from knowing.

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 coverage is 100%, so both boardId and cardId are documented in the schema, making 3 the baseline. The phrase 'on a card' reinforces cardId but says nothing about boardId's role or any format 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?

Clear verb+resource: 'Get all comments on a card' tells the agent exactly what is retrieved and scopes it to a card. It doesn't explicitly contrast with sibling add_comment, but the read-vs-write distinction is obvious from the verb.

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 add_comment, nor any prerequisites (e.g. needing a valid board/card). 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.

list_boardsB

List all boards with name and column summary

NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states that it lists boards with a summary. It doesn't disclose whether it requires authentication, returns all boards or paginated results, or what the 'column summary' contains beyond a vague phrase.

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 that front-loads the action and resource. There is no wasted wording, though the phrase 'name and column summary' could be slightly more precise.

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 zero-parameter list tool with no annotations and no output schema, the description is too thin. It should at least confirm the return shape or note that it returns all boards without pagination, since no structured field fills that gap.

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 per the rules the baseline is 4. No schema or description param details are needed, and the description appropriately contains no parameter discussion.

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 clearly states a specific verb ('List') and resource ('all boards'), and adds scope detail ('name and column summary'). It is distinguishable from sibling get_board by implying a bulk listing, though it doesn't explicitly contrast with it.

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 alternatives mentioned, and no exclusions. The description solely states what the tool returns, leaving the agent to infer when it is appropriate relative to get_board or other tools.

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

move_cardB

Move a card to a different column. Automatically finds the source column.

NameRequiredDescriptionDefault
indexNoPosition in the target column (0-based). Defaults to the end.
cardIdYesThe card identifier
boardIdYesThe board identifier
toColumnIdYesThe target column identifier

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Automatically finds the source column' is a genuine behavioral disclosure, but for a mutation tool it omits permissions/auth requirements, what happens to the card's position ordering, failure modes, and whether the move is reversible. One useful trait among several required.

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 filler; the primary action leads and the auto-detection note follows. Nothing is wasted.

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?

With a fully documented schema, no output schema, and four simple flat parameters, the description is minimally sufficient for invocation. However, as a mutation with no annotations and no return-value contract, it leaves error behavior and side effects 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 100%, so all four parameters (boardId, cardId, toColumnId, index) are already documented in the schema, including index's 0-based/default-to-end behavior. The description adds no parameter-level detail beyond that, so the baseline 3 applies.

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 ('Move a card') plus the target scope ('to a different column'), so the action is unambiguous and clearly distinct from siblings like create_card or update_card. It stops short of naming or contrasting with any sibling, which keeps it from 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 statement of when to use this tool versus update_card or assign_card, nor any prerequisites (e.g., card must exist, board/column must belong to the same board). The only inferable guidance is the implied fact that the caller need not supply a source column.

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

remove_stickerB

Remove a sticker from a card. If the card has the same sticker more than once, one is removed.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier
stickerYesThe emoji to remove

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one genuinely non-obvious trait: when a sticker appears multiple times, only one instance is removed. However, it says nothing about what happens if the sticker is absent, whether the operation requires specific permissions, or what is returned.

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, the core action front-loaded and the edge-case qualifier second. Every sentence earns its place with no padding.

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?

For a simple mutation tool with no annotations and no output schema, the description covers the basic action and one edge case but omits the no-op/error behavior when the sticker is missing and any auth or response expectations.

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

Parameters3/5

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

Schema description coverage is 100%, so cardId, boardId, and sticker are all documented in the schema. The description adds only the notion of the sticker emoji being the target; the duplicate-handling note is behavioral rather than param-level. Baseline 3 is appropriate.

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 (sticker) plus its scope (from a card), which clearly distinguishes it from the sibling add_sticker. It stops short of explicitly naming the inverse tool, but the 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?

There is no guidance on when to use this versus alternatives such as add_sticker, nor any preconditions (e.g., whether the sticker must exist on the card). The usage context is only implied by the tool name.

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

rename_columnC

Rename a column

NameRequiredDescriptionDefault
nameYesThe new column name
boardIdYesThe board identifier
columnIdYesThe column identifier

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about permissions required, whether the rename affects existing card references, or reversibility. The word 'Rename' implies a mutation, but that is the only behavioral signal present.

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?

Two words are certainly front-loaded and waste-free, but this is under-specification rather than tight writing; there is no structure to speak of and nothing beyond the name is communicated.

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 three-required-parameter mutation tool with no annotations and no output schema, the definition is not complete enough – an agent gets no guidance on side effects, validation, or what a successful rename returns.

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

Parameters3/5

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

Schema description coverage is 100% – boardId, columnId, and name are all documented in the schema with clear one-line meanings. The description adds no parameter context beyond what the schema provides, so the baseline of 3 applies.

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 ('Rename a column'), so an agent immediately knows it mutates an existing column's name. However, it offers no differentiation from adjacent siblings such as reorder_column, delete_column, or update_column_agents, which matters in a 20-tool toolset.

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, and no scope constraints. An agent must infer everything from the name alone.

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

reorder_columnB

Move a column to a new position on its board, keeping its cards

NameRequiredDescriptionDefault
indexYesNew position among the columns (0-based)
boardIdYesThe board identifier
columnIdYesThe column identifier

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose one meaningful side effect: cards are preserved during the move ("keeping its cards"), which distinguishes it from a destructive delete/recreate. However, it says nothing about permissions, whether other columns' indices shift, out-of-range index behavior, or reversibility.

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 tight sentence with the verb, resource, destination, and the key side-effect clause front-loaded. No filler.

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?

No output schema exists, so return values need not be described, but with zero annotations on a mutation tool the description should address index-shifting of neighbors and permission expectations. It covers only the cards-preservation behavior, leaving the reindexing semantics an agent must reason about unstated.

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 coverage is 100% and the schema already documents index as the 0-based new position plus the two identifiers. The description adds no format or semantics beyond that, so the baseline 3 applies.

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 (move) and resource (column) plus the target state (new position on its board), which cleanly separates it from rename_column, delete_column, and add_column in the sibling set. It stops short of naming those siblings explicitly, so it is clear but not fully 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?

There is no when-to-use guidance, no prerequisite (e.g. the column must already exist on the boardId), and no mention of alternatives such as delete_column plus add_column. The usage must be inferred entirely from the verb.

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

search_cardsB

Search for cards across all boards by text content

NameRequiredDescriptionDefault
queryYesThe search query

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does add useful scope information ('across all boards'), and read-only behavior is self-evident from 'Search', but it says nothing about result limits, pagination, case sensitivity, or whether archived/closed cards are included.

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 with the scope (across all boards) and the matching mode (text content) front-loaded. Nothing is padded and nothing wastes the agent's attention.

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?

For a single-parameter, read-only lookup this is roughly adequate, but with no output schema and no annotations the description should say more about what comes back (card list, IDs, ordering) and whether results are bounded. As written, an agent can call it but cannot predict the response.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'query' parameter is already documented, making 3 the baseline. The phrase 'by text content' adds a small amount of meaning about what the query matches, but no syntax, length, or format guidance 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 names a specific verb (Search), resource (cards), scope (across all boards), and matching mechanism (text content). It is unambiguous and, since no other sibling tool performs search, no alternative needs to be named to tell it apart from assign_card, move_card, update_card, and the rest.

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 explicit when-to-use or when-not-to-use guidance, nor are any prerequisites or alternatives mentioned. The 'across all boards' phrase hints at the tool's breadth, but the agent must infer that this is the lookup tool to reach for when a card's location is unknown.

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

set_card_workA

Record where the work for a card lives: repository path, branch, commits, whether it was pushed and the pull request link. Merges with what is already recorded: new commits are added and fields you leave out are kept.

NameRequiredDescriptionDefault
branchNoBranch the work is on (required the first time)
cardIdYesThe card identifier
pushedNoWhether the branch has been pushed
boardIdYesThe board identifier
commitsNoCommit SHAs to add
pullRequestUrlNoLink to the pull request, if one was opened
repositoryPathNoAbsolute path of the local clone

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose the key non-obvious trait: fields left out are kept and new commits are appended rather than replacing the existing set. It stops short of covering permissions, error behavior, or reversibility, so it is strong but not complete for a mutation tool.

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, no filler. The inventory of recordable fields comes first and the merge rule follows, so the most decision-relevant information is front-loaded.

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 7-parameter mutation tool with no annotations, the description covers the essential behavioral gap (merge semantics). It does not describe what the call returns or what happens on failure, and with no output schema present the agent gets no substitute for that, leaving a modest 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 100%, so every parameter is already documented in the schema and the baseline is 3. The description only reinforces the commit parameter by clarifying that commits are additive, adding marginal value without introducing new format or syntax details.

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: recording development-work metadata (repository path, branch, commits, push state, PR link) against a card. That scoping clearly separates it from card-content tools like update_card or assign_card, though it never names an alternative explicitly, so sibling differentiation is implicit rather than stated.

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 merge sentence implies this is a partial-update tool you can call repeatedly as work progresses, which is useful usage context. However, there is no explicit guidance on when to call it versus update_card, nor any stated preconditions beyond the schema note that branch is required the first time.

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

unassign_cardB

Remove a user or agent from a card.

NameRequiredDescriptionDefault
cardIdYesThe card identifier
boardIdYesThe board identifier
assigneeYesUsername, or agent:<identifier> for a column agent, to remove

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It does not specify whether this is reversible, what permissions are required, what happens if the assignee isn't currently assigned, or what the response looks like. A single sentence is insufficient for a mutation tool with zero annotation coverage.

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 zero waste. Every word earns its place, and the purpose is immediately clear.

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 mutation tool with no annotations, no output schema, and multiple required identifiers, the description is too thin. It omits permission requirements, reversibility, error conditions (e.g., assignee not assigned), and the relationship to the assign_card sibling, leaving the agent under-informed.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are documented in the schema, including the special 'agent:<identifier>' syntax for the assignee. The description adds no parameter-specific information beyond what the schema already provides, making 3 the correct baseline.

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 ('a user or agent from a card'), clearly distinguishing it from the assign_card sibling via the opposite operation. However, it does not explicitly name the sibling tool, so an agent must infer the relationship from the name.

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?

Implied usage: the description names the operation (removing an assignee) but gives no explicit when-to-use guidance, alternatives, or prerequisites, such as permission requirements or whether the card must be currently assigned.

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

update_board_contextA

Set a board's project context (markdown) and/or repository URL. Omitted fields are left unchanged.

NameRequiredDescriptionDefault
boardIdYesThe board identifier
contextNoProject context in markdown: stack, constraints, conventions
repositoryNoGit URL of the project repository

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden, and it does disclose one important trait: omitted fields are left unchanged (PATCH semantics rather than replace). It does not say whether supplying 'context' replaces the entire existing markdown, what permissions are required, or what the response looks like.

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 mutation target and followed by the partial-update caveat. 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?

For a simple three-parameter mutation with no annotations and no output schema, the description covers the essential partial-update semantics but omits whether writes overwrite existing values, permission requirements, and confirmation/return behavior. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents boardId, context (markdown), and repository (Git URL) in detail. The description adds only the 'and/or' optionality note, which is largely inferable from the schema's non-required fields, so baseline 3 applies.

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 ('Set') and resource ('a board's project context ... and/or repository URL'), so an agent immediately knows what the tool mutates. It does not need to distinguish itself from siblings, since no other listed tool touches board-level context.

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: the wording makes clear it is for writing board context/repository, but there is no explicit when-to-use statement, no prerequisites, and no named alternative (none exists among the siblings). 'Omitted fields are left unchanged' hints at partial-update use but reads as behavior, not guidance.

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

update_cardB

Update card text. Automatically finds the column containing the card.

NameRequiredDescriptionDefault
textYesThe new card text
cardIdYesThe card identifier
boardIdYesThe board identifier

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does add one genuinely useful trait: the column containing the card is resolved automatically, explaining why no column parameter is required. It says nothing about permissions, reversibility, or behavior when the card/board does not exist.

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, and the core action is front-loaded before the auto-resolution note.

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?

For a mutation tool with no annotations and no output schema, the description covers the action and the auto-resolution behavior but omits failure modes, permissions, and return/confirmation behavior. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented in the schema, giving a baseline of 3. The description adds the meaningful implication that text is the only mutable field and that column is auto-derived, but no format or constraint details.

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 ("Update card text"), which cleanly separates it from siblings like move_card, delete_card, and create_card. It does not, however, explicitly name those alternatives.

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 alternatives such as move_card or assign_card, and no prerequisites. Usage is only implied by the word "Update".

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

update_column_agentsA

Set the agents for a column. The list replaces the column's existing agents, so to change one agent send the full list from get_board with that agent edited. Keep each existing agent's identifier so its assignments and comments stay linked.

NameRequiredDescriptionDefault
agentsYesThe complete list of agents for the column (max 10)
boardIdYesThe board identifier
columnIdYesThe column identifier

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses the critical behavioral trait: the list fully replaces existing agents (effectively destructive), and keeping identifiers preserves assignments/comments linkage. It omits permission/scope requirements, but covers the highest-risk behavior well.

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 sentences, each earning its place: purpose, replacement behavior, and the identifier-preservation caveat. Front-loaded and free of 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?

For a 3-param mutation tool with no annotations and no output schema, the description covers the operation, its destructive nature, and the correct invocation workflow. Only minor omissions (auth requirements, the max-10 limit also present in schema) remain.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic meaning beyond the schema: that the array is a wholesale replacement and that the identifier field ties agents to existing assignments and comments. This goes beyond field-level 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 and resource ('Set the agents for a column') and immediately clarifies the replacement semantics. It doesn't explicitly differentiate itself from the nearest sibling (update_board_context), but the operation 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 Guidelines4/5

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

Gives clear workflow guidance: to change one agent, fetch the list from get_board, edit it, and resend the whole list. It names a sibling tool and the condition that selects it. No explicit exclusions or error conditions are given.

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. 1 tool updatev1.7.0
    • Addedcreate_board
  2. 8 tool updatesv1.6.1
    • Addedadd_column
    • Addedadd_sticker
    • Addeddelete_column
    • Addedget_attachment
    • Addedget_board_summary
    • Addedremove_sticker
    • Addedrename_column
    • Addedreorder_column
  3. 7 tool updatesv1.4.0
    • Changedadd_comment1 field changed
      • addedInput schema / properties / agentId
        Added value: +{
        +  "description": "Identifier of the column agent posting the comment, so it is attributed to that agent",
        +  "type": "string"
        +}
    • Changedassign_card1 field changed
      • changedInput schema / properties / assignee / description
        Previous value: -"Username to assign"New value: +"Username, or agent:<identifier> for a column agent"
    • Addedsearch_cards
    • Addedset_card_work
    • Changedunassign_card1 field changed
      • changedInput schema / properties / assignee / description
        Previous value: -"Username to remove"New value: +"Username, or agent:<identifier> for a column agent, to remove"
    • Addedupdate_board_context
    • Addedupdate_column_agents
  4. 10 tool updatesv1.0.0
    • First observedadd_comment
    • First observedassign_card
    • First observedcreate_card
    • First observeddelete_card
    • First observedget_board
    • First observedget_comments
    • First observedlist_boards
    • First observedmove_card
    • First observedunassign_card
    • First observedupdate_card

TDQS

B3.4/5.0

Scored across 23 tools

Disambiguation5/5

Each tool targets a distinct resource and action (board, column, card, comment, sticker, attachment, work, agents) with no overlapping purposes. Descriptions clearly differentiate similar-sounding tools like get_board vs get_board_summary and update_card vs set_card_work.

Naming Consistency4/5

All names follow a snake_case verb_noun pattern, but verb choices are slightly inconsistent: create_board/create_card use 'create' while add_column/add_sticker/add_comment use 'add', and set_card_work uses 'set' while other metadata updates use 'update'.

Tool Count3/5

23 tools is on the heavy side for a board management server; while the domain is complex, several tools could potentially be consolidated (e.g., sticker add/remove into a single update). It sits in the borderline 16–25 range.

Completeness3/5

Core board, column, and card CRUD is largely covered, but there are notable gaps: comments support create+get but no update/delete, boards lack delete/rename, and attachments only support get with no way to add or remove them.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to read and drive a local-first Kanban board for issue tracking, allowing them to list, create, update, and resolve issues from Claude Code sessions.
    5 npm
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to manage kanban boards with tasks, including creating boards, items, moving between columns, and searching.
    8
    1
    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.
    47 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables coding agents to read and write a local kanban board, adding and editing cards, moving them between columns, managing projects, and writing update entries so their work is visible in real time.
    4 npm
    1
    MIT