Skip to main content
Glama

type: Repository Guide title: Trello MCP description: An MCP server that gives an agent 52 Trello tools, with trimmed replies, safe batches, a workspace guard and a reason for every refusal. status: stable tags: [mcp, trello, typescript] generated: by: claude-code/opus-5.5 at: 2026-09-23T01:03:52Z supervised: by: human:ciprian-florin_ifrim at: 2026-09-23T01:03:52Z edited: by: claude-code/opus-5.5 at: 2026-10-01T13:41:05Z

Trello MCP

Tests Smoke OpenSSF Scorecard OpenSSF Best Practices

Node TypeScript MCP Vitest Licence

This repository is a Model Context Protocol (MCP) server for Trello. An agent uses its 52 tools to read and change boards, lists, cards, checklists, comments, labels and attachments. The server runs on the user's machine and talks to the agent over standard input and output (stdio). It calls the Trello web API with the user's key and token. Every reply is written for an agent, which reads each word of it and pays for each word in context.

Trello runs its own hosted MCP server, at https://mcp.trello.com/v1. That server cannot touch comments, and its support for checklists is limited, yet those are most of what a board is worth reading for. This server is a fork of delorenj/mcp-server-trello, taken at the tag fork-point on upstream commit 737292f of 2026-09-15. The fork cuts the tools and the tooling that we do not run. It adds card numbers, duplicate-safe batches, a workspace guard, trimmed replies and limits that refuse with a reason.

The server goes as far as one Trello account and the boards that the account can reach. It can archive a card or a list, but it cannot delete a card, a list or a board. It only responds to calls, so it does not react to changes made in Trello. The agent skill in skills/trello-mcp/ tells an agent which tool to use and what to watch.

What it covers

Where

Boards and workspaces, and the active board

src/tools/boards.ts

Lists

src/tools/lists.ts

Cards, with card numbers, search and batches of up to 50

src/tools/cards.ts, src/trello/batch.ts

Comments

src/tools/comments.ts

Checklists and acceptance criteria

src/tools/checklists.ts, src/trello/checklists.ts

Attachments: links, local files and inline data

src/tools/attachments.ts, src/trello/attachments.ts

Labels and members

src/tools/labels.ts, src/tools/members.ts

Custom fields

src/tools/custom-fields.ts

Retries, the rate limit and the workspace guard

src/trello/client.ts, src/trello/rate-limiter.ts, src/trello/workspace-guard.ts

Trimmed replies and the markdown card

src/reply/

The agent skill

skills/trello-mcp/

Security policy

.github/SECURITY.md

An agent gets every reply trimmed to what it reads, and every refusal with its reason.

Related MCP server: trello-mcp

1. Build and Run

npm ci                                 # the exact versions in package-lock.json
npm run build                          # compiles src/ into build/
npm test                               # unit tests, and the smoke tests when .env names a test board
npm start                              # the server on stdio, with the settings of section 1.1
npm run typecheck
npm run lint                           # ESLint and Prettier, as package.json sets them
npm run format                         # rewrites src/ and tests/ to the Prettier style
npm run test:unit                      # offline tests only
npm run test:smoke                     # live tests only, section 1.3

The server needs Node.js 22 or later, and every other dependency is in package.json.

1.1 Settings

The server reads its settings from the environment when it starts. It reads no .env file itself, so the client that starts it must pass them. example.env lists each one with a comment. A limit with a value that is not a positive number stops the server at once, with the reason on standard error.

Setting

Need

Effect

TRELLO_API_KEY

required

The API key of a Trello app, from https://trello.com/power-ups/admin, as example.env describes.

TRELLO_TOKEN

required

The token of the same account, from the authorisation address in example.env.

TRELLO_BOARD_ID

optional

The first active board, section 3.

TRELLO_ALLOWED_WORKSPACES

optional

Workspace IDs, separated by commas. When set, the workspace guard of section 3 is on.

TRELLO_ATTACH_ROOT

optional

The one folder that a file:// attachment may come from. When it is empty, every local upload is refused.

TRELLO_DESCRIPTION_LIMIT

optional

The most characters in a card description. The default is 2400.

TRELLO_MAX_DOWNLOAD_MB

optional

The largest file that download_attachment returns, in megabytes (MB). The default is 5.

https_proxy or HTTPS_PROXY

optional

A proxy for every call to Trello.

TRELLO_TEST_BOARD_ID

smoke tests only

The scratch board of section 1.3.

TRELLO_TEST_OTHER_BOARD_ID, TRELLO_TEST_WORKSPACE_ID, TRELLO_TEST_REFUSED_WORKSPACE_ID, TRELLO_TEST_REFUSED_BOARD_ID

smoke tests only, optional

A second board in the workspace of the scratch board, that workspace, another workspace, and a board in it. Each one turns on the move test or the workspace guard tests.

1.2 Agent Connection

An MCP client starts the server as a child process. Most clients take an entry of this shape, in their configuration file:

{
  "mcpServers": {
    "trello": {
      "command": "node",
      "args": ["/absolute/path/to/trello-mcp/build/index.js"],
      "env": {
        "TRELLO_API_KEY": "<your key>",
        "TRELLO_TOKEN": "<your token>"
      }
    }
  }
}

Give the full path to build/index.js, because the client starts the server from a folder of its own. The entry holds the key and the token, so keep that file out of git, as this repository does with .mcp.json. The skill in skills/trello-mcp/ goes to the agent as one folder. Link or copy that whole folder into the agent's skills folder, for example ~/.claude/skills/trello-mcp.

1.3 Tests

The two suites answer different questions, and they live apart.

Suite

Folder

Needs

Proves

Unit

tests/unit/

only npm ci

The code does what we think Trello expects. Every call goes to a mocked Trello.

Smoke

tests/smoke/

TRELLO_API_KEY, TRELLO_TOKEN and TRELLO_TEST_BOARD_ID in .env, and the optional test settings of section 1.1

Trello accepts the calls. The suite starts build/index.js and calls its tools over MCP.

The smoke suite skips itself when one of its three settings is absent, so npm test needs no Trello account. The smoke suite starts the built server, so npm test and npm run test:smoke run npm run build first. The unit suite runs against the source, and npm run test:unit does not build. A full smoke run took 96 seconds on 2026-09-30, and its search test can wait up to 5 minutes for Trello's search index.

GitHub Actions runs both suites, through the tests and smoke workflows in .github/workflows/. The tests workflow runs the typecheck, the lint, the build and the unit tests on Node.js 22 and 24. It runs on Blacksmith runners for each push to main and each pull request. A Dependabot pull request runs on GitHub-hosted runners. The smoke workflow runs the smoke suite on GitHub-hosted runners, after each push to main, every second Monday at 05:17 UTC, and on demand. It fails when a setting is absent, so a missing secret cannot give a green run with no tests.

The smoke workflow reads the key and the token from the secrets of the GitHub environment smoke. It reads the five test IDs from the variables of that environment. The environment admits the main branch alone, so a pull request from a fork never reaches the secrets. They belong to the test account svc-trello-ci@brainquiver.ai, which can reach only the test boards.

Dependabot checks the npm packages and the pinned actions once a month, and it opens a pull request for each update. A security advisory gets a pull request at once. A person merges each one, because nothing merges automatically.

CodeQL and the OpenSSF Scorecard check the security of the repository. The CodeQL workflow analyses the TypeScript, the JavaScript and the workflow files. It runs on each pull request, each push to main and every Monday, on the same runners as the tests. The Scorecard workflow scores the security practice of the repository after each push to main and every Monday. The Scorecard service requires GitHub's own runners for a published score. Both report to the Security tab, and .github/SECURITY.md gives the private way to report a vulnerability.

1.4 Server Checks

When an agent reports that the server is down, or that a tool is absent, take these steps in order.

  1. Run npm run build. The client starts build/index.js, and a fresh clone has no build/.

  2. Start the server by hand with the same settings as the client: TRELLO_API_KEY=<key> TRELLO_TOKEN=<token> node build/index.js.

  3. A healthy server stays silent and waits for input. Stop it with Ctrl+C.

  4. When it stops at once, read the line on standard error. It names the setting that is absent or wrong.

  5. Check that the path in the entry of section 1.2 is absolute. Then restart the client, which reads its configuration only when it starts.

  6. When every call fails with Trello returned 401, the token is wrong or revoked. Make a new token.

  7. To see the tools and call one by hand, run the MCP Inspector: npx @modelcontextprotocol/inspector node build/index.js.

2. Directory Tree

src/                    index.ts, which reads the settings and starts stdio, and server.ts, which registers the tools
src/tools/              the tools, one file for each area, with their inputs and descriptions
src/trello/             the calls to Trello: the client, retries, the guard, the batch and the checks
src/reply/              what goes back to the agent: the reply helpers, the shapers, the markdown card
tests/unit/             offline tests against a mocked Trello, one file for each source file
tests/smoke/            live tests against the Trello web API, on a scratch board
.github/workflows/      the tests, smoke, CodeQL and Scorecard workflows
.github/dependabot.yml  the monthly update checks for the npm packages and the actions
.github/SECURITY.md     the security policy, and the private way to report a vulnerability
skills/trello-mcp/      the agent skill: SKILL.md, and every tool in references/tools.md
docs/                   the roadmap and the assurance case
build/                  the compiled server, which npm run build writes and git ignores

3. Concepts

Three terms carry the rest of this document.

Concept

Meaning

Where

Active board

The default board for any call that does not name one. It starts as TRELLO_BOARD_ID. set_active_board replaces it and saves the choice in ~/.trello-mcp/config.json for later runs.

src/trello/client.ts

Trimmed reply

A reply cut to the fields that an agent reads, under Trello's own field names. The full reply adds plugin data, badges and display settings that cost context but rarely matter to an agent. raw: true on a read tool returns the full reply.

src/reply/shape.ts

Workspace guard

A check on every request when TRELLO_ALLOWED_WORKSPACES is set. It traces each request to its boards and each board to its workspace, and it refuses anything outside the allowed workspaces, personal boards included.

src/trello/workspace-guard.ts

A boardId given beside a list or a card works as a check: the server refuses a list or a card on any other board.

4. Rules

Each rule states what to do, and its reason states what goes wrong otherwise.

Rule

Reason

Give every new tool a trimmed reply, through json() and a shaper in src/reply/shape.ts.

A raw Trello reply is mostly identifiers and display data, and the agent pays for every word of it in context.

Offer raw: true on read tools only.

It lets an agent inspect a full object. A write returns the object that it changed, and the trimmed form confirms the change.

Update the skill in the same commit as the tool.

Agents rely on skills/trello-mcp/references/tools.md for every tool and input. A stale entry leads to calls that the server refuses, and tests/unit/server.test.ts fails when a row and the inputs of its tool differ.

Add a call for every new tool to tests/unit/server.test.ts.

That test is the only unit test that reaches a tool handler, and it fails for a tool without a call.

Never retry a write after a server error or a lost reply.

Trello may have completed the write before the failure, so a blind retry creates a duplicate. The interceptor in src/trello/client.ts retries a 429 for any request, and other failures for reads only.

Add every new route to the workspace guard.

The guard refuses a route that it cannot trace to a workspace. An unlisted route therefore fails whenever TRELLO_ALLOWED_WORKSPACES is set.

Report every refusal as an McpError with its reason.

handleRequest forwards an McpError unchanged and adds Trello's reason to any other error. Before this rule, refusals such as the 50-card batch limit reached the agent only as "An unexpected error occurred".

Read local files only through the attach folder check.

Card text can ask an agent to attach a key or a .env file, and every board member can read an attachment. The check in src/trello/attachments.ts resolves the real path, so a ../ or a symbolic link cannot escape TRELLO_ATTACH_ROOT.

Run the smoke tests against a scratch board only.

The suite creates, edits and archives real cards, checklists, comments and labels on the board in TRELLO_TEST_BOARD_ID.

Remove a retired tool completely: its registration, shaper, tests, client method and row in tools.md.

A part that stays is dead code, or a row that describes a tool that no longer exists.

Port upstream fixes by hand.

This fork splits upstream's single index.ts by area, so an upstream commit rarely applies unchanged.

These commands show what upstream changed since the fork, and what this fork changed:

git remote add upstream https://github.com/delorenj/mcp-server-trello.git
git fetch upstream
git log fork-point..upstream/main -- src/      # upstream work since the fork
git diff fork-point..HEAD                      # all of our work since the fork

5. Tools and Replies

Each tool returns one reply, and the agent reads it as text. The table gives each form of reply.

Reply

Form

Success

Compact JavaScript Object Notation (JSON), trimmed. A few tools confirm in plain words, as success.

Success with raw: true

Trello's full JSON reply.

get_card with includeMarkdown: true

The card as markdown. Markdown wins when raw is also set.

download_attachment

An image as MCP image content, and any other file as base64 in JSON.

Failure

isError is true, and the text is Error: MCP error <code>: <reason>.

Batch stop

isError is true, and the first sentence names the cards made and the cards not made.

The code in a failure says which side was wrong.

Code

Meaning

-32602

The input is wrong, or a check refused it: a limit, a board check or the workspace guard.

-32600

An attachment source is wrong, or the attach rules refused it.

-32603

Trello or the network failed. The reason follows, as Trello returned 404: card not found.

The 52 tools, with every input of each, are in skills/trello-mcp/references/tools.md.

6. Limitations

Limitation

Reason

Cards, lists and boards cannot be deleted

Trello cannot undo a deletion, while an archived card or list can be restored.

A batch of cards is not all or nothing

The Trello API does not support transactions, so the cards created before a failure remain on the board. The stop report names them.

One Trello account for each server

The key and the token authenticate a single account. A second account needs a second client entry.

No live updates from Trello

The server only responds to calls over stdio, and it does not use webhooks.

Link attachments cannot be downloaded

Trello stores the link alone, and the file stays at its source.

Downloads are limited to 5 MB by default

A download returns as base64 in the agent's context, about a third larger than the file. TRELLO_MAX_DOWNLOAD_MB changes the limit.

Attachment links must use https:// and a public address

Plain HTTP can be read or altered in transit, and a private address exposes the local network.

The workspace guard accepts workspace IDs only

Trello identifies a board's workspace by its ID, so a workspace name in TRELLO_ALLOWED_WORKSPACES does not match.

Custom fields must exist before a tool can set them

No tool creates a custom field, so a person adds each field in Trello first.

At most 100 calls in 10 seconds for each token

Trello sets this limit, and the server queues calls to stay within it.

A new card is absent from search for a few minutes

Trello adds a new card to its search index after a delay, which was 2 to 4 minutes in the smoke tests.

Available Tools

52 tools
add_cards_to_listAdd Cards to ListA

Add up to 50 cards to a list, in order. Every card is checked first (the list exists, each label is on the board, each date is valid, each description is 2400 characters at most), so bad input creates nothing. A temporary Trello or network fault is retried. Any other failure stops the batch, and the reply says which cards were created and which were not: ask the user how to resolve it before retrying.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYesArray of cards to create (max 50)
listIdYesID of the list to add cards to

TDQS

A4.5/5.0
Behavior5/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 does so well: pre-flight validation (list exists, labels on board, valid dates, 2400-char cap) is all-or-nothing so bad input creates nothing, transient faults are retried, other failures halt the batch, and the reply reports per-card created/not-created status. It also prescribes asking the user before retrying, which is genuinely actionable.

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 sentences, front-loaded with the core action and bound, then validation and retry semantics. Every sentence carries new information; nothing is redundant with the name or title.

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

Completeness5/5

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

There is no output schema, and the description supplies the essential return semantics (which cards were created vs not) plus retry/failure handling. For a batch mutation tool with full schema coverage, nothing an agent needs to invoke it correctly is missing.

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 semantics beyond the schema: the max-50 bound, in-order creation, and the validation rules (label must be on the board, date validity, 2400-character description cap) that constrain what values are legal for cards fields.

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, batch size, and ordering semantic ('Add up to 50 cards to a list, in order'). The batch cardinality implicitly separates it from the singular sibling add_card_to_list, so an agent can route correctly 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 Guidelines3/5

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

It gives clear guidance on the failure path (transient faults retried, other failures stop the batch, ask the user before retrying), but never states when to prefer this tool over the sibling add_card_to_list or what prerequisites apply beyond the list existing. Usage context 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.

add_card_to_listAdd Card to ListC

Add a new card to a specified list on a specific board

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the card
startNoStart date for the card (YYYY-MM-DD format, date only)
labelsNoArray of label IDs to apply to the card
listIdYesID of the list to add the card to
boardIdNoBoard the list is on. If given, a list on any other board is refused
dueDateNoDue date for the card (ISO 8601 format)
descriptionNoDescription of the card, 2400 characters at most
dueReminderNoDue date reminder in minutes before due date (e.g., null to remove reminder, 0 at due time, 1440 one day before)

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 behavioral burden and fails to. It does not say this is a mutating write, where the card lands in the list (top/bottom/position), what permissions are required, or what happens on a duplicate name. Only the operation name implies mutation.

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 the action front-loaded and no filler. It is efficient, though almost too terse for an 8-parameter mutation tool — the brevity is what leaves the other dimensions thin.

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 an 8-parameter mutating tool with no annotations and no output schema, the description is insufficient. It omits side effects, positioning behavior, validation failure modes beyond the boardId rule, and what the agent gets back, leaving the agent to infer everything from the schema alone.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents all 8 parameters including the boardId refusal rule and dueReminder semantics. The description adds no parameter-level meaning beyond what the schema provides, 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 clear verb+resource: add a new card to a list. It does not name or distinguish itself from the closest siblings (add_cards_to_list for bulk add, copy_card, move_card), and the phrase 'on a specific board' mildly conflicts with the optional boardId, but the core 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 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 routing to alternatives. Given siblings like add_cards_to_list (plural/bulk) and copy_card, an agent gets no signal about which to pick or in what context, which is exactly the gap this description should fill.

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

add_checklist_itemAdd Checklist ItemC

Add a new item to a checklist

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText content of the checklist item
cardIdNoID of the card to scope checklist search to (recommended to avoid ambiguity)
boardIdNoID of the Trello board (uses default if not provided)
checkListNameYesName of the checklist to add the item to

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It does not state whether this is a write operation needing permissions, whether it creates a new item or modifies existing data, or what happens on success (e.g., returns the new item). For a mutation tool, this is insufficient.

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?

The description is a single sentence that is concise but overly brief. It is front-loaded but lacks necessary detail, making it minimally viable rather than optimally informative.

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 four parameters, no annotations, and no output schema, the description should provide more context about behavior, permissions, or return values. It fails to address these gaps, 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 the schema already documents all four parameters thoroughly. The description adds no additional meaning beyond what is in the schema, so the baseline score of 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 (checklist item), clearly distinguishing it from siblings like update_checklist_item or create_checklist. However, it doesn't specify which checklist context (e.g., requires a checklist name or card ID) or mention its relation to other checklist tools, leaving some ambiguity about scope.

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 alternatives such as create_checklist or update_checklist_item. No exclusions or prerequisites are mentioned, so an agent must infer usage from context alone.

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

add_commentAdd Comment to CardB

Add the given text as a new comment to the given card

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe text of the comment to add
cardIdYesID of the card to comment on

TDQS

B3.1/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 behavioral burden. It states that a new comment is added, but omits permissions required, side effects, rate limits, or what the operation returns. This is a significant gap 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?

A single front-loaded sentence with no wasted words. It efficiently conveys the core action without extraneous detail.

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 two-parameter mutation with full schema coverage, the description is minimally adequate. However, with no annotations and no output schema, it should ideally mention return behavior or permissions to be 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 100%, so the schema already documents both parameters. The description merely restates 'given text' and 'given card' without adding format, constraints, or examples 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?

States a specific verb ('Add') and resource ('comment to card') clearly. However, it does not differentiate from siblings like update_comment or delete_comment, leaving the agent to infer that this is the creation tool.

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 update_comment or get_card_comments. Prerequisites or context of use are entirely absent.

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

add_label_to_cardAdd Label to CardA

Add one label to a card. The labels already on the card stay. Get label IDs from get_board_labels.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card
labelIdYesID of the label to add

TDQS

A4/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 the important additive semantics ('labels already on the card stay'). However it is silent on idempotency (re-adding an existing label), required permissions, and failure behavior — meaningful 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?

Three short sentences, front-loaded with the action and the key behavioral fact, zero filler. Every sentence 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 two-parameter mutation tool with no output schema or annotations, the description covers purpose, additive behavior, and the ID prerequisite — enough to invoke it correctly. Duplicate-handling and permission context are the only missing pieces.

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 both params, so baseline is 3. The description adds only the provenance of labelId (fetch it from get_board_labels) and nothing about cardId or ID formats.

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 ('Add') plus resource ('label') plus scope ('one label to a card'), which cleanly separates it from create_label, and remove_label_from_card. The explicit 'The labels already on the card stay' also distinguishes it from any bulk or replace-style sibling.

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 concrete prerequisite and routes the agent to the sibling 'get_board_labels' to obtain labelId, which is real usage guidance. It stops short of stating when not to use it or what happens if the label is already present, so it doesn't reach a 5.

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

add_list_to_boardAdd List to BoardC

Add a new list to the specified board

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new list
boardIdNoID of the Trello board (uses default if not provided)

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 behavioral burden. It identifies a mutation ('Add a new list') but says nothing about permissions, side effects, error behavior, or what the operation returns. The only behavioral hint is in the schema's boardId description, not the tool description.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted words. It is appropriately concise, though it could be lengthened slightly to carry more behavioral context without becoming bloated.

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 two-parameter mutation tool with full schema descriptions and no output schema, the description is minimally adequate. However, with no annotations to cover safety or side effects, it leaves gaps around permissions, failure modes, and return behavior.

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%, with both parameters fully documented. The tool description adds no parameter detail beyond 'specified board,' 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 a new list to the specified board.' It is clear and unambiguous on its own, but it does not differentiate this tool from siblings such as create_board or get_lists, 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?

There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The agent must infer usage entirely from the tool name and description.

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

archive_cardArchive CardB

Send a card to the archive. Name the card by its ID or by its number on a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdNoID of the card to archive. Give this or cardNumber
boardIdNoBoard the card is on. Needed with cardNumber when there is no active board. With cardId, a card on any other board is refused
cardNumberNoNumber of the card on its board. Give this or cardId

TDQS

B3.2/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 says the card is sent to the archive but does not disclose whether the operation is reversible, whether archived cards can be restored, what permissions are required, or how the operation interacts with the active board context.

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 is stated first, followed by the card-identification mechanism, which is exactly the right order for an agent.

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 too thin. It omits behavioral details such as reversibility and permission requirements, and it does not reference the active-board context that the schema indicates matters for invocation.

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 thoroughly, including the cardId/cardNumber choice and boardId constraints. The description repeats the identification options but adds no syntax, format, or contextual meaning beyond the schema, matching the baseline of 3 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.

Purpose5/5

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

The description states a specific verb and resource: 'Send a card to the archive.' It clearly distinguishes card archiving from the sibling archive_list operation, and the second sentence specifies the card-identification options without ambiguity.

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 explains how to identify the card but gives no when-to-use guidance, no when-not-to-use guidance, and no alternatives. It does not mention prerequisites such as needing an active board, even though the schema hints at that constraint.

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

archive_listArchive ListC

Send a list to the archive on a specific board

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesID of the list to archive
boardIdNoBoard the list is on. If given, a list on any other board is refused

TDQS

C2.9/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 behavioral burden for what is a mutating operation. It does not say whether archiving is reversible, what happens to the cards contained in the list, or what permissions are required. One sentence is far too thin 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.

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 for the text it contains, though brevity here edges toward under-specification rather than pure efficiency.

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 an operation that potentially affects contained cards, the description is inadequate. An agent cannot tell the reversibility or side effects of archiving from this definition.

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 both listId and boardId (including the refusal behavior when boardId mismatches). The description adds no parameter meaning 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 (archive) and resource (list), and scopes it to a board. The verb/resource pairing naturally distinguishes it from siblings like archive_card, though it never names that alternative. Clear but no explicit 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 or when-not-to-use guidance. It does not mention how it relates to archive_card or any unarchive counterpart, leaving the agent to infer the context. Only implied usage from the resource name.

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

assign_member_to_cardAssign Member to CardC

Assign a member to a specific card

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card to assign the member to
memberIdYesID of the member to assign to the card

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 behavioral burden. It implies a mutation by saying assign, but it does not disclose permissions, side effects, idempotency, whether the member must belong to the board, or what happens if the member is already assigned.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise, though extremely terse for a mutation tool.

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 write operation with no annotations, no output schema, and no usage guidance, the description is too minimal. It leaves out important context such as required permissions, side effects, and error conditions that an agent would need before invoking it safely.

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 are fully documented in the schema. The description adds no additional meaning beyond the schema, so the baseline of 3 is correct.

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: assign a member to a card. It clearly identifies the action, but it does not distinguish itself from the sibling remove_member_from_card beyond the verb assign, so a 4 is appropriate.

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, no prerequisites, and no exclusions. The usage is only implied by the tool name and description, which is not enough for a usage guideline score above 2.

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

attach_to_cardAttach to CardA

Attach something to a card. The start of source decides what happens: https:// stores a link, and the file stays at that URL; file:// uploads a local file from the folder in TRELLO_ATTACH_ROOT, and is refused when that is not set; data:;base64, uploads inline data.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the attachment on the card. A name without an extension takes the source's. Defaults to the file name, or attachment-<time> for inline data
cardIdYesID of the card to attach to
sourceYesAn https:// URL, a file:// URL, or a data:<mime>;base64,<data> URL
mimeTypeNoMIME type. Defaults to the one the extension or the data URL gives

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 behavioral burden. It usefully discloses that https:// stores a link, file:// uploads from TRELLO_ATTACH_ROOT and is refused when unset, and data: URLs upload inline data. It omits broader mutation effects or permissions, but covers the critical source-dependent 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.

Conciseness5/5

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

Front-loads the core action in the first clause, then enumerates the three source behaviors compactly. Every sentence earns its place and there is no redundant or vague 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?

The 4-parameter schema is fully documented and the description explains the most error-prone parameter. It does not describe return values, but no output schema exists and the schema handles name/mimeType defaults. It is nearly complete for calling the tool correctly.

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 would be 3. The description adds meaningful semantics for the source parameter by explaining the behavior of each URL scheme, including the file:// root requirement and refusal condition, going beyond the schema's format list.

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: 'Attach something to a card.' The source-scheme details clarify what 'something' can be. It does not explicitly differentiate itself from sibling tools such as download_attachment, but the purpose is clear enough to route correctly.

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?

Provides operational guidance for the source parameter, including when file:// is refused. However, it does not say when to use this tool versus alternatives or mention prerequisites such as card existence or permissions. Usage is implied rather than explicitly framed.

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

copy_cardCopy CardB

Copy/duplicate a Trello card to any list (even on a different board). Copies all properties by default including checklists, attachments, comments, labels, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoPosition of the new card: "top", "bottom", or a positive float
nameNoOverride the name of the copied card (defaults to source card name)
listIdYesID of the destination list (can be on a different board)
descriptionNoOverride the description of the copied card
sourceCardIdYesID of the source card to copy
keepFromSourceNoComma-separated list of properties to copy: "all" (default), or any combination of: attachments, checklists, comments, customFields, due, start, labels, members, stickers

TDQS

B3.4/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 the important default that all properties (checklists, attachments, comments, labels) are copied unless overridden. It omits any mention of permissions required, side effects on the source card, or whether the copy produces a new card ID.

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 the verb and scope first and no filler. It is slightly thin for a tool with six parameters but wastes no words.

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 no annotations and no output schema, an agent lacks the safety profile and return-value information, and the description does not compensate for either. It covers what is copied but not what comes back or what permissions are needed.

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 in the schema, establishing a baseline of 3. The description adds only a general statement about default copying that loosely maps to keepFromSource, without new syntax 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 (copy/duplicate) and resource (Trello card) plus the scope of destinations ('any list, even on a different board'). It does not explicitly distinguish itself from the obvious sibling move_card, which is the main risk of confusion for an agent.

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 'even on a different board' clause implies a use case (cross-board duplication) but the description never says when to copy versus move, nor mentions any prerequisites. Usage is only 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.

copy_checklistCopy ChecklistA

Copy a checklist (with all its items) from one card to another. Works across different boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoPosition of the new checklist: "top", "bottom", or a positive number
nameNoOverride the name of the copied checklist (defaults to source checklist name)
cardIdYesID of the destination card to copy the checklist to
sourceChecklistIdYesID of the source checklist to copy

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral load. It usefully discloses that all child items are duplicated and that source and destination may live on different boards, but it omits whether the source is left untouched, what identity/permission requirements apply, and what the operation 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?

Two short sentences, zero filler, with the most decision-relevant facts (includes items, cross-board) front-loaded. 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 four-parameter copy operation with no output schema, the description covers the behavior an agent most needs to know before calling it. It is close to complete, with only minor gaps around permissions and the shape of the result.

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 sourceChecklistId, cardId, name, and pos are all fully documented in the schema with defaults and accepted values. The description adds no parameter-level meaning beyond that, which matches the baseline 3 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?

States a specific verb (copy) and resource (checklist) and immediately clarifies scope: the copy includes all items and works across boards. This distinguishes it from copy_card and create_checklist, though it does not name those siblings explicitly.

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 description — use this when you need an existing checklist duplicated onto another card — but there is no explicit when-to-use vs. create_checklist or manual reconstruction via get_checklist_items + add_checklist_item, and no mention of prerequisites such as permissions on the destination card.

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

create_boardCreate BoardC

Create a new Trello board optionally within a workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
descNoDescription of the board
nameYesName of the board
defaultListsNoCreate default lists (true by default)
defaultLabelsNoCreate default labels (true by default)
idOrganizationNoWorkspace ID to create the board in (uses active if not provided)

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 behavioral burden. It never states that default lists and labels are created automatically (true by default), what happens with the active workspace fallback, or what the response contains — all material side effects 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.

Conciseness4/5

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

A single front-loaded sentence with no filler. It is appropriately sized, though it is arguably under-specified rather than maximally efficient.

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 should disclose at least the auto-created defaults and the active-workspace fallback. Schema coverage is strong, which limits the damage, but the behavioral gaps keep this at minimum-viable.

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 five parameters are already documented in the schema (including the idOrganization 'uses active if not provided' behavior). The description adds only the workspace-optionality notion, which the schema already covers, 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?

States a specific verb+resource ('Create a new Trello board') with the scope modifier 'optionally within a workspace'. It is clearly distinguishable from read siblings like list_boards or get_board_labels, though it doesn't name any alternative.

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., workspace membership or auth), and no mention of the sibling set. The 'optionally within a workspace' clause is the only contextual hint.

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

create_checklistCreate ChecklistB

Create a checklist on a card, with its items in the same call. Name it "Acceptance Criteria" for acceptance criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the checklist to create
itemsNoItems to add, in order (none if not provided)
cardIdYesID of the Trello card

TDQS

B3.2/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. It discloses that items are created atomically with the checklist, but says nothing about side effects, required permissions, behavior on duplicate checklist names, or what happens if cardId is invalid. For an unannotated write tool this is a substantial 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 short sentences, with the core action front-loaded. The naming-convention sentence is awkwardly phrased and somewhat niche, but nothing is padded or redundant.

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 3-parameter create tool with full schema coverage and no output schema, the description covers the essentials plus the item-batching behavior. It is still missing failure/duplicate-handling context that an agent would want before calling a create operation.

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 name, items and cardId are already documented in the schema (including item ordering and the 'none if not provided' default). The description adds only the notion that items belong to the same call; 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 and resource (create a checklist on a card) and adds scope detail that implicitly separates it from add_checklist_item and copy_checklist: items are supplied in the same call. It does not name those siblings explicitly, so differentiation is inferred 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 second sentence gives a naming convention for one specific use case (use 'Acceptance Criteria' for acceptance criteria), which is a genuine usage hint tied to the sibling get_acceptance_criteria. However, there is no guidance on when to use this versus add_checklist_item, copy_checklist, or how to handle a card that already has a checklist.

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

create_labelCreate LabelC

Create a new label on a board

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the label
colorNoColor of the label (e.g., "red", "blue", "green", "yellow", "orange", "purple", "pink", "sky", "lime", "black", "null")
boardIdNoID of the Trello board (uses default if not provided)

TDQS

C2.9/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 behavioral burden for a mutation tool, yet it discloses nothing about permissions, whether the board is required or defaulted, whether duplicate names are allowed, or what the result contains. Only the bare mutation intent is conveyed.

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, which is appropriately sized for a simple creation tool. It is efficient, though it arguably errs toward under-specification over 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?

The low-complexity schema and full parameter coverage mean the description need not re-explain inputs. Still, as a mutation with no annotations and no output schema, it omits behavioral essentials such as default-board resolution and side effects, leaving it only minimally viable.

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 name, color (with example values), and boardId (including its default behavior). The description adds no meaning beyond that, which is the baseline 3 when structured fields do the work.

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 ('Create a new label'), making the action unambiguous. However, it does not differentiate itself from sibling tools like update_label, delete_label, or add_label_to_card, leaving the agent to infer the distinct role 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 tool versus update_label or add_label_to_card, nor any note that it only creates the label without attaching it to a card. The agent gets no conditions or exclusions.

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

delete_checklist_itemDelete Checklist ItemC

Delete a checklist item from a card

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card containing the checklist item
checkItemIdYesID of the checklist item to delete

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 behavioral burden. It indicates deletion but does not disclose irreversibility, permission requirements, side effects on the card or checklist, or what the operation returns, leaving important destructive-action context missing.

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

Conciseness4/5

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

The description is a single short sentence, front-loaded with the action and resource. It is not verbose, though it is also quite minimal for a delete operation.

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 no annotations and no output schema, the description is incomplete. It does not mention reversibility, permissions, side effects, or error behavior, so an agent lacks enough context to invoke it safely beyond the basic operation.

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

Parameters3/5

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

Schema description coverage is 100% and the schema documents both cardId and checkItemId clearly. The description adds no additional parameter meaning beyond the schema, so the baseline score of 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 ('Delete') and resource ('checklist item from a card'), so the core operation is clear. However, it does not explicitly distinguish itself from sibling tools such as add_checklist_item or update_checklist_item, 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, no prerequisites, and no exclusions. The implied usage is obvious from the verb, but no explicit context is provided.

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

delete_commentDelete Comment from CardB

Delete a comment from a Trello card

ParametersJSON Schema
NameRequiredDescriptionDefault
commentIdYesID of the comment to delete

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 states the mutation but does not disclose irreversibility, required permissions, side effects, or error behavior; the destructive nature is only implied.

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. It is appropriately sized for a one-parameter delete 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?

For a simple delete tool, it conveys enough to invoke, but with no annotations or output schema it omits important behavioral context such as destructive side effects and auth requirements. The schema covers the single required parameter, leaving safety as the main 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 the baseline is 3. The description adds no parameter detail beyond the schema's commentId description; no compensation is needed.

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 (comment on a card). It is distinguishable from sibling tools like add_comment, update_comment, and get_card_comments by action, though it does not explicitly name 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?

No when-to-use or when-not-to-use guidance is provided. The description implies usage only from the verb; no prerequisites, alternatives, or exclusions are mentioned.

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

delete_labelDelete LabelC

Delete a label from a board

ParametersJSON Schema
NameRequiredDescriptionDefault
labelIdYesID of the label to delete

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 disclosure burden. It conveys only that this is a destructive mutation; it says nothing about irreversibility, whether the label is also stripped from every card that carries it, permission requirements, or success/failure 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?

One short, front-loaded sentence with no padding or redundancy. Its terseness is efficient, though the brevity comes at the cost of the behavioral detail noted elsewhere.

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 tool with zero annotation coverage and no output schema, the definition omits the facts an agent most needs: whether deletion is permanent, whether it cascades to cards, and required scoping/permissions. The complete single-parameter schema is the only thing making this callable.

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?

The single parameter has 100% schema description coverage ('ID of the label to delete'), so the schema already carries the semantics. The description adds nothing about the identifier's format or where it comes from (e.g., get_board_labels), leaving this at the 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 (delete) and resource (label) with a scoping qualifier ('from a board'), so the agent can tell it acts on the board's label taxonomy rather than on a card-label association. It stops short of naming the ambiguous siblings (remove_label_from_card, update_label) to differentiate itself 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 remove_label_from_card (detach a label from one card) or archive/update_label. The phrase 'from a board' faintly implies board-level scope, but no condition or alternative is spelled out.

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

download_attachmentDownload AttachmentA

Download an uploaded attachment from a card. Returns base64-encoded data that can be saved or viewed. A link attachment has no file on Trello, and a file over 5 MB would flood the context, so both are refused.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card containing the attachment
attachmentIdYesID of the attachment to download

TDQS

A4.3/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. It discloses the return format (base64-encoded data), refusal conditions, and the rationale for the size limit (context flooding), which is useful context beyond a simple read operation.

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 tightly written sentences, front-loaded with purpose and followed by return behavior and constraints. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

Given no output schema, the description explains what is returned (base64-encoded data) and what is refused. For a simple two-parameter download tool, this provides sufficient context to call 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 coverage is 100%, so the schema already documents both required parameters. The description names the card and attachment implicitly but adds no syntax or format detail beyond what the schema provides.

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: 'Download an uploaded attachment from a card.' It distinguishes itself from sibling tools like attach_to_card by focusing on retrieval, and it clarifies the special case of link attachments, which have no file.

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?

The description gives clear when-not conditions: link attachments and files over 5 MB are refused. It does not name an alternative tool for those cases, but the exclusions are explicit enough to guide invocation.

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

find_checklist_items_by_descriptionFind Checklist Items by DescriptionC

Search for checklist items containing specific text in their description

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdNoID of the card to scope checklist search to (recommended to avoid ambiguity)
boardIdNoID of the Trello board (uses default if not provided)
descriptionYesText to search for in checklist item descriptions

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 behavioral burden. It says nothing about matching semantics (substring vs exact, case sensitivity), whether results span multiple cards/boards, or the consequence of omitting cardId and boardId.

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 the matching criterion. It is not padded, though it is arguably too terse for the scoping decisions the tool requires.

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 search tool with full schema coverage and no output schema, the description is minimally adequate. It nonetheless omits search semantics and the cross-card/cross-board scoping behavior that determine correct invocation.

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, including the note that cardId is recommended to avoid ambiguity. The description only paraphrases the required description parameter, adding nothing beyond the schema; 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 clear verb (Search) and resource (checklist items) plus the matching criterion (containing specific text in their description). However, it does nothing to distinguish this from close siblings like get_checklist_items or get_checklist_by_name, which also retrieve checklist items.

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 prefer this tool over get_checklist_items, get_checklist_by_name, or get_acceptance_criteria. The agent is left to infer from the name alone that this is the text-search variant.

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

get_acceptance_criteriaGet Acceptance CriteriaA

Get a card's (or board's) acceptance criteria. Matches a checklist named "Acceptance Criteria", "AC", "DoD", or "Definition of Done" (case-insensitive); first match in that order wins. Returns a {found: true|false} union; read reason when not found.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdNoID of the card to scope checklist search to (recommended to avoid ambiguity)
boardIdNoID of the Trello board (uses default if not provided)

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 well: it discloses the alias list, the first-match-wins ordering, case-insensitivity, and the {found: true|false} union plus the need to read 'reason'. It omits any note on permissions or whether an ambiguous multi-match is flagged.

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 tightly packed sentences with the core action front-loaded and the matching/return semantics immediately following. The alias enumeration is long but each token is functional, not padding.

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

Completeness4/5

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

No output schema exists, so the description appropriately explains the return shape and the 'reason' field on misses. With two fully documented parameters and a read-only lookup, little else is needed, though it never states that this is a non-mutating search operation.

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 both parameters are already documented, including the 'recommended to avoid ambiguity' note for cardId. The description adds the card-vs-board scoping concept but no format or syntax detail beyond the schema, 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 states a specific verb and resource ('Get a card's (or board's) acceptance criteria') and defines the exact matching semantics, making the tool's narrow specialty evident. It stops short of naming the obvious sibling (get_checklist_by_name) as the generic alternative, so differentiation is implied 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?

Usage context is implied by the alias-matching rules and the note to read 'reason' when not found, which tells the agent what to expect. However, there is no explicit when-to-use guidance versus get_checklist_by_name or get_checklist_items, nor any statement of prerequisites or exclusion cases.

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

get_active_board_infoGet Active Board InfoB

Get information about the currently active board

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/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 only says 'get information' without noting read-only safety, potential errors, or what happens if no active board is set. The verb 'get' implies a read operation, but no further behavior is described.

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, concise sentence with no wasted words. It fully states the tool's purpose in minimal space, making it highly scannable and appropriate for the tool's simplicity.

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?

The description is too sparse to be contextually complete. It does not explain what 'active board' means, how it is set, or what information will be returned. With no output schema or annotations, the agent lacks essential context for using the tool correctly, especially in the context of sibling tools like set_active_board.

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 has zero parameters, and the baseline for 0 params is 4. The description adds the concept of 'currently active board,' which clarifies that the tool uses a global state rather than taking an explicit board identifier. No parameter details are needed.

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

Purpose5/5

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

The description clearly states the action ('get') and the specific resource ('currently active board'), which distinguishes this tool from siblings like list_boards and set_active_board. It is unambiguous about what information is retrieved.

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 is provided on when to use this tool versus alternatives. It does not mention that it depends on a prior set_active_board call or contrast with get_board/list_boards, leaving the agent to infer usage context 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.

get_board_custom_fieldsGet Board Custom FieldsA

Get all custom field definitions on a board. Returns field IDs, names, and types. For dropdown/list fields, also returns available options with their IDs. No tool creates a field, so a board without fields returns an empty list.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdNoID of the Trello board (uses default if not provided)

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 it does disclose useful behavior: the exact shape of the return (IDs, names, types, dropdown options) and the empty-list edge case for boards without fields. It omits auth/permission and any pagination or rate-limit notes, but the output behavior is well covered.

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, each front-loaded with a distinct fact (what it returns, extra dropdown detail, empty-list edge case). No filler or repetition.

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?

Since there is no output schema, the description appropriately explains the return structure and the empty-result case, making it sufficient to call and interpret the tool. Only minor gaps remain, such as permissions or whether results are affected by the board's active state.

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?

Only one parameter with 100% schema description coverage, so the schema already documents boardId and its default-if-omitted behavior. The description adds no parameter-level detail beyond that, matching the baseline 3 for a fully documented single-param schema.

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 precise verb+resource ('Get all custom field definitions on a board') and explicitly enumerates the returned data (field IDs, names, types, options). It is clearly distinct from siblings like get_board_labels and update_card_custom_field, which deal with different resources or mutations.

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 read-the-board's-definitions framing, and the note that no tool creates fields clarifies the read-only scope, but there is no explicit when-to-use guidance or named alternative for obtaining custom field data (e.g. versus update_card_custom_field). Nothing wrong, just not routed.

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

get_board_labelsGet Board LabelsC

Get all labels of a specific board

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
boardIdNoID of the Trello board (uses default if not provided)

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 implies a read operation via 'Get' but does not confirm read-only safety, side effects, authentication needs, rate limits, pagination, or return format. This is a significant gap for a 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.

Conciseness4/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 is appropriately concise for a simple tool, though its brevity contributes to gaps captured in other dimensions.

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?

Given the tool's simplicity, 100% schema coverage, and lack of an output schema, the description is minimally adequate. However, it omits relevant context such as the default-board behavior noted in the schema and any usage guidance relative to sibling label and board tools, leaving it incomplete for an agent that must select among many alternatives.

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 both parameters (raw and boardId) are fully documented in the schema. The description adds no additional meaning beyond what the schema already provides, making the baseline score of 3 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 clear verb ('Get') and resource ('all labels of a specific board'), distinguishing it from sibling write tools like create_label and update_label. However, it does not explicitly differentiate itself from other read siblings such as list_boards or get_board_members, 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 tool versus alternatives, nor any prerequisites or exclusions. The description merely restates the operation, leaving the agent 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.

get_board_membersGet Board MembersB

Get all members of a specific board

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
boardIdNoID of the Trello board (uses default if not provided)

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 must carry the full behavioral burden. It does not mention that this is a read-only operation (though 'Get' implies it), nor does it describe permissions, pagination, rate limits, or what 'members' includes. For a tool with zero annotation coverage, this is a notable 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 wasted words. It is appropriately sized for a simple retrieval tool, though its brevity contributes to the other gaps.

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 read tool with only two parameters, full schema coverage, and no output schema, the description is minimally sufficient: an agent knows what it does and what parameters exist. However, it lacks usage context and behavioral details that would make it 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 100%, so both parameters are fully documented in the schema. The description adds no additional meaning about parameters (e.g., default board behavior), which is acceptable given the schema's completeness but offers no extra value.

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 clear verb ('Get') and resource ('all members of a specific board'), making the tool's purpose immediately understandable. It does not explicitly differentiate itself from siblings like get_board_labels or get_board_custom_fields, but the resource is distinct enough that an agent can tell them apart.

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 guidance on when to use this tool versus alternatives, nor any prerequisites or context. It simply states what the tool does, leaving the agent 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.

get_cardGet CardA

Get detailed information about a card, by its ID or by its number on a board. The number is the one Trello shows on the card and a branch name carries, as 53 in fix/53-chat-button.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
cardIdNoID of the card. Give this or cardNumber
boardIdNoBoard the card is on. Needed with cardNumber when there is no active board. With cardId, a card on any other board is refused
cardNumberNoNumber of the card on its board. Give this or cardId
includeMarkdownNoWhether to return card description in markdown format (default: false)

TDQS

A3.8/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 behavioral burden. 'Get' implies a read, but nothing is said about permission requirements, error behavior (e.g. refusal when a cardId belongs to another board), pagination, or the shape of the returned data. The one piece of real behavioral context — raw vs trimmed replies — lives only in the schema, not the description.

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 tight sentences, front-loaded with the primary capability and followed by the disambiguating detail for cardNumber. Zero 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 read tool with no annotations and no output schema, the description covers the selection-critical question (which identifier to use) and the number semantics. It is slightly thin on what 'detailed information' returns and does not mention the raw/includeMarkdown output-shaping flags, but nothing essential to invocation is missing.

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. The description nonetheless adds meaning beyond the schema by explaining what cardNumber actually is: the number Trello displays and that appears in branch names like fix/53-chat-button, which helps an agent derive the value from user input.

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 detailed information about a card') and immediately qualifies the two lookup modes (by ID or by board number). This clearly separates it from siblings like get_cards_by_list_id, search_cards, and get_my_cards.

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 explains how to identify a card (ID vs number) and even decodes the branch-name convention, which is genuinely useful context. However, it never says when to prefer this tool over alternatives such as search_cards or get_cards_by_list_id, leaving usage implicit.

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

get_card_commentsGet Card CommentsC

Retrieve all comments from a specific Trello card

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
limitNoMaximum number of comments to retrieve (default: 100)
cardIdYesID of the card to get comments from

TDQS

C2.9/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 disclosure burden. It implies a read operation via 'Retrieve' and says 'all comments', which is actually misleading because the limit parameter defaults to 100 and caps results. It does not disclose pagination behavior, authentication needs, or return format.

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 wasted words. It is efficient, though its terseness leaves gaps that a longer description might have addressed elsewhere rather than being a structural flaw.

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 read tool with 3 fully documented parameters, the description is minimally adequate. However, with no annotations and no output schema, it should clarify that results are capped by the limit parameter and that the operation is read-only; the phrase 'all comments' contradicts the default limit and could mislead an agent.

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, raw, and limit are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides (e.g., it doesn't explain the limit/raw interaction), which is the baseline 3 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 clear verb ('Retrieve') and resource ('comments from a specific Trello card'), making the operation unmistakable. It does not explicitly differentiate itself from sibling tools like get_card_history or add_comment, but the noun 'comments' and read verb make the target obvious without opening the schema.

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, no prerequisites (e.g., needing a card ID), and no mention of related tools such as add_comment or get_card_history. Usage is only implied by the name and description.

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

get_card_historyGet Card HistoryB

Get the history/actions of a specific card

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
limitNoOptional: Number of actions to fetch (default: all)
cardIdYesID of the card to get history for
filterNoOptional: Filter actions by type (e.g., "all", "updateCard:idList", "addAttachmentToCard", "commentCard", "updateCard:name", "updateCard:desc", "updateCard:due", "addMemberToCard", "removeMemberFromCard", "addLabelToCard", "removeLabelFromCard")

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. 'Get' implies a read operation, but the description does not disclose whether it is read-only, what permissions are required, how pagination works, or what the return format looks like. This is a significant gap for a 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 efficient sentence with no wasted words, and the core purpose is front-loaded.

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 schema fully documents the parameters, but the description is minimal for a tool with no annotations and no output schema. It hints at returning history/actions but does not describe the return shape or any behavioral constraints, leaving gaps that an agent might need to infer.

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 input schema. The description adds no additional parameter semantics, which is the expected baseline 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?

States a clear verb ('Get') and specific resource ('history/actions of a specific card'). It distinguishes the tool from generic card retrieval, but does not differentiate it from siblings like get_card_comments or get_recent_activity.

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 alternatives such as get_card_comments when only comments are needed. Usage is only implied by the resource name.

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

get_cards_by_list_idGet Cards by List IDA

Fetch cards from a specific Trello list on a specific board. Descriptions are previewed by default to keep responses compact; set fields without "desc" to omit descriptions, or increase descMaxLength/omitDescThresholdBytes and use get_card for full details.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
fieldsNoComma-separated list of fields to return (e.g., "name,idShort,labels,due,dueComplete"). Each card then holds its ID and exactly those fields, untrimmed. Omit for the trimmed card.
listIdYesID of the Trello list
boardIdNoBoard the list is on. If given, a list on any other board is refused
nameFilterNoOptional substring to filter cards by name (case-insensitive)
descMaxLengthNoMaximum description preview length per card. Defaults to 200. Increase for fuller descriptions.
omitDescThresholdBytesNoApproximate response size threshold before descriptions are omitted. Defaults to 50000 bytes.

TDQS

A4.3/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 usefully discloses the non-obvious response-shaping behavior: descriptions are previewed by default to keep responses compact, and can be omitted or expanded. It stops short of covering permissions, rate limits, or whether the list must belong to the active board.

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 with the primary purpose front-loaded and no filler. The second sentence is dense with parameter names but each clause maps to a distinct behavior, so it earns its space.

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 list-fetch tool with no output schema, the description adequately conveys the return shape (trimmed cards with previewed descriptions) and the knobs controlling it. It omits pagination, ordering, and result-size limits, which are minor gaps for this tool type.

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 cross-parameter strategy the schema does not: setting 'fields' without 'desc' omits descriptions, while raising descMaxLength/omitDescThresholdBytes preserves them. That interaction guidance earns it above baseline.

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 (Fetch), resource (cards), and scope (a specific Trello list on a specific board), which cleanly separates it from siblings like get_card, search_cards, and get_my_cards. It also names get_card as the route for full card details, so an agent can distinguish the two without opening either schema.

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

Usage Guidelines4/5

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

Gives a clear condition for the alternative path ('use get_card for full details') and explains the default preview behavior that drives that choice. It does not, however, address when to prefer this over search_cards or get_my_cards, so selection 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.

get_checklist_by_nameGet Checklist by NameB

Get a complete checklist with all its items and completion percentage

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the checklist to retrieve
cardIdNoID of the card to scope checklist search to (recommended to avoid ambiguity)
boardIdNoID of the Trello board (uses default if not provided)

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 usefully discloses the return contents (items plus completion percentage), but says nothing about read-only safety, required permissions, ambiguity resolution (the schema recommends cardId to avoid ambiguity), or error behavior when a name matches multiple checklists.

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; every word contributes to describing the resource and its returned content.

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, and the description partially compensates by naming the returned fields (items, completion percentage). However, for a lookup tool with an ambiguity-prone name parameter and no annotations, it omits scope/permission context and any distinction from sibling checklist readers, leaving 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 name, cardId, and boardId, including the recommendation to scope by cardId. The description adds no parameter-level detail, so the baseline of 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 ('Get') and resource ('checklist') and clarifies the payload ('all its items and completion percentage'), which distinguishes the output from a bare lookup. However, it does not explicitly contrast with siblings like get_checklist_items or find_checklist_items_by_description, so the agent must infer why the 'by name' variant is preferable.

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, no mention of alternatives, and no conditions or prerequisites. It only states what is returned, leaving the agent to infer that this is the name-based lookup path among the several checklist-reading siblings.

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

get_checklist_itemsGet Checklist ItemsC

Get all items from a checklist by name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the checklist to retrieve items from
cardIdNoID of the card to scope checklist search to (recommended to avoid ambiguity)
boardIdNoID of the Trello board (uses default if not provided)

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 ambiguity when multiple checklists share a name, pagination, ordering, or what happens when the name is not found. For a name-keyed lookup with zero annotation coverage, that gap is material.

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 resource and the lookup key come first. It is efficient, though it is arguably too terse for the ambiguity risk this lookup carries.

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 read-only, three-parameter tool with full schema coverage and no output schema, the description is minimally sufficient. It omits the one thing an agent would benefit from knowing here: name collisions across cards and how boardId/cardId resolve them.

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, including the cardId ambiguity warning. The description adds no syntax, format, or precedence detail beyond that, which is the expected baseline when the schema does the work.

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 ('Get all items from a checklist') and adds the lookup key ('by name'), which separates it from get_checklist_by_name and add_checklist_item. It stops short of naming any sibling explicitly, so an agent must infer the boundary from the schema.

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 closely related siblings get_checklist_by_name or find_checklist_items_by_description. The only hint about usage lives in the cardId schema field, not the description.

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

get_listsGet ListsB

Retrieve all lists from the specified board

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
boardIdNoID of the Trello board (uses default if not provided)

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. 'Retrieve' implies a read operation, but the description does not disclose permissions, pagination, whether archived lists are included, or the effect of the raw parameter.

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 wasted words. It communicates the core action and scope 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?

For a simple two-parameter read tool, the description is minimally adequate. However, with no output schema, it could usefully clarify what is returned (e.g., open/closed lists, list shape) and when default board behavior applies.

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 both raw and boardId. The description adds only 'from the specified board', which is consistent with but not richer than the schema, 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: retrieve all lists from a board. It is clear enough to distinguish from board-level or card-level siblings, but it does not explicitly differentiate itself from tools like get_cards_by_list_id or list_boards.

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 guidance, no mention of alternatives, and no exclusions. The only usage hint is the phrase 'specified board', which is already captured by the boardId parameter in the schema.

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

get_my_cardsGet My CardsB

Fetch all cards assigned to the current user

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries full behavioral burden. It implies a read-only fetch and scopes results to the current user, but it does not disclose authentication requirements, pagination behavior, whether archived cards are included, or any other operational traits.

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 or repetition. Every word contributes to stating the tool's purpose.

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 read tool with one optional, fully documented parameter and no output schema, the description adequately states the returned resource: cards assigned to the current user. It could still say more about output shape or pagination, but the core information needed to call the tool is present.

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 one parameter, and schema description coverage is 100%, so the schema fully documents 'raw' as controlling full versus trimmed Trello replies. The description adds no parameter-level meaning beyond the schema, which makes the baseline score of 3 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 gives a specific verb and resource: 'Fetch all cards assigned to the current user.' It is clear what the tool returns and distinguishes itself from broader card-listing siblings by scoping to the current user, but it does not explicitly name an alternative sibling tool.

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 states what the tool does but provides no explicit when-to-use, when-not-to-use, or alternative-tool guidance. An agent can infer that it fetches the current user's assigned cards, but there is no routing help against siblings like get_cards_by_list_id or search_cards.

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

get_recent_activityGet Recent ActivityC

Fetch recent activity on the Trello board

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
limitNoNumber of activities to fetch (default: 10)
sinceNoOnly return actions after this date (ISO 8601) or action ID
beforeNoOnly return actions before this date (ISO 8601) or action ID
boardIdNoID of the Trello board (uses default if not provided)

TDQS

C2.9/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 behavioral burden, yet it discloses nothing about scope of results, the default 10-item cap, the raw vs trimmed reply behavior, or pagination/ordering. Only the word 'recent' gestures at freshness, and the implicit read-only nature of 'Fetch' is the sole signal.

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, appropriately sized for a simple lookup. It errs toward under-specification rather than verbosity, but structurally it is clean.

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?

Five optional parameters, no annotations and no output schema mean the description must carry safety and return-shape context, and it does not. It never states what an 'activity' record contains or what the default-board fallback means, leaving real gaps for the agent.

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 five parameters (raw, limit, since, before, boardId) are already documented in the schema; baseline 3 applies. The description adds no meaning beyond that, not even connecting 'recent' to the since/before window.

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 ('Fetch') and resource ('recent activity') scoped to 'the Trello board', so an agent immediately knows what it retrieves. No sibling tool covers activity, so differentiation is moot, but the description could clarify what counts as 'activity' (actions/comments/moves).

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. an active board), and no mention of how this differs from card history or comment tools. The agent must infer that this is a board-level audit feed.

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

list_boardsList BoardsB

List all boards the user has access to

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)

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 must carry the full behavioral burden. It implies a safe read operation and access-controlled scope, but does not disclose return format, pagination behavior, or any other operational traits.

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 wasted words. It communicates the tool's scope efficiently.

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 read-only list tool with one optional parameter and no output schema, the description is minimal but functional. It omits any mention of return shape, pagination, or ordering, which would help an agent anticipate the result.

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

Parameters3/5

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

Schema description coverage is 100%, and the single 'raw' parameter is fully documented in the schema. The description adds no parameter meaning, which is acceptable for this simple case.

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 ('List') and resource ('boards') with scope ('all boards the user has access to'). This implicitly distinguishes it from list_boards_in_workspace by contrast (all accessible boards vs. one workspace), though it does not name the alternative 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?

Provides no explicit guidance on when to use this tool versus alternatives like list_boards_in_workspace or get_active_board_info. Usage context is only implied by the phrase 'all boards the user has access to'.

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

list_boards_in_workspaceList Boards in WorkspaceC

List all boards in a specific workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)
workspaceIdYesID of the workspace to list boards from

TDQS

C2.7/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, and it discloses almost nothing: not whether archived/closed boards are included, whether results are paginated, ordering, or the permission/visibility constraints of the workspace. A single read operation is low-risk, but the description adds no behavioral context at all.

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?

One short, front-loaded sentence with no wasted words. It is concise but arguably under-specified rather than tight, which keeps it just short of a 5.

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 two-parameter read tool with full schema coverage and no output schema, the description is minimally adequate. However, it omits any routing guidance against the closely named sibling list_boards, which is the main thing an agent needs here.

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%: workspaceId is documented as 'ID of the workspace to list boards from' and the raw flag is explained as returning Trello's full reply. The description adds nothing beyond the schema, so the baseline 3 applies.

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?

States a clear verb (List) and resource (boards), but it essentially restates the tool name 'list_boards_in_workspace' with the only addition being 'in a specific workspace'. It never distinguishes itself from the sibling list_boards, which an agent must choose between, so the scope difference 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 the obvious alternative list_boards (all boards) or list_workspaces. The agent must guess which of the near-identical list tools to call based on name alone.

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

list_workspacesList WorkspacesB

List workspaces the user has access to. If TRELLO_ALLOWED_WORKSPACES is configured, only allowed workspaces are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn Trello's full reply instead of the trimmed one (default: false)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It valuably discloses that results are silently filtered when TRELLO_ALLOWED_WORKSPACES is set (an agent could otherwise assume a complete list), but it says nothing about ordering, pagination, or return 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 tight sentences with the core capability front-loaded and the filtering caveat second. 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?

For a simple read-only list tool with one optional param, no output schema and no annotations, the description covers scope plus the one non-obvious behavior (env-var filtering). Slightly thin on ordering/pagination but adequate overall.

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?

Only one optional parameter and schema description coverage is 100%, so the schema already documents 'raw'. The description adds nothing about the raw/trimmed distinction beyond what the schema states; 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 ('List workspaces') with scope ('the user has access to'). It implicitly distinguishes from list_boards / list_boards_in_workspace by naming the workspaces resource, though it never names a 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?

No when-to-use guidance or alternatives are given. The TRELLO_ALLOWED_WORKSPACES sentence describes a filtering condition, not when an agent should pick this tool over list_boards_in_workspace or set_active_workspace.

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

move_cardMove CardC

Move a card to a different list, potentially on a different board

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoPosition of the card in the target list. Accepts "top", "bottom", or a positive number
cardIdYesID of the card to move
listIdYesID of the target list
boardIdNoBoard the target list is on. If given, a list on any other board is refused. The card always moves to the board of listId

TDQS

C2.9/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 hints at cross-board moves but says nothing about required permissions, whether the card is removed from its source list, ordering side effects, or what happens if the target list is invalid.

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. Efficient, though it is arguably under-specified rather than truly concise.

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?

A mutation tool with no annotations and no output schema needs more: side effects on the source list, failure modes, and confirmation of the move result are all absent. The description leaves the agent guessing about consequences.

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 are already documented in the schema, including pos syntax and the boardId refusal behavior. The description adds no parameter detail beyond that 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?

The description states a specific verb (move) and resource (card) and clarifies scope: to a different list, potentially a different board. This distinguishes it from copy_card and add_card_to_list, though it doesn't name them 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 or when-not-to-use guidance. Siblings like copy_card, add_card_to_list, and update_card_details overlap in intent, but the description gives no criteria for choosing move_card over them.

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

remove_label_from_cardRemove Label from CardB

Remove one label from a card. The other labels on the card stay.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card
labelIdYesID of the label to remove

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden, but it does disclose a real behavioral trait: only the specified label is removed and other labels persist, which distinguishes a targeted detach from a full reset. It says nothing about permissions, reversibility, or error behavior when the label is absent.

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 action and followed by the scope qualifier. No padding or redundancy.

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 two-parameter mutation with fully documented schema and no output schema, the description is sufficient to invoke correctly. It stops short of covering failure modes or required permissions.

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 both cardId and labelId are already documented in the schema. The description adds only the cardinality constraint ('one label'), which is marginal beyond the schema 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 (label from a card), and the 'one label' scoping implicitly contrasts with the sibling add_label_to_card. It does not explicitly name that sibling, so differentiation is inferable 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 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 alternatives. The agent must infer from the name alone that this is the inverse of add_label_to_card and distinct from delete_label.

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

remove_member_from_cardRemove Member from CardC

Remove a member from a specific card

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card to remove the member from
memberIdYesID of the member to remove from the card

TDQS

C2.6/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 and fails to meet it. It does not state whether the removal requires admin/member permissions, whether it is idempotent or errors when the member is not on the card, or whether the action is reversible.

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 the operation front-loaded and zero wasted words. It is efficient, though the brevity here reflects under-specification rather than disciplined concision.

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 membership mutation with no annotations and no output schema, the description is too thin. It omits permission requirements, failure modes, and any indication of what happens after removal, leaving real gaps an agent would need filled.

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 both cardId and memberId are already documented in the schema. The description adds no format, ID-source, or lookup guidance beyond what the structured fields provide, making the baseline 3 appropriate.

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 description gives a specific verb ('Remove') and resource ('member from a specific card'), so the operation is unambiguous. However, it essentially restates the tool name and title verbatim, adding no scope, constraints, or differentiation from siblings like assign_member_to_card or remove_label_from_card.

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, no prerequisites (e.g., membership must exist, permissions required), and no exclusions. 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.

search_cardsSearch CardsB

Search card names and descriptions by text, on one board or on every board the user can reach. Returns the name, number, board, list and link of each match.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMost matches to return (default 20, at most 100)
queryYesText to search for. A word matches as a prefix
boardIdNoSearch this board only (searches every allowed board if not provided)

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full behavioral burden. It says what is returned (name, number, board, list, link) but omits pagination behavior, case sensitivity, matching limits, rate limits, or performance implications of searching across all boards. This leaves significant gaps for an agent to infer.

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 efficient sentences that front-load the core purpose (search card names and descriptions) and then list the return fields. No unnecessary words, though it could be slightly more compact.

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 tool with no annotations and no output schema, the description gives some completeness by listing return fields, but it fails to cover behavioral aspects like pagination, case handling, or search scope limitations. It is adequate but not 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 100%, so the schema already fully documents each parameter, including the prefix-matching behavior for 'query' and the default/max for 'limit'. The description adds no parameter details beyond what the schema provides, making a baseline 3 appropriate.

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

Purpose5/5

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

The description states a specific verb (search) and resource (card names and descriptions), along with scope (one board or every board the user can reach). It is clearly distinguishable from siblings like get_card or get_my_cards, which retrieve by ID or assignment rather than text matching.

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 implies usage through 'by text, on one board or on every board,' giving some context, but it never explicitly states when to use this tool versus alternatives like get_cards_by_list_id or get_my_cards. No exclusions or prerequisites are mentioned.

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

set_active_boardSet Active BoardC

Set the active board for future operations

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYesID of the board to set as active

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 behavioral burden. It does not say whether the active board persists across sessions or across processes, whether it costs a request, whether it errors on an invalid boardId, or whether it is scoped per user.

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 the verb and scope front-loaded and no wasted words. It is efficient, though the brevity borders on under-specification rather than tightness.

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 one-parameter state-setting tool with full schema coverage and no output schema, the description covers the minimum. It is missing the scope of "active" (session vs. persistent) and any error/precondition behavior an agent would want.

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 single required boardId is documented in the schema itself, so the description adds nothing beyond it. 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?

States a specific verb ("Set") and resource ("the active board") plus the effect on subsequent calls ("for future operations"). It is distinguishable from the read counterpart get_active_board_info, though it never names that sibling or the analogous set_active_workspace.

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. The phrase "for future operations" faintly implies this must be called before board-scoped actions, but no alternatives or prerequisites (e.g., needing a valid boardId from list_boards) are mentioned.

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

set_active_workspaceSet Active WorkspaceA

Set the active workspace for future operations

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesID of the workspace to set as active

TDQS

A3.5/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 the key behavioral trait that this is a stateful setting affecting subsequent operations, which is real value beyond the schema. It does not cover persistence across sessions, permissions required, or what happens on an invalid workspaceId.

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 sentence with zero filler, with the core action and its effect front-loaded. Nothing is repeated or 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 one-parameter state setter this covers the essentials, but with no annotations and no output schema the description should say more about the effect of activation, its scope, and failure behavior. The stateful consequence is hinted at but not fully specified.

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% for the single workspaceId parameter, and the schema already explains it as 'ID of the workspace to set as active.' The description adds no format, source, or validation detail beyond that, so the baseline 3 for full schema coverage 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 (set) and resource (active workspace) and adds the scope 'for future operations,' so the agent understands this is a state mutation. It never names the closely related sibling set_active_board, so the boundary between workspace-level and board-level activation 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 Guidelines3/5

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

The phrase 'for future operations' implies this is a prerequisite state setter invoked before other calls, which is useful implied guidance. However, it gives no explicit when/when-not, no prerequisites (e.g., the workspace must exist), and does not point to set_active_board or list_workspaces as alternatives.

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

update_card_custom_fieldUpdate Card Custom FieldA

Set or clear a custom field value on a card. Use get_board_custom_fields first to find field IDs and types. Value format depends on type: text=any string, number=numeric string, checkbox="true"/"false", date=ISO 8601 string, list=option ID from get_board_custom_fields. To clear a field, set type to "clear" and omit value.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesThe custom field type. Use "clear" to remove the value from the field.
valueNoThe value to set. For text: any string. For number: numeric string (e.g. "42.5"). For checkbox: "true" or "false". For date: ISO 8601 (e.g. "2025-12-31T00:00:00.000Z"). For list: the option ID. Not needed when type is "clear".
cardIdYesID of the card to update
customFieldIdYesID of the custom field definition

TDQS

A3.9/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. It discloses the set/clear operation and value formats, but does not mention permissions, error handling, whether setting overwrites existing values, or rate limits. This is adequate for basic operation but leaves important mutation-side-effect context uncovered.

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

Conciseness4/5

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

The description is front-loaded with the purpose followed by prerequisite and format details. It is efficient and well organized, though some value-format detail duplicates the schema and could be trimmed given full schema coverage.

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

Completeness4/5

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

Given four parameters, 100% schema coverage, no output schema, and no annotations, the description supplies the key invocation knowledge: prerequisite lookup and per-type value formats. It lacks behavioral edges like permissions or error responses, but is otherwise complete enough to call 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 already documents all four parameters. The description largely repeats the schema's value format details and clear instruction, adding only minor context like directing to get_board_custom_fields for list option IDs. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb pair ('Set or clear') and resource ('custom field value on a card'), clearly distinguishing it from sibling read tools like get_board_custom_fields. An agent can immediately tell this tool mutates a card's custom field.

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?

It gives a clear prerequisite: 'Use get_board_custom_fields first to find field IDs and types.' It also specifies how to clear a field. No explicit when-not-to-use or alternative comparison is provided, but the context is sufficient for correct invocation.

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

update_card_detailsUpdate Card DetailsC

Update an existing card's details. Name the card by its ID or by its number on a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoPosition of the card in the list. Accepts "top", "bottom", or a positive number
nameNoNew name for the card
startNoNew start date for the card (YYYY-MM-DD format, date only)
cardIdNoID of the card to update. Give this or cardNumber
labelsNoNew array of label IDs for the card
boardIdNoBoard the card is on. Needed with cardNumber when there is no active board. With cardId, a card on any other board is refused
dueDateNoNew due date for the card (ISO 8601 format)
cardNumberNoNumber of the card on its board. Give this or cardId
descriptionNoNew description for the card, 2400 characters at most
dueCompleteNoMark the due date as complete (true) or incomplete (false)
dueReminderNoNew due date reminder in minutes before due date (e.g., null to remove reminder, 0 at due time, 1440 one day before)

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 behavioral burden. It correctly implies a mutation of an existing card, but does not disclose permissions, partial-update semantics, what happens to unspecified fields, or any 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 no filler, and the core action is front-loaded. It is efficient, though for an 11-parameter mutation tool the second sentence mostly duplicates schema detail.

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 11 parameters, no annotations, and no output schema, the description is far too thin. It omits permissions, update semantics, partial field behavior, and return information for a complex mutation 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%, so all 11 parameters are already documented. The description only restates the cardId/cardNumber identification choice, adding little beyond what the schema already says.

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 and resource: 'Update an existing card's details.' That distinguishes it from read-only siblings like get_card, but it does not differentiate from other card-mutating siblings such as move_card, archive_card, or update_card_custom_field.

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 only states that the card can be named by ID or board number. It provides no when-to-use guidance, no exclusions, and no comparison to alternatives such as update_card_custom_field or move_card.

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

update_checklist_itemUpdate Checklist ItemB

Update a checklist item name, state, position, due date, reminder, or assigned member

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNoNew due date for the checklist item in ISO 8601 format, or null to clear it
posNoNew position for the checklist item
nameNoNew text for the checklist item
stateNoNew state for the checklist item
cardIdYesID of the card containing the checklist item
idMemberNoMember ID to assign to the checklist item, or null to clear it
checkItemIdYesID of the checklist item to update
dueReminderNoReminder offset in minutes before due date, or null to clear it

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 must carry the full behavioral burden. It does not disclose mutation semantics such as partial updates, permission requirements, or what happens to fields not mentioned—only the list of updatable fields.

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. It is appropriately sized for a simple update tool, though it could be slightly more structured by grouping required parameters.

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 an 8-parameter mutation tool with no annotations and no output schema, the description is far too sparse. It omits required parameters, update semantics, and side effects, leaving significant gaps for correct invocation.

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 8 parameters thoroughly. The description merely restates the parameter names in prose and adds no new syntactic or format details, 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 ('Update') and resource ('checklist item'), and enumerates the fields it can change. It is clearly distinct from sibling tools like add_checklist_item or delete_checklist_item.

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, no prerequisites, and no exclusions. The description only states what it does, leaving the agent to infer context.

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

update_commentUpdate Comment on CardC

Update the given comment with the new text

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe new text of the comment
commentIdYesID of the comment to change

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 behavioral burden for a mutation tool. It does not say whether the update is destructive, whether the previous text is recoverable, whether edit history is recorded, or what permissions are 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 short sentence with the action front-loaded and no filler. It is efficient, though terse enough that it omits useful context.

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 should at minimum cover the effect on existing comment content and any permission or failure conditions. None of that is present, leaving the agent with only the schema to work from.

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%, with both text and commentId documented in the schema itself. The description adds no format, length, or content semantics beyond what the schema already states, 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 (update) and resource (comment) with the field being changed (text). It is distinguishable from add_comment and delete_comment by implication, but it never explicitly differentiates itself from 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 guidance on when to use this versus add_comment (to create) or delete_comment (to remove), and no prerequisites or constraints are stated. The agent must infer that this only applies to an existing comment identified by commentId.

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

update_labelUpdate LabelC

Update an existing label

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name for the label
colorNoNew color for the label
labelIdYesID of the label to update

TDQS

C2.6/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 behavioral burden. It implies a mutation but does not disclose permissions required, whether the update is partial or full, whether omitted fields remain unchanged, or what the result looks like. This is a significant gap for an update 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?

The description is a single, front-loaded sentence with no wasted words. However, its extreme brevity means it does little more than restate the tool name, which limits its practical value.

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?

The tool has no output schema and no annotations, so the description must cover behavioral context on its own. It fails to explain update semantics, permissions, or side effects, leaving an agent with too little information to invoke the tool confidently beyond passing parameters.

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 (name, color, labelId). The description adds no parameter meaning beyond what the schema provides, which matches the baseline of 3 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.

Purpose3/5

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

The description states a generic verb and resource ('Update an existing label'), which is essentially a restatement of the tool name. It does not identify what aspects of a label can be updated (name, color) or distinguish the operation from siblings like create_label or delete_label beyond the verb itself.

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 is provided about when to use this tool versus alternatives such as create_label or delete_label. There is also no mention of prerequisites, such as needing a valid label ID or permissions.

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

update_listUpdate ListA

Update a list name, archive state, subscription state, or board. Use update_list_position for moving a list within a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name for the list
closedNoWhether to close (archive) the list
listIdYesID of the Trello list to update
idBoardNoID of a board to move the list to
subscribedNoWhether the authenticated user is subscribed to the list

TDQS

A3.7/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 for a mutation tool. It does not say whether updates require specific permissions, whether archiving via closed=true is reversible, or whether the authenticated user must own the list. Only the set of mutable fields is disclosed, which is minimal.

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 capability list front-loaded and the sibling routing packed into the second sentence. 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?

For a five-parameter mutation tool with no annotations and no output schema, the description covers purpose and alternative routing but omits permissions, reversibility of archiving, and any indication of what the response returns. 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 all five parameters including listId. The description names the same fields (name, archive, subscription, board) without adding format, constraint, or precedence details beyond the schema, 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 (update) and resource (list) and enumerates exactly what can be changed: name, archive state, subscription state, board. It also names the sibling update_list_position and the condition that selects it, so an agent can distinguish the two without opening either schema.

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

Usage Guidelines4/5

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

Explicitly routes reordering within a board to update_list_position, and the idBoard parameter implicitly covers cross-board moves. However, it gives no guidance on prerequisites (permissions, subscription ownership, whether listId must exist) or when archiving is preferred over deleting.

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

update_list_positionUpdate List PositionA

Update the position of a list on the board. Trello uses fractional indexing: each list has a float position, and to place a list between two others, use the average of their positions (e.g., between pos 1024 and 2048, use 1536). Use "top"/"bottom" shortcuts to move to the edges.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesID of the list to reposition
positionYesNew position: "top" (move to leftmost), "bottom" (move to rightmost), or a numeric string (e.g. "1536"). To place between two lists, use the average of their pos values.

TDQS

A3.5/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. It discloses the fractional-indexing model and the top/bottom shortcuts, which is genuinely useful, but says nothing about permissions, error behavior, or whether repositioning shifts other lists.

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 sentences, front-loaded with the core action and followed by the mechanism explanation. Slightly redundant against the schema description, but no wasted 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?

For a two-parameter mutation with no output schema and no annotations, the description covers the essential domain mechanic an agent needs to pass a correct position value. It stops short of describing side effects on sibling list ordering or failure modes.

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 parameters are already documented in the schema, including the fractional-index example. The description largely restates the same 'average of their positions' rule, adding no format or validation details 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?

States a specific verb and resource ('Update the position of a list on the board'), which is easy to tell apart from siblings like update_list or archive_list. However, it never explicitly distinguishes itself from update_list, which an agent might reasonably confuse it 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?

Usage is implied through the mechanics it explains (fractional indexing, top/bottom shortcuts) rather than stated as when-to-use guidance. There is no mention of when to prefer this over update_list or move_card, nor any prerequisite conditions.

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

watch_cardWatch CardB

Subscribe or unsubscribe from watching a card for activity notifications

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesID of the card to watch/unwatch
subscribedYesSet to true to start watching, false to stop

TDQS

B3.2/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 discloses the notification purpose, but says nothing about required permissions, whether watching is idempotent, whether the caller is watching on behalf of themselves or others, or what the operation returns. For a state-changing subscription tool this is a meaningful 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?

A single compact sentence with no wasted words, and the core action is front-loaded. It is efficient, though the brevity is part of why behavioral context is thin.

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 two-parameter toggle tool with a fully documented schema and no output schema, the description is barely sufficient. It leaves permission requirements and the relationship to watch_list unexplained, which an agent would need to route 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%, and the schema already documents both cardId and the subscribed boolean toggle. The description adds no syntax, format, or default details beyond that, so the baseline of 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 pair and resource: subscribing/unsubscribing to watch a card. The 'for activity notifications' clause clarifies intent. It does not, however, distinguish itself from the sibling watch_list, which follows the exact same pattern for a different resource.

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 'for activity notifications' and by the boolean toggle, but there is no explicit when-to-use / when-not-to guidance and no mention of the watch_list alternative. An agent must infer that this tool is for cards specifically and watch_list for lists.

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

watch_listWatch ListB

Subscribe or unsubscribe from watching a list for activity notifications

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesID of the list to watch/unwatch
subscribedYesSet to true to start watching, false to stop

TDQS

B3.4/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 says the tool changes notification subscription state, but does not disclose idempotency, permission/auth requirements, whether existing subscriptions are replaced, the delivery channel for notifications, or what an unsubscribe destroys.

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 sentence with the action and the purpose front-loaded, and zero filler. Nothing in it is redundant or misplaced.

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 two-parameter toggle tool with full schema coverage and no output schema, the description is nearly sufficient — the resource, action, and effect are all present. It falls short only on behavioral detail (return value, permissions, notification mechanics) that a no-annotation tool ideally supplies.

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 (listId, subscribed) are already documented in the schema, including the true/false toggle meaning. The description adds no syntax, format, or edge-case detail 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 states a specific verb pair (subscribe/unsubscribe) and resource (watching a list) plus the effect (activity notifications). It implicitly distinguishes itself from the sibling watch_card by naming the 'list' resource, though it never names the 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 Guidelines3/5

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

Usage is implied by 'for activity notifications' — an agent can infer you call this when you want to be notified of list activity. However, there is no explicit when-to-use/when-not guidance, no mention of the watch_card alternative, and no prerequisites such as notification or permission requirements.

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. 52 tool updatesv1.0.0
    • First observedadd_card_to_list
    • First observedadd_cards_to_list
    • First observedadd_checklist_item
    • First observedadd_comment
    • First observedadd_label_to_card
    • First observedadd_list_to_board
    • First observedarchive_card
    • First observedarchive_list
    • First observedassign_member_to_card
    • First observedattach_to_card
    • First observedcopy_card
    • First observedcopy_checklist
    • First observedcreate_board
    • First observedcreate_checklist
    • First observedcreate_label
    • First observeddelete_checklist_item
    • First observeddelete_comment
    • First observeddelete_label
    • First observeddownload_attachment
    • First observedfind_checklist_items_by_description
    • First observedget_acceptance_criteria
    • First observedget_active_board_info
    • First observedget_board_custom_fields
    • First observedget_board_labels
    • First observedget_board_members
    • First observedget_card
    • First observedget_card_comments
    • First observedget_card_history
    • First observedget_cards_by_list_id
    • First observedget_checklist_by_name
    • First observedget_checklist_items
    • First observedget_lists
    • First observedget_my_cards
    • First observedget_recent_activity
    • First observedlist_boards
    • First observedlist_boards_in_workspace
    • First observedlist_workspaces
    • First observedmove_card
    • First observedremove_label_from_card
    • First observedremove_member_from_card
    • First observedsearch_cards
    • First observedset_active_board
    • First observedset_active_workspace
    • First observedupdate_card_custom_field
    • First observedupdate_card_details
    • First observedupdate_checklist_item
    • First observedupdate_comment
    • First observedupdate_label
    • First observedupdate_list
    • First observedupdate_list_position
    • First observedwatch_card
    • First observedwatch_list

TDQS

B3.1/5.0

Scored across 52 tools

Disambiguation3/5

Most tools target distinct resources and actions, but the checklist retrieval tools (get_checklist_items, get_checklist_by_name, get_acceptance_criteria, find_checklist_items_by_description) overlap substantially, making it unclear which to use for a basic checklist lookup. Descriptions help somewhat but do not fully resolve the ambiguity.

Naming Consistency5/5

All tool names use snake_case with a consistent verb_noun pattern (e.g., list_boards, create_board, update_card_details, delete_comment). Minor variants like get_cards_by_list_id still fit the convention.

Tool Count2/5

52 tools is far above the recommended 3-15 range and excessive for a single MCP server. While Trello's domain is broad, many operations could be consolidated or made more generic to reduce cognitive load.

Completeness3/5

The surface covers most card/list/board operations, comments, checklists, labels, members, custom fields, and attachments, but notable gaps exist: no update/delete for boards, no workspace creation/update/delete, no delete for checklists, and no custom field definition creation. These missing lifecycle operations will cause agent failures for common admin tasks.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides seamless integration with Trello's API to manage boards, lists, and cards through natural language. It supports full CRUD operations, card movement, and the ability to load Trello resources directly into an LLM's context for analysis.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to inspect and update Trello boards via the Trello REST API, supporting actions like reading boards, lists, cards, and performing CRUD operations on cards and checklists.
    15
    41 npm
    MIT