Skip to main content
Glama

trello-mcp

A self-hostable Model Context Protocol server that lets MCP-compatible clients work with Trello cards, lists, labels, attachments, checklists, members, and card activity.

The project is intentionally self-hostable and reusable. Contributions, adaptations, and focused issue reports are welcome.

The roadmap is, of course, tracked on Trello, and trello-mcp helps keep it up to date: trello-mcp roadmap.

Disclaimer

trello-mcp is an independent, community-maintained project. It is not an official Trello or Atlassian product, service, or MCP implementation, and it is not affiliated with, endorsed by, or sponsored by Trello or Atlassian.

This project exists to make it easier for MCP-compatible LLM clients to interface with Trello through Trello's public API and user-provided API credentials.

Looking for Trello's official hosted MCP server? Visit Trello MCP and use the endpoint documented by Trello: https://mcp.trello.com/v1.

Related MCP server: Atlassian Trello MCP Server

Documentation

The complete project documentation is available at trello-mcp.com:

Features

Board Discovery

  • List boards visible to the authenticated Trello member.

  • Read basic board metadata.

  • List open, closed, or all lists on a board.

  • List open, closed, visible, or all cards on a board.

  • List board labels, members, and memberships.

  • Create, inspect, update, and delete board labels.

  • Create, inspect, rename, archive, unarchive, and move lists between boards.

Card Workflows

  • Read cards by id, short id, or Trello card URL.

  • Create cards with title, description, due date, position, members, and labels.

  • Update card metadata including title, description, due date, due completion, and archived state.

  • Move cards between lists or boards.

  • Apply and remove existing labels on cards.

  • Permanently delete cards only when explicitly requested.

Card Context

  • List cards in a Trello list.

  • List card attachments, inspect individual attachments, add public URL attachments, and upload server-local files from an explicitly configured directory.

  • List, create, rename, and delete card checklists, and manage checklist items.

  • List card members and add or remove members.

  • Read card actions and activity history.

  • Add, edit, and delete Trello card comments.

Search Workflows

  • Search Trello cards, boards, members, and workspaces using Trello search text and operators.

  • Scope search results to specific boards, cards, or workspaces.

  • Look up Trello members by name or username before assignment.

  • Read member profiles, assigned cards, boards, and workspaces.

Workspace Discovery

  • List Trello workspaces visible to the authenticated member.

  • Read workspace metadata, boards, and members.

Self-Hosted Runtime

  • Run with Docker Compose using the published GHCR image.

  • Build locally with a separate Compose file.

  • Use Streamable HTTP for container deployments.

  • Use stdio for local MCP clients that launch the server as a child process.

  • Keep stdio logs on stderr so local MCP clients receive protocol-only stdout.

  • Expose HTTP health and readiness endpoints.

  • Optionally require a bearer token for HTTP MCP endpoint requests.

  • Validate config, tool input, and Trello API responses with Zod.

  • Redact Trello credentials from logs.

  • Run typecheck, lint, build, tests, and coverage in GitHub Actions.

Quick Start

1. Get Trello API Credentials

Trello API keys are created from an app in Trello's App Admin Portal. Each person running this server should use their own Trello account and token. Follow the dedicated Trello API credentials guide for the current, security-focused walkthrough.

In short: create or select an app at trello.com/apps/admin, generate a key from its API Key tab, then use the nearby Token link to review and authorize access for the intended Trello member.

You will use those values as:

TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token

2. Choose an Install Path

Option A: Run the Published Docker Image

Use this path if you just want to run the server. It pulls the prebuilt image from GHCR and does not build anything locally.

git clone https://github.com/enthouan/trello-mcp.git
cd trello-mcp
cp .env.example .env

Edit .env and replace the placeholder values:

TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token
TRANSPORT=http
LOG_LEVEL=info
TRELLO_RATE_LIMIT_CAPACITY=100
TRELLO_RATE_LIMIT_REFILL_INTERVAL_MS=10000
TRELLO_RETRY_MAX_ATTEMPTS=3
TRELLO_RETRY_BASE_DELAY_MS=100
TRELLO_RETRY_MAX_DELAY_MS=2000
# MCP_AUTH_TOKEN=optional-shared-secret
TRELLO_MCP_HOST_BIND_IP=127.0.0.1
TRELLO_MCP_HOST_PORT=3000
TRELLO_MCP_IMAGE_TAG=latest
TRELLO_MCP_NETWORK=trello-mcp_network

Start the published image:

docker compose up -d --wait --wait-timeout 120

The default docker-compose.yml uses:

ghcr.io/enthouan/trello-mcp:latest

Docker Compose values such as image tag, host bind IP, host port, and network name can be overridden with environment variables or the .env file. The compose files document their defaults at the top; for example, TRELLO_MCP_IMAGE_TAG defaults to the latest tag in docker-compose.yml (latest follows the main branch, and release tags such as X.Y and X.Y.Z are available for versioned deployments), TRELLO_MCP_HOST_BIND_IP defaults to 127.0.0.1 for local-only access, TRELLO_MCP_HOST_PORT defaults to 3000 and maps that host port to the container's fixed internal 3000 listener, while TRELLO_MCP_NETWORK defaults to trello-mcp_network. Set TRELLO_MCP_HOST_BIND_IP=0.0.0.0 only when you intentionally want Docker to publish the service on all host interfaces, such as for LAN access.

Set MCP_AUTH_TOKEN to require Authorization: Bearer <token> on HTTP MCP requests to /mcp. Leave it unset for the default unauthenticated local behavior. Health and readiness endpoints remain unauthenticated for container and reverse-proxy checks.

Container health follows TRANSPORT: HTTP checks /healthz on PORT (default 3000), while stdio uses process liveness and lets the attached MCP client check protocol responsiveness. Compose inherits this image health check.

Keep the Trello rate-limit and retry values at their defaults unless logs show trello rate limit wait or trello request rate limited; retrying during large workflows. Lower the capacity for shared tokens or constrained deployments; raise it carefully only after narrowing the workflow's board, card, field, and pagination scope.

For repeatable deployments, select a release and pin its verified index digest. See image trust and read-only verification for SBOM/provenance inspection, the GHCR signing policy, and the separate Docker-built catalog path. Metadata integrity checks do not authenticate a publisher. Published Docker image tags use these conventions:

Tag

Use case

latest

Follows the current main branch build. Use it when you intentionally want the newest main-branch image.

X.Y

Follows the newest patch release in a minor line, moving to the image built from the latest matching vX.Y.Z tag.

X.Y.Z

Identifies an exact release, preserved by project policy. Pin its verified digest for immutable bytes.

sha-<commit>

Identifies a commit build; a stable release can repair this alias to its verified release digest.

You can also run the published image directly without Compose:

docker run --rm -p 127.0.0.1:3000:3000 \
  -e TRELLO_API_KEY=your-api-key \
  -e TRELLO_TOKEN=your-token \
  ghcr.io/enthouan/trello-mcp:latest

Option B: Build Locally from Source

Use this path if you want to develop the project, test local changes, or build the Docker image yourself.

Local development uses Node.js 24.x and the pinned pnpm@10.34.1 package manager through Corepack.

git clone https://github.com/enthouan/trello-mcp.git
cd trello-mcp
cp .env.example .env

Edit .env with your Trello credentials, then build and run locally:

docker compose -f docker-compose.local.yml up --build -d --wait --wait-timeout 120

This uses docker-compose.local.yml, which builds from the local Dockerfile and tags the image as trello-mcp:local.

For a non-Docker local build:

corepack enable
corepack prepare pnpm@10.34.1 --activate
corepack pnpm install --frozen-lockfile
corepack pnpm build:clean

Then run the compiled server directly:

TRELLO_API_KEY=your-api-key TRELLO_TOKEN=your-token TRANSPORT=stdio node dist/index.js

Treat the token like a password. Do not commit it, paste it in logs, or share it in PRs.

3. Connect Your MCP Client

Choose the transport by where the server runs:

Your setup

Choose

Client receives

A built clone and the MCP client are on the same machine

stdio

A local command plus Trello credentials in the child-process environment

The server runs in Docker, behind a reverse proxy, or on another host

Streamable HTTP

An /mcp URL plus an optional bearer token; Trello credentials stay on the server

The Set up your MCP client guide has current, sanitized examples for Claude Desktop, Claude Code, Codex CLI, VS Code, OpenCode, MCP Inspector, and other manual clients. It also covers restart requirements, HTTP bearer support, secret handling, and tested limitations.

For dated client versions and evidence, see MCP Client Compatibility.

4. Verify

If you chose Streamable HTTP, check the server:

curl http://127.0.0.1:3000/healthz
curl http://127.0.0.1:3000/readyz

If you changed TRELLO_MCP_HOST_PORT, replace 3000 with that host port. If you changed TRELLO_MCP_HOST_BIND_IP from 127.0.0.1, use a hostname or IP address that can reach the bound host interface.

Then confirm the MCP client discovers the current 77-tool surface. With an intentional read-only credential check, call auth_whoami or auth_token_info from the client. Do not make a write-side Trello call just to prove setup.

Trello Credentials

This server currently uses Trello API key + token authentication. Follow the dedicated Trello API credentials guide for a security-focused walkthrough, with links to Trello's official App Admin Portal, authorization, and revocation documentation.

Use the read-only auth_whoami and auth_token_info tools to verify which Trello member the configured credentials authenticate as and to inspect the configured token's owner, expiration, and permissions. These tools are diagnostics only; this server does not implement OAuth redirects, token creation, token refresh, token revocation, or other token lifecycle management.

Set up your MCP client

Use the canonical Set up your MCP client guide for transport selection and client-specific configuration. Keep Trello credentials in the stdio child environment or on the HTTP server; an HTTP client needs only the /mcp endpoint and, when MCP_AUTH_TOKEN is enabled, a supported bearer-header configuration.

The compatibility record distinguishes an official-doc review from a real client connection, tool discovery, and an actual Trello workflow.

Environment

See the configuration reference for deployment-specific applicability, secret handling, rate-limit tuning, Compose controls, and local attachment-upload requirements.

Variable

Required

Default

Description

TRELLO_API_KEY

yes

Trello API key.

TRELLO_TOKEN

yes

Trello token for token auth.

MCP_AUTH_TOKEN

no

If set, HTTP MCP requests to /mcp require Authorization: Bearer <token>. Leave unset for no HTTP bearer-token check.

TRELLO_ATTACHMENT_UPLOAD_ROOT

no

Absolute server-side directory that enables local file attachment uploads. Leave unset to disable local uploads.

TRELLO_RATE_LIMIT_CAPACITY

no

100

Token-bucket capacity for Trello requests before the client waits for a refill. Must be a positive integer.

TRELLO_RATE_LIMIT_REFILL_INTERVAL_MS

no

10000

Token-bucket refill interval in milliseconds. Must be a positive integer.

TRELLO_RETRY_MAX_ATTEMPTS

no

3

Total attempts for a Trello request when Trello returns HTTP 429. Must be a positive integer.

TRELLO_RETRY_BASE_DELAY_MS

no

100

Exponential backoff base delay in milliseconds for HTTP 429 retries, with bounded jitter. Must be a positive integer.

TRELLO_RETRY_MAX_DELAY_MS

no

2000

Maximum delay in milliseconds for any HTTP 429 retry wait. Must be a positive integer.

TRANSPORT

no

http

http or stdio.

PORT

no

3000

HTTP listen port for the Node process. Docker Compose keeps the container listener on 3000 and uses TRELLO_MCP_HOST_PORT for the published host port.

LOG_LEVEL

no

info

Pino log level.

TRELLO_MCP_HOST_BIND_IP

no

127.0.0.1

Docker Compose host interface bind address. Keep 127.0.0.1 for local-only access; set 0.0.0.0 to publish on all host interfaces for intentional network/LAN exposure.

TRELLO_MCP_HOST_PORT

no

3000

Docker Compose host port mapped to the container's fixed internal 3000 listener.

TRELLO_MCP_IMAGE_TAG

no

latest

Published image tag; latest follows main, X.Y follows the newest patch in that minor release line, and X.Y.Z pins to an exact release.

TRELLO_MCP_NETWORK

no

trello-mcp_network

Docker Compose bridge network name.

Live Trello Smoke Tests

Normal tests are mocked and offline. corepack pnpm test, corepack pnpm test:coverage, and the default CI workflow never require Trello credentials and never contact Trello.

For release validation against real Trello, use the explicit live smoke command:

TRELLO_LIVE_SMOKE=1 \
TRELLO_LIVE_SMOKE_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm smoke:live

You may use TRELLO_LIVE_SMOKE_BOARD_URL instead of TRELLO_LIVE_SMOKE_BOARD_ID; Trello trello.com/b/... board URLs are normalized to their short link, then the harness resolves the canonical board id with board_get before creating anything. Non-board URLs are rejected without logging their raw value or query string. TRELLO_LIVE_SMOKE_RUN_ID is optional and is included in temporary artifact names when set.

Set TRELLO_LIVE_REQUIRE_PUBLIC_BOARD=1 when output may be published. The harness then verifies Trello reports the board as public before recording its identity or performing writes. This is optional for local private disposable-board validation.

Safety model:

  • The command exits before any Trello request unless TRELLO_LIVE_SMOKE=1, Trello credentials, and a smoke board id or URL are all present.

  • The configured board should be a disposable board reserved for validation, not an active production board.

  • The harness creates uniquely named temporary lists, one card, one label, one checklist, one checklist item, and one comment. It deletes the card and label, archives the temporary lists, and verifies that no open temporary lists, cards, or labels remain.

  • Cleanup runs even when an intermediate validation step fails. It also searches for uniquely prefixed lists, cards, and labels that Trello created before a response validation failure could track them. Cleanup failures are reported and cause the command to fail.

  • The harness invokes the existing tool handlers with a real TrelloClient, so tool input validation, Trello response validation, retry/rate-limit handling, and credential redaction stay on the normal code path.

  • The harness does not log API keys, tokens, credential-bearing URLs, raw environment objects, or raw request data.

The smoke flow validates representative v1.0 workflows:

  • Auth and discovery: auth_whoami, auth_token_info, list_boards, board reads, lists, cards, labels, members, memberships, and custom-field discovery.

  • List and card writes: disposable list creation/rename/archive, card create/read/update/due-date/position/archive/restore/move/delete.

  • Checklist and item behavior: checklist creation/rename/deletion plus item create/list/update/check/delete.

  • Labels and members: disposable label create/read/update/apply/remove/delete, plus authenticated-member assignment/removal when that member is visible on the smoke board.

  • Card activity: comment create/update/list/delete on the disposable card.

Live Trello Regression Tests

corepack pnpm smoke:live is the shallow release smoke check: it proves the most important workflow can authenticate, create disposable artifacts, mutate them, and clean up. corepack pnpm regression:live is the broader opt-in release-validation suite. It walks the public MCP tool surface by domain, reports live coverage against the registered tool catalog, and makes skipped or missing live coverage visible.

The regression suite has a separate opt-in gate from smoke tests:

TRELLO_LIVE_REGRESSION=1 \
TRELLO_LIVE_REGRESSION_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm regression:live

Use TRELLO_LIVE_REGRESSION_BOARD_URL instead of TRELLO_LIVE_REGRESSION_BOARD_ID when a trello.com/b/... board URL is more convenient. Non-board URLs are rejected before any Trello request and without logging raw query strings.

Set TRELLO_LIVE_REQUIRE_PUBLIC_BOARD=1 when output or the JSON report may be published. The harness then verifies Trello reports every configured board as public before recording its identity or performing writes. Local private disposable-board runs can omit this flag and keep their output private.

Set TRELLO_LIVE_REGRESSION_SECONDARY_BOARD_ID or TRELLO_LIVE_REGRESSION_SECONDARY_BOARD_URL when you want live coverage for cross-board list moves. The secondary board is optional for local runs; when it is absent, list_move_to_board is reported as an intentional runtime skip instead of missing coverage. When it is present, the suite resolves it with board_get, confirms the token can see it through list_boards, verifies it is open and different from the primary board, then moves only disposable lists between the two boards.

Targeted runs are useful when debugging a domain or one tool:

TRELLO_LIVE_REGRESSION=1 \
TRELLO_LIVE_REGRESSION_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm regression:live --domain cards
TRELLO_LIVE_REGRESSION=1 \
TRELLO_LIVE_REGRESSION_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm regression:live --tool card_attachment_upload
TRELLO_LIVE_REGRESSION=1 \
TRELLO_LIVE_REGRESSION_BOARD_ID=your-primary-disposable-board-id-or-short-link \
TRELLO_LIVE_REGRESSION_SECONDARY_BOARD_ID=your-secondary-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm regression:live --tool list_move_to_board

You may also use TRELLO_LIVE_REGRESSION_DOMAINS=cards,attachments and TRELLO_LIVE_REGRESSION_TOOLS=card_get,card_update. Supported domains are auth, boards, lists, cards, labels, checklists, members, workspaces, search, custom-fields, comments-actions, and attachments.

Set TRELLO_LIVE_REGRESSION_REPORT_JSON=reports/live-regression.json to emit a machine-readable report in addition to the human-readable terminal report. The report groups tools by domain and shows:

  • covered: tool handlers successfully exercised against Trello.

  • skipped: intentional runtime skips, such as no visible workspace, no board custom fields, or upload coverage not configured.

  • unsupported: non-goal live cases that are intentionally outside regression coverage, such as board_create.

  • missing: selected public tools with no regression coverage classification. Missing coverage fails the command so new public tools do not silently disappear from release validation.

  • cleanup status, including attempted/completed cleanup steps and any remaining prefix-matched open artifacts.

Regression safety model:

  • The command exits before any Trello request unless TRELLO_LIVE_REGRESSION=1, Trello credentials, and a regression board id or URL are all present.

  • The configured board should be a disposable board reserved for validation, not an active production board.

  • The optional secondary board should also be disposable. It is only mutated for list_move_to_board, and only with lists created by the regression run.

  • Temporary artifacts use a unique run id and the trello-mcp live regression ... prefix. Set TRELLO_LIVE_REGRESSION_RUN_ID when you want a human-readable run marker.

  • Cleanup runs after intermediate failures. It removes tracked temporary cards, labels, attachments, member/label assignments, custom-field values, and archives temporary lists. It also searches all configured regression boards for prefix-matched lists, cards, and labels that were created before the response could be tracked.

  • The suite invokes registered tool handlers with a real TrelloClient; it does not call Trello through a separate ad hoc client.

  • The suite does not log API keys, tokens, credential-bearing URLs, raw environment objects, or raw request data.

Local file upload coverage is skipped by default. To include card_attachment_upload, both the normal upload root and an explicit regression test file must be configured:

TRELLO_ATTACHMENT_UPLOAD_ROOT=/absolute/path/to/trello-uploads \
TRELLO_LIVE_REGRESSION_UPLOAD_FILE=sample.txt \
TRELLO_LIVE_REGRESSION=1 \
TRELLO_LIVE_REGRESSION_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm regression:live --domain attachments

The upload file path may be relative to TRELLO_ATTACHMENT_UPLOAD_ROOT or absolute, but it must resolve inside the upload root.

If the live env vars are absent during local validation, record the live command as skipped. The skipped state is explicit: corepack pnpm smoke:live and corepack pnpm regression:live fail before contacting Trello and print the missing variable names. Do not add either command to normal CI unless the job is intentionally secret-backed and opt-in.

GitHub Actions

The repository includes a Live Trello Smoke workflow for PR, post-merge main, and release validation. It runs on same-repository pull requests, pushes to main, and manual dispatch. Fork pull requests are skipped so Trello credentials are not exposed to untrusted PR code.

The workflow runs the offline gates (pnpm typecheck, pnpm lint, pnpm build, and pnpm test) before the secret-backed live smoke step.

Before using it, configure a GitHub Environment named live-smoke with these secrets:

Secret

Description

TRELLO_LIVE_SMOKE_API_KEY

Trello API key for a dedicated smoke-test Trello member.

TRELLO_LIVE_SMOKE_TOKEN

Trello token for that same member, with write access to the disposable smoke board.

Use environment required reviewers if the repository has more than one maintainer or if the token can access anything beyond the smoke board. The workflow maps those secrets to TRELLO_API_KEY and TRELLO_TOKEN only for the pnpm smoke:live step. The job sets environment.deployment: false, so the GitHub Environment still scopes secrets and protection rules without creating Deployment records. Do not use pull_request_target for this workflow.

The hosted smoke workflow is fixed to the public disposable test board short link hUaItfNq and sets TRELLO_LIVE_REQUIRE_PUBLIC_BOARD=1, so it fails before identity output or writes if Trello no longer reports that board as public. It does not accept a board override, so a maintainer cannot accidentally publish a private board's identifiers through public Actions logs or summaries. A public board is acceptable for smoke testing when temporary artifact names and activity history can be visible, but public visibility does not remove the need for Trello credentials because the harness performs writes. For another disposable board, use the local command above and keep private-board output out of public logs and artifacts.

The broader Live Trello Regression workflow is manual-only and should be used for release candidates or focused live debugging, not as an ordinary PR gate. Configure a GitHub Environment named live-regression with:

Secret

Description

TRELLO_LIVE_REGRESSION_API_KEY

Trello API key for a dedicated regression-test Trello member.

TRELLO_LIVE_REGRESSION_TOKEN

Trello token for that same member, with write access to the disposable regression board.

The hosted regression workflow is fixed to the public disposable primary and secondary boards hUaItfNq and r9BpowfZ and sets TRELLO_LIVE_REQUIRE_PUBLIC_BOARD=1, so it fails before identity output or writes if Trello no longer reports either board as public. It accepts optional domains and tools inputs and uploads reports/live-regression.json when the command produces it. To use different boards, run the command locally and do not publish a report for a private board. The workflow also sets environment.deployment: false because live regression is secret-backed validation, not an app deployment. Fork pull requests must not receive Trello credentials; keep live regression on workflow_dispatch or another explicitly secret-backed workflow.

The Release workflow builds the published multi-architecture Docker image for linux/amd64 and linux/arm64 on pushes to main and v*.*.* tags. It can also be run manually from a branch with push=false to perform a no-push multi-platform validation before release-image changes merge. Leave push=false for dry runs; only use push=true when intentionally publishing to GHCR.

Usage Examples

Once connected to an MCP client, ask for Trello actions in natural language:

For inspect-first multi-tool sequences with explicit proposal, approval, and verification stages, follow the workflow guide.

Show me my Trello boards.
Show me the lists on my job scout board.
Show me the cards in my "Today" list.
Create a card called "Review invoices" in the bookkeeping list.
Move this card to Done.
Archive the card about the old onboarding checklist.
Show the recent activity for this card.
Add a comment to this card saying the invoices are ready for review.
Edit this card comment to include the updated invoice total.
Add this public URL as an attachment to the card.
Upload the file invoice.pdf from my Trello upload folder to this card.
Show me the custom fields configured on this board.
Set this card's Priority custom field to the High option.
Clear this card's Estimate custom field.

The exact wording depends on your MCP client. The server can discover your boards and board lists first, then use those ids for card workflows.

Large Trello Responses

Collection tools default to compact Trello reads so MCP clients do not receive unnecessarily large payloads. High-volume card, label, and action reads default to limit: 50; Trello caps these collection reads at 1000.

Use fields to request only the properties needed for a workflow. Tools that validate object names, ids, or action types automatically add schema-required fields even when you request a smaller field set. Use fields: "all" only for detailed follow-up reads where the larger response is useful.

Use since and before on card collection and action tools to page through older or newer Trello objects. These cursors accept an ISO-8601 timestamp, a Trello/Mongo id, or null where Trello supports it. Action reads also expose zero-based page for Trello's action pagination.

Use card_actions, board_actions, list_actions, and workspace_actions for bounded activity audits. Set filter: "commentCard" to focus on comments, filter: "all" for broader activity, and combine limit, since, before, and page so board, list, card, or workspace histories stay small enough for MCP clients.

Member-returning tools default to compact member fields (username,fullName,initials,avatarUrl). Use member field inputs such as fields, memberFields, or memberCreatorFields when a workflow needs additional member profile properties.

Use search when a user gives a natural language term and you need to find matching cards or boards before taking action. It searches cards and boards by default, returns compact fields, and defaults to 10 results per resource type. Add members or organizations to modelTypes when member or workspace result types are useful.

Use boardIds: "mine" or specific board ids to narrow card and board search. Use organizationIds for workspace ids, plus cardIds, partial, cardsPage, and the per-type limit inputs when a query needs tighter scope or pagination. Use search_members for assignee lookup by name or username, especially when scoped by a board or workspace.

Attachment Uploads

Public URL attachments work without extra setup. Local file uploads are implemented, but they are disabled by default because the MCP client asks the server process to read a file from the server's filesystem.

To enable card_attachment_upload, set TRELLO_ATTACHMENT_UPLOAD_ROOT to an absolute directory path the server may read. Upload tool filePath values can be relative to that directory, or absolute paths that still resolve inside it. The server resolves symlinks with realpath, rejects directories, and rejects files outside the configured root before it sends any Trello request.

For local stdio use:

TRELLO_ATTACHMENT_UPLOAD_ROOT=/Users/you/trello-uploads \
  TRELLO_API_KEY=your-key \
  TRELLO_TOKEN=your-token \
  TRANSPORT=stdio \
  node dist/index.js

For Docker, mount the upload directory into the container and set the root to the container path:

docker run --rm -p 127.0.0.1:3000:3000 \
  -v "$PWD/trello-uploads:/uploads:ro" \
  -e TRELLO_ATTACHMENT_UPLOAD_ROOT=/uploads \
  -e TRELLO_API_KEY=your-api-key \
  -e TRELLO_TOKEN=your-token \
  ghcr.io/enthouan/trello-mcp:latest

MCP clients do not upload bytes directly through this tool; they provide a path that must exist on the server host or inside the container. For remote servers, copy or mount the file into TRELLO_ATTACHMENT_UPLOAD_ROOT first.

Custom Fields

Custom field definitions live on Trello boards, and card values are exposed as card customFieldItems. Use board_custom_fields to discover board-level field definitions and their ids, custom_field_options to list dropdown/list options for a field, and card_custom_field_items to inspect values currently set on a card.

The write tool card_custom_field_set accepts one custom field at a time with a type-specific input shape:

Custom field type

Input shape

Notes

text

{ "type": "text", "text": "Hello" }

Plain text value.

number

{ "type": "number", "number": "42" }

Trello expects numbers as strings.

date

{ "type": "date", "date": "2026-06-03T16:00:00.000Z" }

Must be an ISO-8601 date/time string.

checkbox

{ "type": "checkbox", "checked": true }

The server sends Trello the string value Trello expects.

list

{ "type": "list", "optionId": "<custom-field-option-id>" }

Discover option ids with board_custom_fields or custom_field_options.

Use card_custom_field_clear to clear an existing card custom field value. Trello clears custom field items with an empty PUT request shape rather than a DELETE request, so clearing is intentionally separate from setting values.

Board Creation

board_create creates a new Trello board with prefs_permissionLevel defaulting to private. Pass workspaceId to place the board in a Trello workspace/organization and set permissionLevel explicitly only when you intend workspace-visible (org) or public (public) board visibility.

API Coverage

See docs/api-coverage.md for the Trello REST API group coverage matrix, deferred endpoint families, and current non-goals.

Tool Catalog

77 tools are registered. Names, descriptions, and key inputs are generated from allTools.

Name

When to use

Key inputs

auth_whoami

Use as a read-only credential diagnostic to confirm which Trello member the configured API key and token authenticate as.

fields

auth_token_info

Use as a read-only credential diagnostic to inspect the configured Trello token's owner, expiration, and permissions; it does not create, refresh, revoke, or manage tokens.

fields

list_boards

Use first when the user has not provided a board, list, card id, or Trello URL; returns boards visible to the authenticated Trello member.

filter, fields

board_create

Use when creating a new Trello board. Creates boards as private by default, can place them in a workspace with workspaceId, and only supports explicit private, workspace, or public visibility.

name, desc, workspaceId, permissionLevel

board_get

Use when you need board details, common board preferences, or label names for a known Trello board before listing or summarizing it.

boardId, fields

board_field_get

Use when you need one specific board field, such as prefs, labelNames, subscribed, name, description, or URL.

boardId, field

board_actions

Use when auditing recent activity or comments across a board; use filter, limit, page, since, before, and fields to keep large histories bounded.

boardId, filter, fields, limit, since, before, page, member, memberFields, memberCreator, memberCreatorFields

board_lists

Use when you need the lists on a known Trello board so you can find the right list id before listing or creating cards.

boardId, filter, fields

board_cards

Use when you need cards across all lists on a known Trello board for personal planning, review, or summarization.

boardId, filter, fields, limit, since, before

board_custom_fields

Use when inspecting custom field definitions on a known Trello board, including dropdown/list options when Trello returns them.

boardId

board_labels

Use when discovering labels available on a board before creating or updating cards with labels.

boardId, limit, fields

board_members

Use when you need the members who can access a known Trello board before assigning cards or reviewing collaboration; requires token visibility of private boards.

boardId, fields

board_memberships

Use when you need board membership records, member roles, or permission context for a known Trello board; use the admins filter when checking board-admin-only operations.

boardId, filter, member, memberFields

list_workspaces

Use first when the user asks to show Trello workspaces or needs to choose a workspace before drilling into its boards or members.

filter, fields, paidAccount

workspace_get

Use when you need basic Trello workspace metadata, such as display name, description, URL, website, board ids, or preferences.

workspaceId, fields

workspace_boards

Use when you need boards in a known Trello workspace so the user can drill into a workspace board.

workspaceId, filter, fields

workspace_members

Use when you need members in a known Trello workspace before assignment, auditing, or permission review.

workspaceId, filter, fields

workspace_actions

Use when auditing recent activity or comments across a Trello workspace; use filter, limit, page, since, before, and fields to keep large histories bounded.

workspaceId, filter, fields, limit, since, before, page, member, memberFields, memberCreator, memberCreatorFields

member_get

Use after member search or board member listing to inspect a Trello member profile by id, username, or me before assignment or auditing.

memberId, fields

member_boards

Use when you need boards associated with a known Trello member by id, username, or me; results are limited to boards visible to the configured token.

memberId, filter, fields

member_cards

Use when you need cards assigned to a known Trello member by id, username, or me; private board cards require token access to those boards.

memberId, filter, fields, limit, since, before

member_workspaces

Use when you need Trello workspaces associated with a known member by id, username, or me; workspace visibility and role permissions constrain results.

memberId, filter, fields, paidAccount

list_get

Use when you need metadata for a known Trello list before creating cards in it or changing it.

listId, fields

list_create

Use when creating a new Trello list on an existing board.

boardId, name, pos

list_update

Use when renaming a Trello list, changing its position, or setting its archive state.

listId, name, closed, pos

list_archive

Use when archiving or unarchiving a Trello list while keeping its cards recoverable.

listId, closed

list_move_to_board

Move an existing list and its cards to another board, changing who can access them. Use list_update to reorder within the current board.

listId, boardId

list_actions

Use when auditing recent activity or comments for a list; use filter, limit, page, since, before, and fields to keep large histories bounded.

listId, filter, fields, limit, since, before, page, member, memberFields, memberCreator, memberCreatorFields

card_get

Use when you need the current details of one Trello card by id, short link, or URL before editing or summarizing it.

cardId, fields

card_board

Use when you need the board relationship for a known Trello card before moving, labeling, or summarizing its context.

cardId, fields

card_list

Use when you need the current list relationship for a known Trello card before moving or reporting its status.

cardId, fields

card_labels

Use when listing the labels currently applied to a card, including label ids for add/remove workflows.

cardId

list_cards

Use when you need cards in a specific Trello list; use limit, since, before, and fields to keep large lists small.

listId, filter, fields, limit, since, before

card_create

Use when the user asks to create a new Trello card in a known list; accepts title, description, due date, members, and labels.

listId, name, desc, due, pos, memberIds, labelIds

card_update

Use when changing card metadata such as title, description, due date, due completion, or archive state without moving it.

cardId, name, desc, due, dueComplete, closed

card_due_date_set

Use when setting, clearing, or marking completion of a card due date without changing other card metadata. Provide at least one of due or dueComplete.

cardId, due, dueComplete

card_position_set

Use when changing only a card's position within its current list; use card_move when changing lists or boards too.

cardId, pos

card_cover_set

Use when setting a card cover to an existing attachment id, changing cover display size, or clearing the current attachment cover.

cardId, attachmentId, size, brightness

card_label_create_and_add

Create a new board label and apply it to this card. Use card_label_add for an existing label; repeating this creation can create duplicates.

cardId, name, color

card_delete

Use only when the user explicitly asks to permanently delete a Trello card; archive instead for reversible removal.

cardId

card_move

Use when moving a card to another list, another board, or a different position; this is distinct from general card metadata updates.

cardId, listId, boardId, pos

card_archive

Use when the user wants to archive or unarchive a card while keeping it recoverable; do not use for permanent deletion.

cardId, closed

card_attachments

Use when listing files or links attached to a card, optionally narrowed by Trello attachment fields or filter.

cardId, fields, filter

card_attachment_get

Use when inspecting one existing card attachment by attachment id, including upload metadata when Trello returns it.

cardId, fields, attachmentId

card_attachment_add_url

Use when attaching an existing public URL to a card; this does not upload local files.

cardId, url, name, setCover

card_attachment_upload

Read a server-local file inside TRELLO_ATTACHMENT_UPLOAD_ROOT and transmit its contents to Trello as a new card attachment. Disabled unless that root is configured; repeated uploads can create duplicates. Use card_attachment_add_url for public links.

cardId, filePath, name, mimeType, setCover

card_attachment_delete

Permanently delete an attachment from a card, including Trello's stored file for uploads. This cannot be undone; use card_cover_set to clear a cover without deleting its attachment.

cardId, attachmentId

card_checklists

Use when viewing all checklists and checklist items currently on a card.

cardId

card_checklist_create

Use when adding a new checklist to an existing card, optionally copied from another checklist.

cardId, name, sourceChecklistId

card_checklist_update

Use when renaming a Trello card checklist or changing the checklist's position on its card. Provide at least one of name or pos.

checklistId, name, pos

card_checklist_delete

Permanently delete a checklist and all its items from a card. This cannot be undone; use card_checklist_item_delete to remove only one item.

cardId, checklistId

card_checklist_item_create

Use when adding a new item to an existing Trello checklist on a card.

checklistId, name, pos, checked, due, dueReminder, memberId

card_checklist_items

Use when listing the items in one Trello checklist, including complete and incomplete items by default.

checklistId, filter, fields

card_checklist_item_update

Use when editing a Trello card checklist item text, due date, member assignment, completion state, checklist, or position.

cardId, checkItemId, name, state, checklistId, pos, due, dueReminder, memberId

card_checklist_item_set_checked

Use when checking or unchecking a Trello card checklist item without changing other item fields.

cardId, checkItemId, checked

card_checklist_item_move

Use when moving a Trello checklist item to another checklist on the same card or to a different position.

cardId, checkItemId, checklistId, pos

card_checklist_item_delete

Permanently delete one checklist item. This cannot be undone; use card_checklist_item_set_checked to mark completion while keeping the item.

cardId, checkItemId

card_custom_field_items

Use when reading all custom field item values currently set on a Trello card.

cardId

card_custom_field_set

Set or replace one card custom field value, using the existing definition's type from custom_field_get. Use custom_field_options to find list option ids and card_custom_field_clear to remove a value.

cardId, customFieldId, type, text, number, date, checked, optionId

card_custom_field_clear

Clear one card's custom field value without deleting the board's field definition. Restoring it requires setting the previous value with card_custom_field_set.

cardId, customFieldId

card_members

Use when listing members assigned to a card; requires token access to the card's board. Use fields to keep member output small.

cardId, fields

card_member_add

Use when assigning a Trello member to a card by member id; requires write access to the card's board and a member who can be assigned to that board.

cardId, memberId

card_member_remove

Use when unassigning a Trello member from a card by member id; requires write access to the card's board.

cardId, memberId

card_comment_add

Add a new comment to a Trello card and return its comment action. Repeating the call creates another comment; use card_comment_update to edit an existing comment.

cardId, text

card_comment_update

Use when editing the text of an existing Trello card comment by its comment action id.

actionId, text

card_comment_delete

Permanently delete a card comment by its action id. This cannot be undone; use card_comment_update to edit the text instead.

actionId

card_actions

Use when auditing recent activity or comments for a card; use filter, limit, page, since, before, and fields to page large histories.

cardId, filter, fields, limit, since, before, page, member, memberFields, memberCreator, memberCreatorFields

label_get

Use when you need the current name, color, or board for a specific Trello label before editing it.

labelId

label_create

Use when creating a new reusable label on a Trello board before applying it to cards.

boardId, name, color

label_update

Use when renaming a Trello label or changing its color without changing any card assignments.

labelId, name, color

label_delete

Use only when explicitly asked to permanently delete a board label, removing it from every card using it. Use card_label_remove to unassign it from just one card while preserving the label.

labelId

card_label_add

Use when applying an existing Trello label to a card by label id.

cardId, labelId

card_label_remove

Use when removing an existing Trello label from a card by label id.

cardId, labelId

custom_field_get

Use when you need one Trello custom field definition by id, including its type and any dropdown/list options Trello returns.

customFieldId

custom_field_options

Use when listing the available options for a Trello dropdown/list custom field before setting a card list custom field value.

customFieldId

search

Search Trello and return grouped cards, boards, members, and workspaces visible to the token. Defaults to cards and boards; scope and limit results, and use cardsPage for card pagination. Use search_members for a focused member lookup.

query, modelTypes, boardIds, organizationIds, cardIds, cardFields, boardFields, memberFields, organizationFields, cardsLimit, boardsLimit, membersLimit, organizationsLimit, cardsPage, partial, includeCardBoard, includeCardList, includeCardMembers, includeBoardOrganization

search_members

Use when looking up Trello members by name or username, optionally scoped to a board or workspace; scoped searches require token access to that board or workspace.

query, limit, boardId, organizationId, onlyOrgMembers

Regenerate the catalog with:

corepack pnpm docs:tools

Architecture

Read How trello-mcp works for the complete request lifecycle, transport and credential boundaries, HTTP sessions, validation, rate limiting, retries, and result handling.

MCP client
  -> stdio or Streamable HTTP transport
  -> MCP server and tool registry
  -> Trello tool handlers
  -> Trello REST client
  -> Trello REST API
  • src/index.ts starts stdio or HTTP transport.

  • src/server.ts creates the MCP server and registers tools.

  • src/http-auth.ts enforces the optional MCP_AUTH_TOKEN bearer check on HTTP MCP requests.

  • src/trello/auth.ts defines the read-only auth_whoami and auth_token_info credential diagnostics.

  • src/trello/client.ts owns Trello HTTP requests, auth query parameters, retries, and response parsing.

  • src/trello/boards.ts defines board discovery and board-level list, card, label, member, and custom field tools.

  • src/trello/workspaces.ts defines workspace discovery, metadata, board, and member tools.

  • src/trello/members.ts defines member profile, board, card, and workspace lookup tools.

  • src/trello/lists.ts defines list create, inspect, update, archive, and move tools.

  • src/trello/cards.ts defines card tools, including attachment, checklist, member, comment, action, and card custom field item helpers.

  • src/trello/labels.ts defines label CRUD and card label assignment tools.

  • src/trello/custom-fields.ts defines custom field definition and option lookup tools.

  • src/trello/search.ts defines search tools for cards, boards, members, and workspaces.

  • src/trello/fields.ts defines shared Trello field list validation helpers.

  • src/trello/types.ts contains Trello response schemas.

  • src/utils/* contains logging, error mapping, pagination, and tool registration helpers.

Security Notes

  • Trello credentials stay in your environment or MCP client config.

  • Logs redact TRELLO_API_KEY, TRELLO_TOKEN, MCP_AUTH_TOKEN, authorization headers, and common key/token fields.

  • Trello API requests use HTTPS.

  • Set MCP_AUTH_TOKEN for a basic shared-secret check on HTTP MCP traffic. This does not replace HTTPS, reverse-proxy authentication, IP allowlists, or careful host binding.

  • Local file attachment uploads are disabled unless TRELLO_ATTACHMENT_UPLOAD_ROOT is configured; upload paths are restricted to that directory.

  • Tests use mocks and injected fetchers instead of live Trello calls.

  • Do not publish .env files or paste tokens into issues and PRs.

Security, Privacy, And Support

  • See SECURITY.md for supported versions, vulnerability reporting, credential-handling expectations, and threat-model notes.

  • See PRIVACY.md for self-hosted data handling, external services, and public issue privacy guidance.

  • See SUPPORT.md for support channels, boundaries, and useful bug report context.

Development

Install dependencies:

corepack enable
corepack prepare pnpm@10.34.1 --activate
corepack pnpm install --frozen-lockfile

Rebuild the project from scratch:

corepack pnpm build:clean

Run the local checks:

corepack pnpm verify

Run the coverage gate:

corepack pnpm verify:coverage

Run the opt-in live Trello smoke test:

TRELLO_LIVE_SMOKE=1 \
TRELLO_LIVE_SMOKE_BOARD_ID=your-disposable-board-id-or-short-link \
TRELLO_API_KEY=your-api-key \
TRELLO_TOKEN=your-token \
corepack pnpm smoke:live

Run locally in watch mode:

TRELLO_API_KEY=your-key TRELLO_TOKEN=your-token corepack pnpm dev

Build the Docker image locally:

corepack pnpm docker:build

Codex Cloud Environments

Codex Cloud tasks run a setup script before the agent starts, and can run an optional maintenance script when a cached container resumes on a task branch. Use these repository scripts in the Codex environment settings:

./scripts/codex/setup.sh
./scripts/codex/maintenance.sh

The setup script enables Corepack, activates the pinned pnpm version, installs dependencies with --frozen-lockfile when pnpm-lock.yaml exists, and runs pnpm typecheck. The maintenance script repeats dependency sync and typecheck for cached containers so branch changes do not use stale dependencies.

Troubleshooting

Start with the complete troubleshooting guide for a boundary-by-boundary diagnosis of startup, stdio, HTTP sessions, Docker, Trello API, rate-limit, and attachment failures.

The server starts but my MCP client does not show tools

  • Confirm the client is using the right transport.

  • For stdio, set TRANSPORT=stdio.

  • For HTTP, point the client to /mcp, not /healthz or /readyz.

  • Follow the client-specific restart or reload step in the Set up your MCP client guide.

Trello says the credentials are invalid

  • Run the auth_whoami and auth_token_info tools from your MCP client to confirm the authenticated member and the token's expiration and permissions.

  • Confirm the token was generated from the same Power-Up/API key.

  • Regenerate the token if it was revoked.

Docker Compose cannot find .env

  • Copy .env.example to .env.

  • Fill in TRELLO_API_KEY and TRELLO_TOKEN.

  • Keep .env uncommitted.

I hit Trello rate limits

  • The client uses a token-bucket limiter before each Trello request. TRELLO_RATE_LIMIT_CAPACITY controls how many requests can run in one bucket window, and TRELLO_RATE_LIMIT_REFILL_INTERVAL_MS controls how often the bucket refills.

  • When Trello returns HTTP 429, the client retries with exponential backoff. TRELLO_RETRY_MAX_ATTEMPTS controls the total request attempts, TRELLO_RETRY_BASE_DELAY_MS controls the starting delay and jitter range, and TRELLO_RETRY_MAX_DELAY_MS caps each retry wait.

  • At LOG_LEVEL=debug, token-bucket waits are logged as trello rate limit wait. HTTP 429 retries are logged as trello request rate limited; retrying at warn level. These logs include safe metadata such as method, resource type, resource id, attempt, max attempts, status code, and wait duration; they do not include Trello credentials, full URLs, query strings, or raw request paths.

  • First narrow the prompt or workflow: target one board or list, request only needed fields, use limit, since, before, and page where available, and avoid asking an LLM to inspect every card when a smaller search or filtered read will work.

  • If large workflows still wait too often, tune cautiously. For a shared token or automation that should be gentler, lower the bucket:

TRELLO_RATE_LIMIT_CAPACITY=50
TRELLO_RATE_LIMIT_REFILL_INTERVAL_MS=10000
  • For a deliberately large, user-triggered workflow, you can allow more retries without increasing the request bucket:

TRELLO_RETRY_MAX_ATTEMPTS=5
TRELLO_RETRY_BASE_DELAY_MS=250
TRELLO_RETRY_MAX_DELAY_MS=5000
  • Avoid raising TRELLO_RATE_LIMIT_CAPACITY aggressively unless you understand the Trello account and token's real workload. Higher capacity can make a broad LLM-driven workflow hit Trello's server-side limits faster.

  • Wait a few minutes before retrying a workflow after repeated 429 responses.

Contributing

PRs are welcome. Keep changes focused, add tests for behavior changes, and avoid committing secrets or local build and test output. When canonical documentation or public tool data changes, run corepack pnpm docs:tools and include the legitimate checked-in generated documentation mirrors.

Before opening a PR, run:

corepack pnpm typecheck
corepack pnpm lint
corepack pnpm build
corepack pnpm test

License

MIT License. See LICENSE.

Available Tools

77 tools
auth_token_infoA

Use as a read-only credential diagnostic to inspect the configured Trello token's owner, expiration, and permissions; it does not create, refresh, revoke, or manage tokens.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello configured token fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.identifier,idMember,dateCreated,dateExpires,permissions

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 safety burden and does so: it declares read-only behavior and explicitly denies the four mutation capabilities an agent might otherwise assume (create, refresh, revoke, manage). It does not cover failure behavior for an already-expired or insufficiently-scoped token, which is the main remaining gap.

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

Conciseness5/5

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

One sentence, front-loaded with the usage mode, then the payload, then the negative boundaries. No filler and nothing an agent must read twice.

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 one-optional-parameter, no-output-schema tool, the description supplies enough: what is inspected, what is returned conceptually, and that nothing is mutated. Only the sibling overlap with auth_whoami keeps it from being fully self-sufficient for tool selection.

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

Parameters3/5

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

Schema description coverage is 100% for the single optional 'fields' parameter, so the baseline is 3. The description gestures at the field set (owner, expiration, permissions) but adds no detail on syntax, defaults, or the 'all' keyword beyond what the schema already states.

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

Purpose4/5

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

The description names a specific verb ('inspect') and a precise resource ('the configured Trello token'), and enumerates the inspected attributes (owner, expiration, permissions). It is clear on its own, but it never distinguishes itself from the sibling auth_whoami, which an agent would reasonably see as an overlapping identity tool.

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?

'Use as a read-only credential diagnostic' gives an explicit usage context, and the closing clause ('does not create, refresh, revoke, or manage tokens') sharply bounds when not to reach for it. It stops short of naming an alternative, so the auth_whoami vs auth_token_info choice is left to inference.

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

auth_whoamiA

Use as a read-only credential diagnostic to confirm which Trello member the configured API key and token authenticate as.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello authenticated member fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.username,fullName,initials,avatarUrl

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose the key traits: it is read-only, it uses the server-configured API key and token rather than per-call credentials, and its output is a member identity. It stops short of saying what happens when credentials are invalid (error vs empty), which would round this out.

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 no filler, front-loaded with the usage cue and ending on the precise object of the call. Nothing could be removed without losing information.

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

Completeness4/5

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

For a one-optional-parameter read tool with no output schema, the description covers what it does, its read-only nature, and the fact that it reads server-configured credentials. Only the failure behavior and the distinction from auth_token_info are missing.

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 optional parameter and schema description coverage is 100%, so the schema already explains the comma-separated fields list and the 'all' option. The description adds nothing about it, which is acceptable at baseline but leaves no surplus 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?

States a concrete verb ('confirm') and a concrete resource ('which Trello member the configured API key and token authenticate as'), which is far more specific than a restatement of the name. It does not, however, distinguish itself from the sibling auth_token_info, leaving the agent to infer which auth diagnostic to pick.

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

Usage Guidelines3/5

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

'Use as a read-only credential diagnostic' implies the usage context (verifying that the configured key/token are valid and belong to which member). There are no explicit when-not conditions and no named alternative such as auth_token_info, so the agent must infer the routing between the two auth tools.

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

board_actionsA

Use when auditing recent activity or comments across a board; use filter, limit, page, since, before, and fields to keep large histories bounded.

NameRequiredDescriptionDefault
pageNoZero-based result page for Trello action collections.
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello action fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.id,type,date,data,idMemberCreator
filterNoTrello action filter such as all or commentCard.all
memberNoWhether to include member objects on actions.
boardIdYesTrello board id to inspect.
memberFieldsNoComma-separated Trello member fields when member is true.username,fullName,initials,avatarUrl
memberCreatorNoWhether to include the memberCreator object on actions.
memberCreatorFieldsNoComma-separated Trello memberCreator fields when memberCreator is true.username,fullName,initials,avatarUrl

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It discloses that histories should be bounded with filters/limits/paging, but does not explicitly state read-only behavior, permissions, rate limits, or return semantics.

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 compact sentence with the use case and key invocation guidance front-loaded. It contains no filler and is appropriately sized for a retrieval tool.

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

Completeness3/5

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

The schema richly documents all 11 parameters, which compensates for the short description. However, with no annotations and no output schema, the description does not fully explain expected return shape or safety profile, leaving some contextual 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 coverage is 100%, so parameter documentation is already strong. The description groups filter, limit, page, since, before, and fields as history-bounding controls, but adds little detail beyond the schema and omits the member-related toggles.

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 identifies the resource scope as board-level activity/comments and implies retrieval for auditing. It is clear enough to distinguish board-wide history from card- or list-level actions, though it does not explicitly name 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 Guidelines4/5

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

It gives a clear use case: auditing recent board activity or comments. It also directs the caller to use filtering and pagination controls for large histories, but does not state when to use sibling tools like card_actions instead.

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

board_cardsB

Use when you need cards across all lists on a known Trello board for personal planning, review, or summarization.

NameRequiredDescriptionDefault
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello card fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,idBoard,idList,idMembers,idLabels,url,shortUrl,due,dueComplete,pos,dateLastActivity
filterNoWhich cards to include from the board.open
boardIdYesTrello board id to inspect.

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 burden of behavioral disclosure. It only gives a use case and does not explain read-only behavior, pagination, filtering, field selection, or what happens with the limit/since/before parameters.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no redundant text. It is appropriately sized, though it could be slightly more informative without becoming verbose.

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

Completeness3/5

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

For a six-parameter retrieval tool with no annotations and no output schema, the description is minimal but the schema is rich. It identifies the board-wide card scope but does not explain return behavior or pagination, leaving some contextual 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 six parameters thoroughly. The description adds only the board-wide scope implied by 'across all lists' and does not supplement parameter meaning beyond the schema.

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

Purpose4/5

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

The description clearly states that the tool retrieves cards across all lists on a known Trello board, which is a specific resource and scope. It does not explicitly distinguish itself from siblings such as list_cards or member_cards, so it is clear but not fully differentiated.

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

Usage Guidelines4/5

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

The phrase 'Use when you need cards across all lists on a known Trello board' gives clear usage context. However, it does not mention when to prefer alternatives like list_cards, member_cards, or search, nor does it state exclusions.

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

board_createA

Use when creating a new Trello board. Creates boards as private by default, can place them in a workspace with workspaceId, and only supports explicit private, workspace, or public visibility.

NameRequiredDescriptionDefault
descNoOptional board description.
nameYesName for the new Trello board.
workspaceIdNoOptional Trello workspace/organization id where the board should be created.
permissionLevelNoBoard visibility to request. Defaults to private; use org only with a workspace id and public only when intentional.private

TDQS

A3.8/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 meaningful behavior: boards default to private, workspaceId places the board in an org, and visibility is restricted to enumerated values. It says nothing about permission requirements, whether the creator becomes an admin, or rate limits 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 that opens with the usage trigger and then layers the behavioral constraints. It is slightly run-on with three comma-joined clauses, but there is no filler or repetition.

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, the description should carry more of the operational burden. It covers visibility and workspace placement adequately but leaves auth requirements, what the created board response contains, and failure modes unaddressed for a 4-parameter mutation.

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 reinforces the private default and the workspaceId placement, but that information is already present in the schema's own parameter descriptions; it adds no new syntax, format, or edge-case detail beyond it.

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 ('creating a new Trello board') and immediately scopes it by describing the default visibility and workspace placement. An agent can distinguish it from the read-oriented board siblings (board_get, list_boards, workspace_boards) without inspecting 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 Guidelines4/5

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

The 'Use when creating a new Trello board' trigger is explicit, and the clause about only supporting explicit private/workspace/public visibility sets a constraint on invocation. However, it names no alternative path (e.g., creating a board from a template or moving an existing board) and gives no prerequisites such as required auth scope.

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

board_custom_fieldsB

Use when inspecting custom field definitions on a known Trello board, including dropdown/list options when Trello returns them.

NameRequiredDescriptionDefault
boardIdYesTrello board id to inspect.

TDQS

B3.4/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 adds one genuine behavioral note — that dropdown/list options are included only 'when Trello returns them', signalling conditional/incomplete payloads — but says nothing about read-only semantics, auth requirements, rate limits, or the shape of returned definitions.

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 sentence, front-loaded with the 'Use when' trigger and no redundant restatement of the tool name. It is efficient, though the qualifier 'when Trello returns them' is slightly ambiguous about whether options are opt-in.

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 read tool with no output schema, the description does convey the gist of the return (definitions plus conditional options). It still leaves the agent guessing about what a definition contains and whether assigned field values are included, which matters given no output schema to fall back on.

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

Parameters3/5

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

Schema description coverage is 100% for the single boardId parameter, so the schema already documents its meaning. The description's phrase 'known Trello board' reinforces that boardId must reference an existing board but adds no format, ID source, or validation detail beyond the schema.

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

Purpose4/5

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

The description gives a specific verb ('inspecting') and resource ('custom field definitions on a known Trello board'), so the agent knows this lists board-level custom field definitions rather than field values. It does not name or differentiate against close siblings such as custom_field_get, board_field_get, or custom_field_options, which is exactly where confusion is likely.

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 'Use when inspecting custom field definitions on a known Trello board' clause establishes a clear trigger condition. However, it offers no when-not guidance and does not route the agent away from custom_field_options, even though it explicitly mentions returning dropdown/list options — an overlap that invites misselection.

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

board_field_getB

Use when you need one specific board field, such as prefs, labelNames, subscribed, name, description, or URL.

NameRequiredDescriptionDefault
fieldYesSingle board field to read. Use prefs for common board preferences and labelNames for board label names.
boardIdYesTrello board id to inspect.

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 does not explicitly state that this is a read-only operation, mention permissions or side effects, or describe what the tool returns for the requested field.

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 unnecessary exposition. Its examples are useful, though some overlap with the enum and include labels that do not exactly match schema enum values such as 'desc' and 'url'.

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, the description is adequate for selection and invocation. It is less complete about the return value, since there is no output schema and the description does not explain what reading a field returns.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters and the field enum. The description adds example field names, but this largely duplicates the enum and does not add syntax or constraints beyond the schema.

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

Purpose4/5

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

The description clearly identifies a specific resource and scope: retrieving one board field. It distinguishes this from broader board retrieval by emphasizing a single field, though it does not explicitly name the sibling tool board_get.

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 'Use when you need one specific board field' gives implied usage guidance. However, it does not explicitly name alternatives such as board_get or explain when to use this tool versus retrieving the full board.

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

board_getA

Use when you need board details, common board preferences, or label names for a known Trello board before listing or summarizing it.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello board fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,url,shortUrl,idOrganization,dateLastActivity,prefs,labelNames,subscribed
boardIdYesTrello board id to inspect.

TDQS

A3.7/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 behavioral load. It communicates that this is a read of a known board, but doesn't state safety/read-only nature explicitly, permissions required, or response shape, leaving gaps that annotations would normally cover.

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 clause (details, prefs, label names, pre-summary context) contributes. Nothing wasted and nothing buried.

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 only two well-documented params and no output schema, the definition is largely sufficient, but the absence of annotations means the description could do more to characterize the read behavior and what the returned 'preferences' and 'label names' represent. It's minimum-viable rather than 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 boardId and fields are fully documented in the schema, including the default field list. The description adds no syntax or format detail beyond that, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description names both the verb (get) and the concrete resources returned — board details, preferences, and label names — for a known board. It's clear what the tool fetches, though it doesn't explicitly differentiate itself from close siblings like board_field_get or board_labels.

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 specifies the condition to use it ('before listing or summarizing' a known board), giving a clear operational context. It stops short of naming alternatives or exclusions (e.g., when to prefer board_field_get for a single field), so it's 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.

board_labelsB

Use when discovering labels available on a board before creating or updating cards with labels.

NameRequiredDescriptionDefault
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
fieldsNoComma-separated Trello label fields to request; use all for detailed follow-up reads.name,color,uses
boardIdYesTrello board id to inspect.

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 behavioral burden yet says nothing about read-only semantics, the 50-item default/cap, or the fact that 'fields' controls response shape. Only the implicit 'discovering' hints at a safe read; nothing about pagination or rate limits is disclosed.

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

Conciseness4/5

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

A single well-formed sentence with the usage trigger front-loaded and no filler. It is efficient but slightly under-specified rather than over-long.

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 3-parameter read tool with no annotations and no output schema, the description should mention the returned shape at least in outline (names, colors, uses) and that results are capped. As written, an agent can call it but cannot predict the response.

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

Parameters3/5

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

Schema description coverage is 100% - each of boardId, limit and fields is documented in-schema, so the baseline is 3. The description adds no extra meaning about parameter behavior or interactions.

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 conveys a clear verb (discovering) and resource (labels available on a board), so an agent knows this returns a board's label set. It does not differentiate from nearby siblings such as label_get or card_labels, which could also surface label data.

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

Usage Guidelines4/5

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

'Use when ... before creating or updating cards with labels' gives a concrete trigger context. It stops short of naming an alternative (e.g. label_get for a single label) or stating when not to use it.

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

board_listsA

Use when you need the lists on a known Trello board so you can find the right list id before listing or creating cards.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello list fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,closed,idBoard,pos
filterNoWhich lists to include from the board.open
boardIdYesTrello board id to inspect.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral context. It implies a read-only retrieval and mentions the 'known board' precondition, but it omits permissions, error behavior, and other operational details, leaving it at minimum viable.

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?

It is a single, front-loaded sentence with no filler. The use case and downstream purpose are both expressed without wasted words.

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 low-complexity read tool with full schema coverage, the description gives enough context to call it correctly and tells the agent what to extract (the list id). It does not explain return fields, but the narrow purpose makes that a minor 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 schema already fully documents boardId, fields, and filter. The description only reinforces the board scope and adds no parameter syntax or meaning beyond the schema, making 3 the appropriate 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 clearly identifies the resource as lists on a known Trello board and ties it to a concrete outcome: finding the right list id. It distinguishes the tool from card-level siblings through the board/list scope, though it does not explicitly name an alternative tool.

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 says exactly when to use it ('when you need the lists on a known Trello board') and what downstream actions it supports ('before listing or creating cards'). It stops short of explicit when-not guidance or naming sibling alternatives like list_cards or card_create.

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

board_membersA

Use when you need the members who can access a known Trello board before assigning cards or reviewing collaboration; requires token visibility of private boards.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello member fields to request; use all for detailed follow-up reads.username,fullName,initials,avatarUrl
boardIdYesTrello board id to inspect.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose an important access prerequisite: 'requires token visibility of private boards.' However, it does not state that this is a read-only operation, describe the return shape, or mention pagination, leaving meaningful behavioral gaps.

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 that packs the use case and permission requirement without wasted wording. It is appropriately sized for a simple two-parameter read tool.

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 complete schema descriptions and no output schema, the description covers purpose, usage context, and an access precondition. It is nearly complete, though it could mention that the result is a member list and whether pagination 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 coverage is 100%, so both boardId and fields are already documented in the input schema. The description adds only the notion of a 'known Trello board' and does not explain field selection or any semantics beyond what the schema provides.

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

Purpose4/5

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

The description clearly identifies the resource as 'the members who can access a known Trello board,' giving a specific retrieval target. It does not explicitly distinguish this from close siblings such as board_memberships or workspace_members, so it falls short of full sibling differentiation.

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

Usage Guidelines4/5

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

It explicitly frames the use case as 'before assigning cards or reviewing collaboration,' which tells the agent when this tool is appropriate. It does not name alternatives or state when not to use it, so it lacks full when/when-not guidance.

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

board_membershipsA

Use when you need board membership records, member roles, or permission context for a known Trello board; use the admins filter when checking board-admin-only operations.

NameRequiredDescriptionDefault
filterNoWhich board memberships to include.all
memberNoWhether to include basic member profile details.
boardIdYesTrello board id to inspect.
memberFieldsNoComma-separated Trello member fields when member is true.username,fullName,initials,avatarUrl

TDQS

A3.5/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 retrieval operation but does not state read-only behavior, authorization requirements, response shape, pagination, or 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 compact sentence with the primary usage condition front-loaded and no wasted wording.

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 four-parameter retrieval tool with full schema coverage, the description covers purpose and filter usage adequately. However, with no annotations and no output schema, it leaves behavioral gaps around read-only status, auth, 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%, so the schema already documents all four parameters. The description adds useful context for the admins filter, but says nothing additional about member, memberFields, or boardId beyond the schema.

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

Purpose4/5

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

The description clearly identifies board membership records, member roles, and permission context for a known Trello board. It does not explicitly distinguish this tool from the sibling board_members tool, so sibling differentiation is missing.

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 provides clear usage context: use it when you need board membership records or permission context, and use the admins filter for board-admin-only operations. It does not name an alternative tool or state when not to use this one.

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

card_actionsA

Use when auditing recent activity or comments for a card; use filter, limit, page, since, before, and fields to page large histories.

NameRequiredDescriptionDefault
pageNoZero-based result page for Trello action collections.
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello action fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.id,type,date,data,idMemberCreator
filterNoTrello action filter such as all or commentCard.all
memberNoWhether to include member objects on actions.
memberFieldsNoComma-separated Trello member fields when member is true.username,fullName,initials,avatarUrl
memberCreatorNoWhether to include the memberCreator object on actions.
memberCreatorFieldsNoComma-separated Trello memberCreator fields when memberCreator is true.username,fullName,initials,avatarUrl

TDQS

A3.7/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. 'Auditing' implies a read-oriented operation, and it discloses that filter, limit, page, since, before, and fields support paging large histories, but it does not explicitly confirm read-only behavior, permissions, or result shape.

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

Conciseness5/5

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

The description is a single compact sentence with the primary use case front-loaded and no wasted text. The paging guidance is also placed where it is immediately useful.

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

Completeness3/5

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

The tool has 11 parameters and no output schema, but the description only covers the auditing use case and basic paging. The schema fills in parameter details, yet the description does not explain the return payload or the member/memberCreator expansion options, leaving some contextual 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 explains the parameters in detail. The description names several paging/filtering parameters but adds little semantic depth beyond what the schema provides, making the baseline 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 clearly scopes the tool to card-level activity/comment auditing, which distinguishes it from board_actions, list_actions, and workspace_actions. It does not explicitly state a verb like 'list' or 'retrieve', but the intended operation is still easy to infer.

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 use case: auditing recent activity or comments for a card. It also points to paging-related parameters for large histories, but it does not mention when to choose card_actions over sibling activity tools such as board_actions or list_actions.

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

card_archiveA

Use when the user wants to archive or unarchive a card while keeping it recoverable; do not use for permanent deletion.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
closedNoTrue archives the card; false restores it.

TDQS

A4.2/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 usefully discloses recoverability and non-permanent deletion, but it does not explain permissions, what archiving changes on the board, or what the call returns.

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

Conciseness5/5

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

It is a single, front-loaded sentence with the usage condition first and the exclusion second. There is no wasted wording.

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 card operation with a fully documented schema and no output schema, the description supplies the key selection and safety context. The remaining gap is minor: it does not describe side effects such as how the card appears after archiving.

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 fully documents cardId formats and the closed=true/false meaning. The description only implies archive versus unarchive and adds no parameter detail beyond the 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?

The description states a specific verb and resource: archive or unarchive a card. It also explicitly distinguishes this from permanent deletion, which lets an agent separate it from sibling tools like card_delete.

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

Usage Guidelines5/5

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

It gives an explicit trigger: use when the user wants to archive or unarchive a card while keeping it recoverable. It also gives an explicit exclusion: do not use for permanent deletion, which clearly routes the agent toward deletion elsewhere.

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

card_attachment_add_urlA

Use when attaching an existing public URL to a card; this does not upload local files.

NameRequiredDescriptionDefault
urlYesPublic URL to attach to the card.
nameNoOptional display name for the attachment.
cardIdYesTrello card id, short link, or Trello card URL.
setCoverNoWhether Trello should make this URL attachment the card cover.

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, but it only discloses that local files are not uploaded. It says nothing about permissions/auth requirements, mutation side effects, what happens when setCover is true, or what is returned. The one constraint given is useful but insufficient for a write 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?

One sentence, front-loaded with the usage condition and ending with the key exclusion. 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?

The schema fully covers the parameters and there is no output schema, but the tool is a mutation with zero annotations. The description could have mentioned permission needs or attachment side effects; as written it is minimally adequate rather than 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 all four parameters are already documented in the schema. The description adds no parameter-level meaning beyond the schema, which is acceptable but not additive.

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 ('attaching an existing public URL to a card') and explicitly distinguishes the tool from the sibling upload tool by noting it 'does not upload local files.' An agent can select this tool with no ambiguity.

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 clearly states when to use the tool ('attaching an existing public URL') and gives an exclusion ('does not upload local files'). It stops short of naming the sibling alternative (card_attachment_upload) or describing prerequisites, so it is strong but not exhaustive.

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

card_attachment_deleteA

Permanently delete an attachment from a card, including Trello's stored file for uploads. This cannot be undone; use card_cover_set to clear a cover without deleting its attachment.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
attachmentIdYesAttachment id to remove from the card.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so well: it states the action is permanent, cannot be undone, and deletes Trello's stored file for uploads. Those are the critical side effects an agent needs before invoking a destructive tool.

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

Conciseness5/5

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

Two sentences, both front-loaded: the destructive action is stated first, followed by the safety-relevant alternative. There is no filler.

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?

For a simple two-parameter delete tool with full schema coverage and no output schema, the description supplies the essential context: permanence, unrecoverability, file deletion, and the safer sibling operation for cover removal.

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 required parameters are documented in the schema. The description adds no additional parameter semantics, 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.

Purpose5/5

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

States a specific verb and resource: permanently delete an attachment from a card. It further clarifies that uploads include Trello's stored file, which distinguishes this from merely unlinking or clearing a cover.

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 a clear alternative for a related operation: use card_cover_set to clear a cover without deleting its attachment. It does not spell out broader when-not-to-use conditions, but the key sibling distinction is explicit.

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

card_attachment_getA

Use when inspecting one existing card attachment by attachment id, including upload metadata when Trello returns it.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello attachment fields to request; use all for detailed follow-up reads.all
attachmentIdYesAttachment id to inspect.

TDQS

A3.6/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 does signal this is a read ('inspecting') and honestly notes that upload metadata is only present 'when Trello returns it,' which is useful conditional-return context. It says nothing about permissions, behavior for a missing/invalid attachment id, or whether fields affect the payload size.

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 use-condition comes first and the conditional-return caveat follows. It could be marginally denser with one clause about return shape, but nothing is wasted.

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

Completeness3/5

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

With no annotations and no output schema, the description is the only place to learn what comes back, and it only gestures at 'upload metadata when Trello returns it.' For a 3-parameter read tool it is adequate, but the caller still doesn't know the response shape or whether fields='all' materially changes cost.

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, attachmentId, and the fields parameter are already documented in the schema. The description reinforces the attachment-id lookup and hints that responses can include upload metadata, but adds no syntax or format guidance beyond what the schema provides.

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 — inspecting a single existing card attachment by id — and scopes it to one item, which is distinguishable from the sibling card_attachments list tool. It stops short of naming that sibling as the fan-out alternative.

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 'Use when inspecting one existing card attachment by attachment id' clause gives a clear trigger condition for retrieval of a single attachment. It offers no explicit exclusions (e.g., when to prefer card_attachments for listing) but the context is unambiguous.

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

card_attachmentsA

Use when listing files or links attached to a card, optionally narrowed by Trello attachment fields or filter.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello attachment fields to request; use all for detailed follow-up reads.all
filterNoOptional Trello attachment filter, such as cover.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral load. It correctly implies a read-only listing and discloses that results can be narrowed, but says nothing about pagination, result size, permission requirements, or what happens when a card has no attachments.

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 that states the trigger condition first and the optional modifiers second. Nothing is wasted.

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

Completeness4/5

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

For a simple three-parameter read-only listing tool with full schema coverage, the description gives an agent everything needed to select and invoke it correctly. The only gap is the absence of any hint about the return shape, which matters slightly since no output schema exists.

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 structured form. The description's phrase "narrowed by Trello attachment fields or filter" merely restates the fields and filter params without adding format or default guidance, 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 (listing) and resource (files or links attached to a card), which clearly separates it from the singular card_attachment_get sibling. It is clear about what is returned without naming that 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 Guidelines4/5

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

"Use when listing files or links attached to a card" is an explicit trigger condition, and the optional narrowing clause tells the agent how to scope the call. There are no exclusions or named alternatives (e.g., card_attachment_get for a single attachment), which keeps it below a 5.

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

card_attachment_uploadA

Read a server-local file inside TRELLO_ATTACHMENT_UPLOAD_ROOT and transmit its contents to Trello as a new card attachment. Disabled unless that root is configured; repeated uploads can create duplicates. Use card_attachment_add_url for public links.

NameRequiredDescriptionDefault
nameNoOptional Trello display name for the uploaded attachment.
cardIdYesTrello card id, short link, or Trello card URL.
filePathYesServer-side file path to upload. Relative paths resolve inside TRELLO_ATTACHMENT_UPLOAD_ROOT; absolute paths must also be inside that root.
mimeTypeNoOptional MIME type to send for the uploaded file.
setCoverNoWhether Trello should make this uploaded attachment the cover.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden well: it discloses the server-local root restriction, the disabled state when the root is missing, and the duplicate-upload side effect. It does not cover authentication or permission requirements, but the key operational caveats for this upload action are present.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core action, then constraints and the alternative. There is no wasted language.

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 five-parameter upload tool with no annotations or output schema, the description covers the critical selection and invocation context: root restriction, disabled state, duplicate risk, and the URL alternative. It does not describe the response or permission requirements, but the main behavioral constraints an agent needs are 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?

Schema description coverage is 100%, so the schema already documents all five parameters, including the root-path behavior for filePath. The description reinforces that files must be server-local and inside TRELLO_ATTACHMENT_UPLOAD_ROOT, but adds little parameter-level meaning beyond the 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?

The description uses a specific verb and resource: reading a server-local file and transmitting it to Trello as a new card attachment. It also distinguishes itself from the sibling URL-based attachment tool, so an agent can identify the correct tool without inspecting schemas.

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

Usage Guidelines5/5

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

It explicitly states the alternative for public links: use card_attachment_add_url instead. It also provides the prerequisite that the tool is disabled unless TRELLO_ATTACHMENT_UPLOAD_ROOT is configured and warns that repeated uploads can create duplicates.

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

card_boardB

Use when you need the board relationship for a known Trello card before moving, labeling, or summarizing its context.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello related resource fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.all

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 disclosure burden. It never states that this is a read-only lookup, what shape the 'board relationship' comes back in, or whether the optional fields parameter changes the payload — all left to inference.

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

Conciseness4/5

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

A single tight sentence, front-loaded with the usage condition and free of filler. It is efficient, though the terseness is part of why purpose and return value stay implicit.

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 lookup with no output schema and no annotations, the description should at minimum say what comes back. It conveys the usage moment but leaves the return value and the effect of 'fields' unexplained, so it is only minimally adequate.

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

Parameters3/5

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

Schema description coverage is 100%, with both cardId and fields fully documented in the schema itself, so the baseline is 3. The description adds no parameter meaning beyond what the schema states.

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 names the resource ('board relationship for a known Trello card'), which is more specific than the bare name 'card_board', but the verb is implicit ('when you need') rather than stating plainly that it returns the board a card belongs to. With sibling tools like card_get, card_list, and board_get available, it does not sharply delineate what this returns versus those.

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 concrete triggering contexts — before moving, labeling, or summarizing a card's context — which tells an agent when this lookup is warranted. It stops short of naming an alternative or when-not-to-use condition, so it lands just under the top score.

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

card_checklist_createB

Use when adding a new checklist to an existing card, optionally copied from another checklist.

NameRequiredDescriptionDefault
nameYesChecklist name.
cardIdYesTrello card id, short link, or Trello card URL.
sourceChecklistIdNoExisting checklist id to copy items from.

TDQS

B3.3/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 states the action but omits critical behavioral details: required permissions, what happens if the card is not found, whether copying includes item states, and what is returned (no output schema). Only the minimal 'this is an add operation' is communicated.

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 entire description is a single front-loaded sentence with zero wasted words. It is efficient and easy to parse, though its extreme terseness borders on under-specification 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 mutation tool with no annotations and no output schema, the description is incomplete. It does not cover permissions, error conditions, side effects, or what the response contains, leaving significant ambiguity for an agent that needs to call 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 coverage is 100%, so the parameter definitions already fully document cardId, name, and sourceChecklistId. The description adds only that the copy is 'optional', which is a slight value-add but largely redundant with 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?

The description states a specific verb and resource ('adding a new checklist to an existing card') and notes the optional copy source, making the purpose clear. It does not explicitly differentiate from sibling tools like card_checklists or card_checklist_update, but the action is distinct enough to avoid confusion.

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 phrase 'Use when adding a new checklist to an existing card' gives explicit guidance on when to invoke the tool. However, it provides no exclusions or alternatives (e.g., when to use card_checklist_update instead of creating), which prevents a 5.

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

card_checklist_deleteA

Permanently delete a checklist and all its items from a card. This cannot be undone; use card_checklist_item_delete to remove only one item.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
checklistIdYesTrello checklist id.

TDQS

A4.4/5.0
Behavior4/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 clearly discloses the most important behavioral traits: the deletion is permanent, cannot be undone, and removes all checklist items. It does not mention permission requirements or response behavior, but the key destructive semantics are explicit.

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

Conciseness5/5

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

The description is two tight sentences with no wasted text. The destructive warning and sibling alternative are front-loaded and directly actionable.

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

Completeness4/5

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

For a destructive two-parameter tool with no output schema, the description covers the essential risk and the main sibling distinction. It could be slightly richer about permissions or return behavior, but nothing critical to correct invocation is missing.

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 required parameters are already documented in the input schema. The description does not add syntax, format, or usage detail beyond what the schema provides, which matches the baseline for fully documented parameters.

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 gives a specific verb and resource: permanently delete a checklist and all its items from a card. It clearly distinguishes this from the sibling card_checklist_item_delete, which removes only one item, so an agent can select the correct tool without inspecting 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 Guidelines5/5

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

It explicitly states the condition that should route the agent elsewhere: use card_checklist_item_delete to remove only one item. This is a direct when-to-use-this-vs-alternative guideline for a destructive operation.

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

card_checklist_item_createB

Use when adding a new item to an existing Trello checklist on a card.

NameRequiredDescriptionDefault
dueNoOptional ISO-8601 due date for the checklist item.
posNoPosition of the checklist item within its checklist.
nameYesChecklist item text.
checkedNoWhether the checklist item should start checked.
memberIdNoOptional Trello member id assigned to the checklist item.
checklistIdYesTrello checklist id.
dueReminderNoOptional reminder offset in minutes for the item due date.

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, and it discloses almost nothing: no mention of required write permissions, default position when 'pos' is omitted, whether assigning a member or due date triggers notifications, or that creation is non-destructive/additive. For a mutation tool with zero annotation coverage this is a significant gap.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, which is efficient. However, for a 7-parameter mutation tool it reads as under-specified rather than genuinely concise — nothing is wasted, but too little is said.

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

Completeness2/5

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

With seven parameters, no annotations, and no output schema, an agent needs more than one sentence: permissions, default ordering, and what the created item/response looks like are all unaddressed. The definition is not sufficient on its own for correct invocation beyond required IDs.

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 seven parameters including due, pos, checked, and memberId are already documented in structured fields. The description adds no additional semantics such as position defaults or due-date expectations, so it only meets 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+resource combination ('adding a new item to an existing Trello checklist on a card'), which is unambiguous and maps cleanly to the tool name. It does not explicitly contrast with close siblings such as card_checklist_item_update or card_checklist_items, but the create-vs-update distinction is inferable from the wording.

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

Usage Guidelines3/5

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

'Use when adding a new item' is a stated trigger, but it essentially restates the purpose rather than giving real routing guidance. No mention of when to prefer card_checklist_item_update, how to find a checklistId via card_checklists, or any prerequisite, so alternatives are left implicit.

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

card_checklist_item_deleteA

Permanently delete one checklist item. This cannot be undone; use card_checklist_item_set_checked to mark completion while keeping the item.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
checkItemIdYesTrello checklist item id.

TDQS

A4/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 behavioral burden. It usefully discloses that deletion is permanent and cannot be undone, but it does not mention permission requirements, side effects on the parent checklist, or response behavior.

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 compact sentences with the destructive nature front-loaded and the alternative immediately following. 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 simple two-parameter destructive tool with no output schema, the description covers the essential risk and routing information. It could still do more on permissions or side effects, but it is largely 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 cardId and checkItemId are already documented. The description adds no parameter-specific syntax or constraints beyond the schema, making the 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?

States a specific verb and resource: "Permanently delete one checklist item." It also distinguishes the operation from the sibling alternative card_checklist_item_set_checked, so an agent can tell what this tool does.

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 alternative for the common non-destructive case: use card_checklist_item_set_checked to mark completion while keeping the item. It does not spell out broader when-not-to-use conditions, but the destructive intent is clear.

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

card_checklist_item_moveB

Use when moving a Trello checklist item to another checklist on the same card or to a different position.

NameRequiredDescriptionDefault
posNoPosition of the checklist item within its checklist.
cardIdYesTrello card id, short link, or Trello card URL.
checkItemIdYesTrello checklist item id.
checklistIdYesDestination checklist id on the 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 full behavioral burden. It only discloses the same-card constraint; it says nothing about required permissions, whether the item is removed from the source checklist, what happens on failure, or what the response contains.

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

Conciseness5/5

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

A single front-loaded sentence with no filler. The scope constraint is stated immediately and nothing is wasted.

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 unannotated mutation tool with four parameters and no output schema, the description is too thin. It omits side effects, permissions, error behavior, and return semantics that an agent would need to invoke it confidently.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (including pos, cardId, checkItemId, checklistId) are already documented in the schema. The description adds no syntax or constraint details 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 (moving) and resource (Trello checklist item), plus the two supported destinations: another checklist on the same card or a different position. It is clear enough to distinguish from update/delete siblings, though it does not explicitly name those alternatives.

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

Usage Guidelines3/5

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

The phrase 'Use when moving...' gives a clear triggering condition, but there is no guidance on when not to use it or which sibling to choose for related operations such as card_checklist_item_update.

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

card_checklist_itemsB

Use when listing the items in one Trello checklist, including complete and incomplete items by default.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello checklist item fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.all
filterNoWhich checklist items to include.all
checklistIdYesTrello checklist id.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. 'Listing' implies a safe read and the default-scope note is useful, but there is no statement about pagination, auth needs, or return shape; the default note also largely restates the schema's filter default of '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?

A single front-loaded sentence with the trigger condition first and no waste. It is appropriately sized, though it could have used its brevity to add one differentiating clause.

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

Completeness3/5

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

For a simple 3-parameter list tool with full schema coverage, the description covers purpose and default scope. With no output schema and no note on return fields or pagination, an agent still lacks some information about what it gets back.

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 (checklistId, filter, fields) are already documented, including the filter enum. The description adds no syntax or format detail beyond 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?

States a specific verb ('listing') and resource ('items in one Trello checklist'), which is enough to separate it from siblings like card_checklists (lists checklists, not items) and card_checklist_item_create/update. It does not explicitly name those siblings, so it stops short of full differentiation.

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

Usage Guidelines3/5

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

The phrase 'Use when listing...' gives implied context, and it clarifies the default scope (complete and incomplete). However, it names no alternatives and gives no when-not guidance, e.g., how this differs from card_checklists.

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

card_checklist_item_set_checkedA

Use when checking or unchecking a Trello card checklist item without changing other item fields.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
checkedYesTrue checks the item; false unchecks it.
checkItemIdYesTrello checklist item id.

TDQS

A3.6/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 behavioral burden. It does disclose one behavioral trait — that only the checked field is touched and other item fields are left intact — but says nothing about idempotency, required permissions, or what is returned after the 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 front-loaded sentence with no filler. Nothing is wasted, though the sentence is doing very little work beyond the title, which leaves little for the reader who skips the schema.

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 3-parameter mutation tool with no annotations and no output schema, the description should at least signal the mutation's scope and any preconditions. The 'only changes checked' scope is covered, but side effects, failure modes, and return behavior are all absent.

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%: cardId (id/short link/URL), checkItemId, and the boolean checked semantics are all documented in the schema. The description adds no parameter detail beyond what is already there, 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?

Names the specific action (checking/unchecking a checklist item) and the resource (Trello card checklist item), and implicitly distinguishes itself from card_checklist_item_update by scoping the mutation to the checked field only. It is not tautological, though it never states the tool's effect in a standalone verb phrase.

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?

Opens with an explicit 'Use when...' trigger covering both directions (check and uncheck). The clause 'without changing other item fields' signals the boundary against card_checklist_item_update, but that sibling is never named, so an agent must infer the routing.

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

card_checklist_item_updateB

Use when editing a Trello card checklist item text, due date, member assignment, completion state, checklist, or position.

NameRequiredDescriptionDefault
dueNoNew ISO-8601 item due date, or null to clear it.
posNoPosition of the checklist item within its checklist.
nameNoUpdated checklist item text.
stateNoSet to complete to check the item or incomplete to uncheck it.
cardIdYesTrello card id, short link, or Trello card URL.
memberIdNoTrello member id assigned to the item, or null to unassign.
checkItemIdYesTrello checklist item id.
checklistIdNoDestination checklist id; include to move the item to another checklist on the card.
dueReminderNoNew reminder offset in minutes, or null to clear it.

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, but it only implies a mutation via 'editing'. It does not disclose permission needs, partial-update semantics, side effects of moving via checklistId, clearing behavior via null, or what the response contains.

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. Every listed field earns its place by signaling the tool's editing scope.

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 nine-parameter mutation tool with no annotations and no output schema, the description is too sparse. It lists editable fields but leaves out behavioral context, side effects, and guidance on when to prefer the dedicated sibling tools for checking, moving, or deleting checklist items.

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 nine parameters in detail. The description names most editable fields but adds no syntax, caveats, or meaning beyond what the schema provides, and omits dueReminder.

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 ('editing') and resource ('Trello card checklist item') and enumerates the fields that can change. It is clear what the tool does, but it does not explicitly distinguish itself from sibling tools like card_checklist_item_set_checked or card_checklist_item_move.

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 phrase 'Use when editing...' provides a clear usage context for the tool. However, it gives no when-not guidance and does not name the more specific sibling alternatives for completion state or position changes.

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

card_checklistsA

Use when viewing all checklists and checklist items currently on a card.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A3.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 burden of behavioral disclosure. 'Viewing' implies a read-only operation, but the description does not confirm side-effect safety, mention permissions, describe pagination, or explain return structure for a tool with no output schema.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted text. It communicates the relevant usage condition and scope directly.

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 one-parameter read tool with full schema coverage, the description is mostly complete: it explains that the result includes all checklists and checklist items on a card. It could be stronger by noting pagination or return behavior, but the core context 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 only one parameter and schema description coverage is 100%, with the schema explaining that cardId accepts a Trello card id, short link, or URL. The description adds no parameter-specific meaning beyond the schema, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb-plus-resource: viewing all checklists and checklist items on a card. It distinguishes the tool from item-specific siblings like card_checklist_items by emphasizing that it returns all checklists and their items on a card, though it does not explicitly name an alternative.

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 phrase 'Use when viewing all checklists and checklist items currently on a card' gives a clear context for selecting this tool. It does not state when not to use it or name any specific alternative tool, which keeps it below a 5.

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

card_checklist_updateA

Use when renaming a Trello card checklist or changing the checklist's position on its card. Provide at least one of name or pos.

NameRequiredDescriptionDefault
posNoNew position for the checklist on its card.
nameNoUpdated checklist name.
checklistIdYesTrello checklist id.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It never says what a mutation does to existing checklist items, whether the operation is idempotent, what permissions are needed, or what comes back on success or failure.

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

Conciseness5/5

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

Two short sentences, the trigger condition front-loaded and the validation rule trailing. Every clause earns its place with no restatement of the tool name.

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

Completeness3/5

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

For a simple three-parameter mutation with full schema coverage and no output schema, the purpose and the at-least-one rule cover the essentials. What is missing is any statement of effect or outcome, which matters here because no annotations describe the write semantics.

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 a real cross-parameter rule the schema does not encode: only checklistId is required, yet at least one of name or pos must be supplied. That is genuine value beyond the structured fields.

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?

Names a specific verb set (renaming, changing position) against a specific resource (Trello card checklist), which cleanly separates it from siblings like card_checklist_create, card_checklist_delete and card_checklist_item_update without opening a schema. No sibling is named explicitly, 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 Guidelines4/5

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

"Use when renaming ... or changing the checklist's position" gives an explicit triggering condition, and the closing clause states the invocation precondition (at least one of name or pos). It stops short of naming an alternative tool or stating when not to use it.

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

card_comment_addA

Add a new comment to a Trello card and return its comment action. Repeating the call creates another comment; use card_comment_update to edit an existing comment.

NameRequiredDescriptionDefault
textYesComment text to add to the card.
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and usefully discloses that the operation is non-idempotent and returns the resulting comment action. It does not mention permissions, notification side effects, or rate limits, so it stops short of full behavioral disclosure for a mutation tool.

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

Conciseness5/5

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

The description is two tightly written sentences with no filler. The primary action is front-loaded, followed by the key behavioral caveat and sibling routing.

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?

For a simple two-parameter mutation with complete schema coverage and no output schema, the description covers action, return value, non-idempotency, and the relevant alternative tool. Nothing essential is missing 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 both required parameters are already documented in the schema. The description does not add format details or constraints beyond what the schema provides, making the baseline score 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 and resource: adding a comment to a Trello card. It also names the sibling tool card_comment_update for the distinct editing case, so an agent can distinguish the two operations without inspecting schemas.

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

Usage Guidelines5/5

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

It explicitly says to use card_comment_update when editing an existing comment. It also clarifies the important usage behavior that repeating this call creates additional comments rather than updating one.

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

card_comment_deleteA

Permanently delete a card comment by its action id. This cannot be undone; use card_comment_update to edit the text instead.

NameRequiredDescriptionDefault
actionIdYesTrello comment action id to delete.

TDQS

A4.4/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 disclose the most important trait: the deletion is permanent and irreversible. It does not cover permissions requirements, behavior if the actionId doesn't exist, or the response shape, which keeps it below 5.

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

Conciseness5/5

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

Two short sentences, the destructive nature front-loaded and the alternative immediately after. Every clause earns its place with no 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?

For a single-parameter destructive tool with no output schema, the essential information (irreversibility, correct identifier, sibling alternative) is present. Minor omissions like permission needs or no-op/error behavior keep it at 4 rather than 5.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter's own description already says 'Trello comment action id to delete.' The description reinforces that the id refers to a comment action but adds no format or sourcing detail 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 and resource ('Permanently delete a card comment') and disambiguates the target ('by its action id'). This clearly separates it from siblings like card_comment_update and card_comment_add.

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

Usage Guidelines5/5

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

Explicitly names the alternative ('use card_comment_update to edit the text instead'), giving the agent a clear when-not-to-use path. The destructive vs. edit distinction is unambiguous.

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

card_comment_updateA

Use when editing the text of an existing Trello card comment by its comment action id.

NameRequiredDescriptionDefault
textYesUpdated comment text.
actionIdYesTrello comment action id to update.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden and does very little: it never says whether only the text changes while other comment fields are preserved, whether edit history or timestamps are affected, what permissions are required, or what happens with an invalid or non-owned action id. Only the 'text-only edit' scope hint adds any behavioral value.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the use condition and the identifier requirement come first.

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 no nested objects and no output schema, the description plus a fully annotated schema is enough to select and invoke the tool correctly. The remaining gap is behavioral (permissions, preservation of other comment data), which annotations would normally cover but here are absent.

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 documented in-schema ('Updated comment text', 'Trello comment action id to update'), so the baseline of 3 applies. The description restates the same two concepts without adding format, length, or sourcing guidance 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 (editing the text) on a specific resource (an existing Trello card comment) identified by a comment action id. That clearly separates it from card_comment_add and card_comment_delete in the sibling list, though no sibling is named explicitly.

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 opening 'Use when editing the text of an existing...' gives a clear triggering condition and implicitly excludes creation and deletion. It stops short of naming alternatives (card_comment_add / card_comment_delete) or noting prerequisites like needing the action id from card_actions.

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

card_cover_setA

Use when setting a card cover to an existing attachment id, changing cover display size, or clearing the current attachment cover.

NameRequiredDescriptionDefault
sizeNoTrello cover display size: normal for the regular half cover, or full for an integrated full cover. Requires attachmentId.
cardIdYesTrello card id, short link, or Trello card URL.
brightnessNoText contrast for full covers: light or dark. Requires attachmentId.
attachmentIdYesAttachment id to use as the card cover, or null to clear the attachment cover.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It discloses the destructive-adjacent case (clearing the cover) and implies the attachment must already exist, but says nothing about the previous cover being replaced, auth/permission requirements, or idempotency of repeated calls.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the conditional trigger is placed first and each clause corresponds to a real mode of the tool. Nothing is repeated from the schema.

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 4-parameter mutation tool with no annotations and no output schema, the description covers purpose and triggers but omits what changed state looks like afterwards, whether prior cover settings (size/brightness) survive a re-set, and error conditions such as an attachment id that isn't on the card.

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 every parameter (cardId, attachmentId, size, brightness) is documented in the schema, including enum meanings and the null-to-clear convention. The description adds only the framing that the attachmentId must reference an existing attachment; 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+resource (setting a card cover) and enumerates the three operations: attaching an existing attachment id as cover, changing display size, and clearing the cover. An agent can identify the action without opening the schema. It stops short of naming the sibling attachment tools that must run first (card_attachment_upload / card_attachment_add_url), so it is clear but not sibling-differentiated.

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

Usage Guidelines4/5

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

The leading 'Use when...' clause lists three concrete trigger conditions that map cleanly to the tool's three modes, which is real selection guidance. It gives no exclusions or explicit statement of prerequisites (e.g. that the attachment must already exist on the card), leaving the *why-not* side implicit.

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

card_createA

Use when the user asks to create a new Trello card in a known list; accepts title, description, due date, members, and labels.

NameRequiredDescriptionDefault
dueNoOptional ISO-8601 due date.
posNoPosition in the destination list.bottom
descNoOptional card description.
nameYesHuman-readable card title.
listIdYesDestination list id where the new card should be created.
labelIdsNoOptional label ids to apply when creating the card.
memberIdsNoOptional member ids to assign when creating the card.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool creates a card and lists some accepted fields, but it does not describe permissions, side effects, idempotency, required list existence, or what happens on failure.

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

Conciseness5/5

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

The description is a single front-loaded sentence that immediately states the usage condition and then summarizes accepted inputs. There is no wasted language.

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 seven-parameter mutation tool with no annotations and no output schema, the description covers the basic purpose and several accepted fields. However, it leaves out required parameters such as listId and name, position handling, permissions, and return behavior, so it is only minimally 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 all seven parameters thoroughly. The description lists title, description, due date, members, and labels, which provides some semantic mapping, but it omits listId and pos and does not add much beyond the schema.

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

Purpose4/5

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

The description names a specific verb (create) and resource (Trello card) and scopes it to a known list. It is clear, but it does not explicitly distinguish this tool from sibling mutations such as card_update or sibling creation tools.

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 explicitly says when to use the tool: when the user asks to create a new Trello card in a known list. It does not name exclusions or alternatives, but the usage context is clear.

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

card_custom_field_clearA

Clear one card's custom field value without deleting the board's field definition. Restoring it requires setting the previous value with card_custom_field_set.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
customFieldIdYesTrello custom field definition id.

TDQS

A4.2/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 meaningful work: it discloses that the operation is value-only (definition survives) and that reversal requires an out-of-band call to card_custom_field_set, effectively flagging the mutation as not self-undoable. It omits permission requirements and response shape, which keeps it from a 5.

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

Conciseness5/5

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

Two sentences, zero waste. The scope-limiting fact is front-loaded and the recovery path follows immediately; every clause earns its place.

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

Completeness4/5

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

For a two-parameter mutation with a fully documented schema and no output schema, the description covers purpose, scope, and recovery. Only permission/auth context and the shape of the result are unaddressed, which is a minor gap at this complexity.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are documented in the schema with accepted id/link/URL forms. The description adds no further meaning about cardId or customFieldId, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('clear one card's custom field value') and explicitly bounds the blast radius by contrasting it with deleting the board's field definition. An agent can distinguish it from card_custom_field_set and board_custom_fields without opening any schema.

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

Usage Guidelines4/5

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

The description establishes the when-to-use condition implicitly — remove a value while preserving the definition — and names the correct alternative for the reverse operation (card_custom_field_set). It stops short of stating explicit exclusions or preconditions, but the routing signal to the sibling is clear.

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

card_custom_field_itemsB

Use when reading all custom field item values currently set on a Trello card.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.

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 bears the full burden, and 'reading' at least signals a non-mutating operation. It says nothing about permissions, pagination, or whether unset fields are omitted, but for a simple single-parameter read this is a modest gap rather than a severe one.

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. Efficient, though the 'Use when' phrasing is slightly clipped.

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?

Adequate for a one-parameter read tool, but with no output schema and no description of returned value shape (per-field items, values, types), an agent still lacks a picture of the response.

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

Parameters3/5

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

Only one parameter (cardId) and the schema documents it fully, including short-link and URL forms, so baseline 3 applies. The description adds no meaning 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 ('reading') and resource ('all custom field item values currently set on a Trello card'), which distinguishes it from mutating siblings like card_custom_field_set and card_custom_field_clear. It does not, however, explicitly contrast with custom_field_get or custom_field_options.

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

Usage Guidelines3/5

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

'Use when reading...' gives a trigger condition, implying it is a read path versus the set/clear siblings. No alternatives are named and no when-not guidance or prerequisites are provided.

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

card_custom_field_setA

Set or replace one card custom field value, using the existing definition's type from custom_field_get. Use custom_field_options to find list option ids and card_custom_field_clear to remove a value.

NameRequiredDescriptionDefault
dateNoISO-8601 date/time value for date custom fields.
textNoText value for text custom fields.
typeYesMatch the existing field type. Requires text for text, number for number, date for date, checked for checkbox, or optionId for list; other value inputs are ignored.
cardIdYesTrello card id, short link, or Trello card URL.
numberNoNumber value for number custom fields; Trello expects a string.
checkedNoBoolean value for checkbox fields.
optionIdNoDropdown/list custom field option id for list fields.
customFieldIdYesTrello custom field definition id.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden, and it does state the key behavioral trait that this overwrites an existing value ('set or replace'). It leaves unstated permission requirements, what happens if the field isn't attached to the card's board, and error semantics for mismatched values.

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: the core action and the replace semantics come first, followed by the three tool-routing pointers. No restated name, 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 an 8-parameter mutation tool with rich enum/schema descriptions and no output schema, the definition covers the main risks: value replacement and how to obtain a valid type. It could go further on failure modes and on whether the field definition must already be attached to the card.

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 earns an extra point by explaining how the type parameter is derived (from the existing definition via custom_field_get), which is workflow guidance the schema alone does not supply. It still adds nothing about cardId formats or the date string constraint beyond the 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?

The description uses a specific verb pair ('set or replace') on a precisely scoped resource ('one card custom field value'), and implicitly distinguishes itself from the sibling tools it names (card_custom_field_clear, custom_field_options). An agent can tell exactly what this does 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 Guidelines5/5

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

It explicitly routes the agent to custom_field_get for the required type, to custom_field_options for list option ids, and to card_custom_field_clear when the intent is removal rather than setting. That is a named alternative plus the preconditions for using it correctly.

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

card_deleteA

Use only when the user explicitly asks to permanently delete a Trello card; archive instead for reversible removal.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description must carry the behavioral burden; it discloses the two most important traits — irreversibility ('permanently') and the safer alternative. It stops short of stating permission requirements or whether deleting a card also removes its attachments, comments or checklists, which matter for a destructive 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?

One sentence, front-loaded with the precondition and followed by the alternative; no filler. It could name card_archive literally rather than just 'archive', but nothing is wasted.

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 one-parameter destructive tool with no output schema, the description covers the decision that matters (delete vs archive) and the irreversibility. Missing only secondary details such as permission requirements and cascade effects of deleting a card.

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 cardId has 100% schema description coverage (id, short link, or URL), so the schema already does the work. The description adds no parameter meaning beyond that, which is the expected baseline here.

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

Purpose5/5

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

States a specific verb and resource ('permanently delete a Trello card') and explicitly contrasts it with the sibling alternative ('archive instead for reversible removal'). An agent can distinguish card_delete from card_archive without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit precondition ('only when the user explicitly asks to permanently delete') and names the preferred alternative for the reversible case. This is a complete when-to-use / when-not-to-use rule in one sentence.

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

card_due_date_setA

Use when setting, clearing, or marking completion of a card due date without changing other card metadata. Provide at least one of due or dueComplete.

NameRequiredDescriptionDefault
dueNoISO-8601 due date to set, or null to clear the card due date.
cardIdYesTrello card id, short link, or Trello card URL.
dueCompleteNoWhether the due date should be marked complete.

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It usefully discloses that only due-date metadata is changed and that at least one of due or dueComplete must be supplied, but it does not mention permissions, side effects, response behavior, or what happens when neither field is provided.

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 no waste. The use condition is front-loaded, and the parameter constraint is placed immediately after it.

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

Completeness4/5

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

For a simple mutation with fully described parameters and no output schema, the description supplies the key usage and validation context. A minor gap remains around return behavior and the consequence of omitting both due and dueComplete, though the latter is partially addressed.

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 parameter baseline is 3. The description adds a meaningful constraint not enforced by the schema: at least one of due or dueComplete must be provided. It also uses 'clearing' to reinforce the schema's documented null behavior for due.

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: setting, clearing, or marking completion of a card due date. It also scopes the operation to due-date metadata only, which distinguishes it from the broader card_update 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?

It gives clear triggering conditions: use when setting, clearing, or marking completion of a due date without changing other metadata. It implies the alternative (card_update for other fields) but does not name that sibling explicitly or state exclusions beyond the metadata constraint.

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

card_getA

Use when you need the current details of one Trello card by id, short link, or URL before editing or summarizing it.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello card fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.all

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. 'Current details' usefully signals a live read rather than a cached snapshot, and the 'before editing' framing implies a non-mutating operation, but there is no mention of access requirements, error behavior for unknown ids, or rate limits.

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

Conciseness5/5

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

One front-loaded sentence beginning with the usage trigger, with zero filler. The identifier forms and the intended purpose are packed in without redundancy.

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 no annotations, so the description is the only source of behavioral and return context, yet it never says roughly what 'card details' contains (name, description, due date, labels, members, etc.) or whether fields affects that. For a simple two-parameter read tool this is workable but leaves a real gap an agent must discover by calling it.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented, including the id/short-link/URL forms and the 'all' fields default. The description restates the identifier flexibility but adds no extra semantics such as valid field names or the cost of requesting all fields; 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: fetch the current details of one Trello card, and enumerates the accepted identifiers (id, short link, URL). It implicitly contrasts with facet-readers like card_labels or card_actions by promising the whole card, but never names those siblings explicitly, so the boundary 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 Guidelines4/5

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

Gives a clear triggering condition ('when you need the current details of one card') plus the intended follow-on actions ('before editing or summarizing it'), which tells the agent this is the pre-mutation read step. It stops short of naming when to prefer the narrower sibling readers or when to use search instead.

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

card_label_addB

Use when applying an existing Trello label to a card by label id.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
labelIdYesTrello label id to add or remove.

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 reveals only that the label must already exist; it does not disclose authorization requirements, idempotency behavior when the label is already present, or the response shape for this 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?

The description is a single front-loaded sentence with no wasted text. It is appropriately sized for a simple two-parameter tool, though the trailing 'by label id' is slightly 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 mutation with fully documented parameters, the description covers the basic action. Without annotations or an output schema, it should say more about duplicate-label behavior and the result of the call, leaving a meaningful gap.

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

Parameters3/5

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

Schema coverage is 100%, so both cardId and labelId are already documented in the input schema. The description adds only a light emphasis that the label is identified by id, which is largely redundant with the schema.

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

Purpose4/5

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

The description states a specific verb ('applying') and resource ('an existing Trello label to a card'), and the phrase 'existing' distinguishes it from card_label_create_and_add. It does not explicitly name that sibling, but the core operation is clear.

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

Usage Guidelines3/5

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

It gives a clear when-to-use condition ('when applying an existing Trello label ... by label id'), implying the label already exists. However, it does not state when not to use it or explicitly point to card_label_create_and_add for new labels.

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

card_label_create_and_addA

Create a new board label and apply it to this card. Use card_label_add for an existing label; repeating this creation can create duplicates.

NameRequiredDescriptionDefault
nameYesHuman-readable label name.
colorYesTrello label color for the new board label to create and apply.
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and discloses the two-part side effect: creating a board label and applying it to the card. It also warns about duplicate creation, though it does not mention permission requirements or whether label creation 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.

Conciseness5/5

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

Two sentences, front-loaded with the action and immediately followed by the usage distinction. There is no redundant or wasted text.

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 three-parameter mutation with no output schema, the description gives enough to invoke the tool correctly and avoid duplicate labels. It does not describe return values or permission requirements, leaving a minor 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 cardId, name, and color are already fully documented in the schema. The description adds no parameter-specific syntax or format details beyond what the schema provides, so the baseline score applies.

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

Purpose5/5

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

The description states a specific verb and resource: "Create a new board label and apply it to this card." It also names the sibling tool for existing labels, making the distinction clear without requiring schema inspection.

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

Usage Guidelines5/5

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

It explicitly directs the agent to use card_label_add for an existing label and warns that repeating this creation can create duplicates. That gives both the alternative and the condition for choosing it.

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

card_label_removeB

Use when removing an existing Trello label from a card by label id.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
labelIdYesTrello label id to add or remove.

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 and does not meet it. It never says whether the operation is idempotent when the label isn't on the card, whether it mutates only that card's associations, what permission level is required, or what is returned on success or failure.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the trigger condition comes first and the identifier note follows. It is efficient, though so brief that it borders on under-specification rather than tight scoping.

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 a fully documented schema and no output schema, this is close to adequate. However, with zero annotations the description should still cover idempotency and error behavior, and it does neither.

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 parameters, so the schema already documents that cardId accepts an id, short link, or URL. The description only echoes 'by label id' without adding format, constraint, or edge-case detail beyond the schema, which is the expected baseline of 3.

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

Purpose4/5

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

The description names a specific verb and resource ('removing an existing Trello label from a card') and constrains the identifier ('by label id'). It implicitly separates itself from label_delete (removes the label from the board entirely) by scoping the action 'from a card', but 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?

'Use when removing an existing Trello label from a card' gives a usable trigger condition, but offers no when-not guidance and does not distinguish this from card_label_add, card_label_create_and_add, or label_delete. An agent has to infer which of the four label tools applies.

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

card_labelsA

Use when listing the labels currently applied to a card, including label ids for add/remove workflows.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. "Listing" implies a read operation and the mention of label ids signals the payload shape, but there is no statement about read-only semantics, behavior for invalid/unknown card ids, or pagination — meaningful gaps for a tool with zero annotation coverage and no output schema.

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

Conciseness4/5

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

One sentence, no waste, and the usage trigger is front-loaded. It is slightly indirect ("Use when listing..." rather than "Lists labels on a card"), which costs a point on directness but not on efficiency.

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?

This is a simple single-parameter read tool with full schema coverage and no output schema, and the description covers purpose and the add/remove follow-up use case. The main missing piece is an explicit read-only/return-shape statement, which is minor at this complexity level.

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 cardId parameter is fully documented in the schema as accepting an id, short link, or Trello card URL. The description adds no parameter-level 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?

The description states a specific verb and resource: listing the labels currently applied to a card. It adds the useful detail that label ids are returned, which separates it from label_get and board_labels, though it never names 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 Guidelines4/5

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

"Use when listing the labels currently applied to a card" gives a clear triggering condition and the add/remove workflow framing implicitly routes the agent away from card_label_add/card_label_remove. It stops short of naming alternatives or stating when not to use it (e.g., board-wide label catalogs via board_labels).

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

card_listA

Use when you need the current list relationship for a known Trello card before moving or reporting its status.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello related resource fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.all

TDQS

A3.5/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. 'Current' implies a read, but it does not confirm read-only safety, state permission or rate-limit behavior, or describe the shape of the returned list relationship.

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 definition is a single front-loaded sentence with the use case stated first and no wasted words. It is appropriately sized for a simple lookup 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 two-parameter read tool, the description gives enough to understand the basic use case. However, with no output schema and no annotations, it omits what the returned 'list relationship' contains and how fields changes the response.

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

Parameters3/5

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

Schema description coverage is 100%, so cardId and fields are already documented in the schema. The description adds no parameter-specific detail and does not explain how fields affects the returned list relationship, making 3 the appropriate 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 identifies a specific resource relationship—the current list for a known Trello card—and implies retrieval rather than mutation. It is clear enough to distinguish from generic card or list tools, though it never explicitly states that it returns the card's containing list object or identifier.

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 concrete trigger: use before moving the card or reporting its status. That is clear contextual guidance, but it does not mention alternatives such as card_get, card_board, or list_get, nor any explicit when-not-to-use cases.

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

card_member_addA

Use when assigning a Trello member to a card by member id; requires write access to the card's board and a member who can be assigned to that board.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
memberIdYesTrello member id to add or remove from the card.

TDQS

A3.7/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 usefully discloses authorization and eligibility requirements, but it does not mention idempotency, what happens if the member is already assigned, or expected response behavior.

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 wording. It immediately tells the agent when to use the tool and what prerequisites apply.

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 no annotations and no output schema, the description covers the main authorization and eligibility requirements. However, it omits return behavior and edge-case handling, leaving some gaps for an agent invoking a write 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 both parameters are already well documented in the schema. The description reinforces that assignment is by member id and references the card's board, but adds little beyond what the schema provides.

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 action (assigning a Trello member to a card) with the key resource and identifier. It is clear what the tool does, though it does not explicitly name the sibling alternative card_member_remove to disambiguate add vs. remove.

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 phrase 'Use when assigning a Trello member to a card' gives a clear usage condition, and the description adds prerequisites: write access to the card's board and a member eligible to be assigned. It does not explicitly state when not to use it or name alternatives, but the context is strong.

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

card_member_removeA

Use when unassigning a Trello member from a card by member id; requires write access to the card's board.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
memberIdYesTrello member id to add or remove from the card.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden and does contribute one material behavioral fact: it 'requires write access to the card's board,' which is a real authorization constraint an agent should know before calling. It says nothing about idempotency, whether removing a non-member errors, or what the response contains — gaps that matter for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

One compact sentence with the usage trigger front-loaded and the permission caveat trailing, no filler or restatement of the tool name. Nothing could be removed without losing information.

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

Completeness4/5

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

For a two-parameter membership mutation with fully described schema and no annotations, the description supplies purpose, trigger, and the write-permission requirement — enough to call it correctly. The only shortfall is silent behavior on edge cases (member not currently on the card), which is minor at this complexity.

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

Parameters3/5

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

Schema coverage is 100%, so both cardId and memberId are already documented in the schema with accepted formats (id, short link, URL). The description only reinforces that removal is keyed by member id and adds no format or constraint 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?

States a specific verb+resource ('unassigning a Trello member from a card') and the keying dimension ('by member id'), which implicitly contrasts with the sibling card_member_add. It is clear, though it never names the add counterpart explicitly, so the 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 Guidelines4/5

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

The 'Use when unassigning...' framing gives a concrete trigger condition rather than a vague purpose statement. It stops short of stating when-not to use it or naming card_member_add as the alternative, but the condition for invoking it is unambiguous.

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

card_membersA

Use when listing members assigned to a card; requires token access to the card's board. Use fields to keep member output small.

NameRequiredDescriptionDefault
cardIdYesTrello card id, short link, or Trello card URL.
fieldsNoComma-separated Trello member fields to request; use all for detailed follow-up reads.username,fullName,initials,avatarUrl

TDQS

A3.6/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 usefully discloses an auth prerequisite ('requires token access to the card's board') and a payload-reduction tactic via fields, but says nothing about pagination, ordering, or what happens when a card has no members.

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 compact clauses, front-loaded with the usage condition and followed by the auth caveat. No padding or restated field names; only minor gain would come from folding the fields tip into a single tighter sentence.

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 read tool with complete schema coverage and no output schema, the description covers trigger, auth requirement, and output-sizing advice. The only real omission is enumeration/ordering behavior of the returned member list.

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 cardId and fields are already documented in the schema, including accepted formats and the 'all' value. The description's 'use fields to keep member output small' merely reinforces the schema's guidance with a rationale, adding marginal value over 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 and resource ('listing members assigned to a card'), which clearly scopes it apart from board_members, workspace_members, member_cards, and search_members without needing to name them. It stops short of explicitly naming the closest sibling alternatives.

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?

'Use when listing members assigned to a card' gives a clear triggering condition, and the fields hint implies a lightweight-read use case. It never states when NOT to use it (e.g., prefer board_members for board-wide membership), so exclusions are left to inference.

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

card_moveB

Use when moving a card to another list, another board, or a different position; this is distinct from general card metadata updates.

NameRequiredDescriptionDefault
posNoPosition in the destination list.
cardIdYesTrello card id, short link, or Trello card URL.
listIdNoDestination list id. Required when moving to another list.
boardIdNoDestination board id. Include when moving across boards.

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 bears the full burden. It clarifies the move scope but says nothing about required permissions, side effects (activity log, notifications), reversibility, or whether position defaults when omitted — significant gaps for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence with no waste; the usage trigger leads and the differentiation clause follows. Appropriately sized for the scope.

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?

Covers the main move scenarios but, with no annotations and no output schema, an agent still lacks permission requirements, side-effect disclosure, and behavior when only cardId is supplied. Adequate but with clear gaps for a 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 the schema already documents cardId, listId, boardId, and pos. The description confirms the list/board/position intent but adds no syntax or format detail beyond what the schema provides; 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 (moving) and resource (a card), plus the three scope variants: another list, another board, or a different position. It distinguishes itself from general metadata updates, though it names the sibling card_update only obliquely and never mentions card_position_set.

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?

Opens with an explicit 'Use when…' trigger and draws a clear line against metadata updates, so the agent knows the context. However, it doesn't address the closely related card_position_set sibling, leaving a routing ambiguity it could have closed.

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

card_position_setA

Use when changing only a card's position within its current list; use card_move when changing lists or boards too.

NameRequiredDescriptionDefault
posYesNew position for the card within its current or destination list.
cardIdYesTrello card id, short link, or Trello card URL.

TDQS

A4/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 clarifies scope (current list only) and the alternative, but does not state permissions, reversibility, side effects on other cards, or response behavior; for a mutation tool this is a significant gap.

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

Conciseness5/5

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

One compact sentence, front-loaded with the when-to-use condition and immediately followed by the alternative. No wasted text.

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 tool is simple with two well-defined required parameters, and the description adequately covers selection versus its sibling. It still lacks mutation behavior and return context, but given the simple schema and no output schema, it is mostly 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 coverage is 100%, so cardId and pos are already documented, including the top/bottom/number position values. The description adds no parameter-specific detail beyond the current-list scope already implied.

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

Purpose5/5

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

The description names the action (changing a card's position) and scopes it to the current list, while explicitly distinguishing it from card_move for cross-list or cross-board moves. An agent can identify the tool 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 Guidelines5/5

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

It gives an explicit when-to-use rule and names the alternative card_move for the opposite case. This directly routes the agent between the two sibling tools.

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

card_updateA

Use when changing card metadata such as title, description, due date, due completion, or archive state without moving it.

NameRequiredDescriptionDefault
dueNoNew ISO-8601 due date, or null to clear it.
descNoNew card description.
nameNoNew card title.
cardIdYesTrello card id, short link, or Trello card URL.
closedNoSet true to archive the card; false to unarchive it.
dueCompleteNoWhether the due date is complete.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet the only trait it discloses is that the card is not moved. It says nothing about partial-update semantics (are unspecified fields preserved?), permission requirements, whether it returns the updated card, or that setting closed=true archives the card.

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

Conciseness5/5

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

One front-loaded sentence with zero filler; the usage trigger comes first and the scope constraint follows 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 6-parameter mutation tool with no annotations and no output schema, the description covers purpose and scope but omits return behavior and permission/authorization context. It is adequate to select the tool but not to predict its effects.

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 each parameter is already documented in the schema, which sets the baseline at 3. The description's field enumeration loosely maps to name/desc/due/dueComplete/closed but adds no semantics beyond what the schema states.

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?

Names a specific verb ('changing') and resource ('card metadata') and enumerates the affected fields (title, description, due date, due completion, archive state). It is clear on its own, but it does not acknowledge the overlapping siblings card_archive and card_due_date_set, which an agent could easily confuse with this tool.

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?

'Use when changing card metadata ... without moving it' gives a clear usage trigger plus an explicit exclusion (no repositioning). What is missing is routing: no mention of card_move, card_archive, or card_due_date_set as the alternatives for those cases.

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

custom_field_getA

Use when you need one Trello custom field definition by id, including its type and any dropdown/list options Trello returns.

NameRequiredDescriptionDefault
customFieldIdYesTrello custom field definition id.

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 behavioral burden. It usefully discloses that dropdown/list options are included in the response, but says nothing about behavior for invalid or missing ids, permissions, or error cases.

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

Conciseness4/5

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

One front-loaded sentence starting with the trigger condition, with no filler. It could be marginally tighter but wastes nothing.

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

Completeness4/5

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

For a single-parameter read tool with no output schema, the description covers the essential return shape (type and options). Error behavior and permissions are unstated, but the core invocation need is met.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, so the schema already documents customFieldId as the Trello custom field definition id. The description adds no format, syntax, or id-source detail beyond 'by id', which matches the baseline for fully documented schemas.

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 (one Trello custom field definition) scoped by id, and notes the return content (type plus dropdown/list options). It does not explicitly name the sibling custom_field_options, so differentiation is only implied by the phrase 'one ... by id'.

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

Usage Guidelines3/5

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

'Use when you need one ... by id' gives an implied trigger condition but no explicit when-not or named alternative. An agent must infer that custom_field_options is the choice for listing all definitions rather than fetching a single one.

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

custom_field_optionsA

Use when listing the available options for a Trello dropdown/list custom field before setting a card list custom field value.

NameRequiredDescriptionDefault
customFieldIdYesTrello custom field definition id.

TDQS

A3.8/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 behavioral burden. It implies a read-only lookup and gives usage context, but does not mention permissions, pagination, or return behavior for a tool whose purpose is to list options.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no wasted words. It states the use case immediately and stays appropriately short for a simple lookup tool.

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 one-parameter read lookup with no output schema and full schema coverage, the description provides enough context to call the tool correctly. It could be slightly more complete by clarifying the return shape or explicit sibling distinction, but nothing critical is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the single customFieldId parameter is already fully documented in the schema. The description does not add syntax or format details beyond what the schema provides, making the baseline score 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 and resource: listing available options for a Trello dropdown/list custom field. It is clear enough to distinguish from a generic custom field getter, though it does not explicitly name the sibling tool it differs from.

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 when-to-use condition: before setting a card list custom field value. This implicitly routes the agent away from card_custom_field_set and toward this lookup first, but there is no explicit when-not guidance.

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

label_createB

Use when creating a new reusable label on a Trello board before applying it to cards.

NameRequiredDescriptionDefault
nameYesHuman-readable label name.
colorYesTrello label color.
boardIdYesTrello board id containing the labels.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, yet it only says this creates something. It does not state whether duplicate names are rejected, what permissions or board scope are required, whether the change is reversible, or what the tool returns.

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

Conciseness5/5

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

A single front-loaded sentence beginning with 'Use when', with no redundant restatement of the tool name or schema fields. Every clause carries information.

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 zero annotation coverage and no output schema, the description is thin: it explains the intent but omits failure modes, permission/board prerequisites, and confirmation of what is created or returned, leaving the agent to infer mutation semantics from the name 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 all three parameters (boardId, name, color, with a 30-value color enum) are documented in the schema itself. The description adds no parameter-level meaning, 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 names a specific verb and resource ('creating a new reusable label on a Trello board') and its qualifier 'reusable ... before applying it to cards' implicitly separates it from label-only siblings like label_get/label_update and the combined card_label_create_and_add. It is clear what the tool does, 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 Guidelines3/5

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

'Use when creating a new reusable label ... before applying it to cards' supplies situational context, and the phrase 'before applying it to cards' hints at the two-step workflow versus card_label_create_and_add. However, no alternative is actually named and no when-not-to-use condition is stated, so guidance is implied rather than explicit.

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

label_deleteA

Use only when explicitly asked to permanently delete a board label, removing it from every card using it. Use card_label_remove to unassign it from just one card while preserving the label.

NameRequiredDescriptionDefault
labelIdYesTrello label id.

TDQS

A4.4/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 disclose the key destructive behavior: the deletion is permanent and cascades across every card using the label. It does not mention permission requirements, confirmation behavior, or what happens if the label id is missing, which keeps it short of a 5 for a destructive 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?

Two tightly written sentences with the usage constraint front-loaded and the alternative named second. Every clause contributes either a condition, a consequence, or a routing hint, with no wasted text.

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 one-parameter destructive tool with no output schema, the description covers the essential safety context: permanence, cascade scope, and the less-destructive alternative. It leaves out permissions and missing-label behavior, but the core information needed to invoke it correctly 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 only one parameter, labelId, and its schema description coverage is 100%, so the schema already explains it adequately. The description adds no additional meaning about the id format or source beyond what the schema provides, making the 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?

States a specific verb and resource: permanently delete a board label, with the consequence that it is removed from every card using it. It also explicitly distinguishes itself from the sibling card_label_remove, which only unassigns from one card, so an agent can select correctly without opening schemas.

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

Usage Guidelines5/5

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

Gives a clear when-to-use rule: only when explicitly asked to permanently delete a label. It names the alternative card_label_remove and the condition that selects it, so the boundary between the two tools is explicit.

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

label_getA

Use when you need the current name, color, or board for a specific Trello label before editing it.

NameRequiredDescriptionDefault
labelIdYesTrello label id.

TDQS

A3.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 must carry the full behavioral disclosure burden. It implies a read operation through "current" and "before editing," but does not explicitly state that it is read-only, has no side effects, or what happens if the label ID 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.

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted language. It states the use condition and the data obtained immediately.

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 one-parameter retrieval tool with a fully documented schema and no output schema, the description is largely complete. It lists the main fields returned, though it could mention error behavior or explicitly confirm read-only semantics.

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 sole labelId parameter is already documented in the schema as a required Trello label id. The description does not add parameter-level detail, but the schema does the necessary 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 clearly identifies a retrieval operation for a specific Trello label and names the key fields returned: current name, color, or board. It distinguishes itself from editing tools by framing the use case as checking a label before editing it.

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 usage context: use when the current label details are needed before editing. It does not explicitly name label_update as the alternative, but the "before editing it" phrasing makes the read-versus-edit boundary reasonably clear.

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

label_updateA

Use when renaming a Trello label or changing its color without changing any card assignments.

NameRequiredDescriptionDefault
nameNoNew label name.
colorNoNew Trello label color, or null to remove the color.
labelIdYesTrello label id.

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 whole burden, and it does disclose one important behavior: the change does not affect existing card assignments (a side-effect scoping statement). It says nothing about partial-update semantics when only one of name/color is supplied, permissions/auth requirements, idempotency, or error cases for invalid label IDs.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the trigger condition and the key scope constraint come first, and every clause adds information.

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?

A mutation tool with no annotations and no output schema needs more than a trigger sentence: the description should state that unspecified fields remain unchanged, that it returns the updated label, and whether the caller needs write scope. The card-assignment note is valuable but does not fill those 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%, including the enum list for color and the note that null removes the color, so the baseline is 3. The description only mirrors that name/color are the mutable fields and adds no syntax, defaults, or 'omitted means unchanged' clarification.

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

Purpose5/5

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

The description names specific operations (rename, change color) on a specific resource (Trello label), and the clause 'without changing any card assignments' separates it from the sibling card_label_add/card_label_remove/card_label_create_and_add tools. An agent can pick the right tool without opening any schema.

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

Usage Guidelines4/5

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

The opening 'Use when...' gives an explicit trigger condition and the card-assignment clause implicitly excludes the assignment-manipulation siblings. It stops short of naming those alternatives outright (e.g. 'use card_label_add instead to assign'), so it is a clear context rather than a full routing rule.

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

list_actionsA

Use when auditing recent activity or comments for a list; use filter, limit, page, since, before, and fields to keep large histories bounded.

NameRequiredDescriptionDefault
pageNoZero-based result page for Trello action collections.
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello action fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.id,type,date,data,idMemberCreator
filterNoTrello action filter such as all or commentCard.all
listIdYesTrello list id to read or update.
memberNoWhether to include member objects on actions.
memberFieldsNoComma-separated Trello member fields when member is true.username,fullName,initials,avatarUrl
memberCreatorNoWhether to include the memberCreator object on actions.
memberCreatorFieldsNoComma-separated Trello memberCreator fields when memberCreator is true.username,fullName,initials,avatarUrl

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose that action histories can be large and that limit/page/since/before/fields should bound them, which is genuine behavioral insight. It says nothing about read-only semantics, ordering of results, default page size, or what the response contains, leaving meaningful gaps for an 11-parameter read 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: the usage condition comes first and the parameter-strategy clause follows. It is tight and readable, though enumerating parameter names that are already fully documented in the schema is mildly 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 an 11-parameter tool with no annotations and no output schema, the description covers when to use it and how to bound results but not the expansion flags (member, memberCreator) or what an action object looks like. It is adequate against a fully documented schema, but an agent still needs the schema open 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 description coverage is 100%, so every parameter already has documentation, making 3 the baseline. The description groups the bounding parameters (filter, limit, page, since, before, fields) by intent, which adds light strategic framing, but it omits any mention of member/memberCreator/memberFields/memberCreatorFields and adds no format detail beyond the schema.

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

Purpose4/5

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

The description states a concrete purpose — auditing recent activity or comments scoped to a single list — which implicitly identifies the resource being listed and separates it from board-wide or card-level action tools by the 'for a list' scope. It does not explicitly name a verb like 'list' or contrast against board_actions/card_actions, 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 Guidelines4/5

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

'Use when auditing recent activity or comments for a list' gives a clear triggering scenario, and the follow-on clause on bounding large histories tells the agent how to call it responsibly. No explicit when-not or named alternative is offered, which keeps it out of 5 territory.

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

list_archiveB

Use when archiving or unarchiving a Trello list while keeping its cards recoverable.

NameRequiredDescriptionDefault
closedNoTrue archives the list; false restores it.
listIdYesTrello list id to read or update.

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 a meaningful trait: cards remain recoverable (soft delete, not destruction). It omits permission/auth requirements, whether the action is idempotent, and confirmation behavior, so disclosure is partial.

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 trigger "Use when" up front and zero filler. Efficient, though it could be marginally more informative given the available space.

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 an unannotated mutation tool with no output schema, the description covers purpose and recoverability but leaves auth needs, reversibility details beyond "recoverable," and confirmation semantics unexplained, so it is adequate but not 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 coverage is 100%, so both listId and the closed boolean are already fully documented in the schema. The description adds no parameter-level detail beyond that baseline, which is appropriate but not value-adding.

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 (archive/unarchive) and resource (Trello list), so the agent knows it toggles a list's closed state. However, it does not distinguish itself from the sibling list_update, which could plausibly also set a closed flag, leaving the archive-vs-update boundary unstated.

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

Usage Guidelines3/5

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

"Use when archiving or unarchiving" gives a use context but is close to circular for a tool named list_archive. No exclusions, prerequisites, or comparison to alternatives like list_update are provided, so selection guidance is only implied.

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

list_boardsA

Use first when the user has not provided a board, list, card id, or Trello URL; returns boards visible to the authenticated Trello member.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello board fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,url,shortUrl,idOrganization,dateLastActivity,prefs,labelNames,subscribed
filterNoWhich boards to include for the current Trello member.open

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the authorization scope (visible to the authenticated member) but says nothing about the default of returning only open boards, rate limits, or result size — and the default filter=open is a behavior an agent could easily misread as 'all boards'.

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 the usage trigger first and the return scope second. No filler and nothing buried.

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 discovery tool with a fully described two-parameter schema, the description covers when to call and what comes back. The one meaningful gap is that it never warns the caller that results default to open boards only, which matters for a first-lookup 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% and both parameters (fields, filter) are fully documented with a default and an enum in the schema. The description adds no parameter guidance beyond that, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource (list boards) and pins the scope to boards visible to the authenticated member. It is clearly distinguishable from board_get or board_lists, though it does not explicitly contrast with member_boards or workspace_boards, which also return board collections.

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

Usage Guidelines4/5

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

Gives an explicit trigger: use first when the user has supplied no board, list, card id, or Trello URL. That is a clear entry-point rule, but the description does not name the alternative tools to call once an id is known, nor when to prefer member_boards/workspace_boards.

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

list_cardsA

Use when you need cards in a specific Trello list; use limit, since, before, and fields to keep large lists small.

NameRequiredDescriptionDefault
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello card fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,idBoard,idList,idMembers,idLabels,url,shortUrl,due,dueComplete,pos,dateLastActivity
filterNoWhich cards to include from the list.open
listIdYesTrello list id to read cards from.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations present, the description carries the full behavioral burden, yet it only hints at result-size management ('keep large lists small'). It does not describe the default open-only filtering behavior, pagination semantics, permission requirements, or what the returned cards look like, leaving notable gaps for an unannotated 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: usage condition first, parameter advice second. There is no filler and nothing is buried.

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 fully documented parameters and no output schema, the description covers the trigger and the performance-relevant knobs, which is enough to call it correctly. The remaining omission is sibling routing (board_cards, member_cards) and confirmation of the open-only default.

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 one of the six parameters is already documented with defaults, bounds, and formats. The description only echoes the parameter names with a sizing rationale and adds no format or interaction detail beyond 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 names the resource (cards) and its scope (a specific Trello list), so an agent can tell it reads cards belonging to one list rather than a board or member. It never states the verb (list/retrieve) explicitly, relying on the tool name, and does not name a sibling like board_cards or member_cards to sharpen the distinction.

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

Usage Guidelines4/5

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

'Use when you need cards in a specific Trello list' gives a clear triggering condition, and the second clause advises using limit/since/before/fields to keep large lists small, which is actionable operational guidance. It stops short of naming alternatives (board_cards, member_cards) or stating when not to use it.

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

list_createB

Use when creating a new Trello list on an existing board.

NameRequiredDescriptionDefault
posNoPosition for the list on its board.bottom
nameYesHuman-readable list name.
boardIdYesBoard id where the new Trello list should be created.

TDQS

B3/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 discloses almost nothing: it does not say the operation is a write/mutation, what permissions are required, where the list lands by default, whether duplicate names are allowed, or what the call returns. The only non-obvious behavior, that the target board must already exist, is present, which keeps it above a 1.

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?

It is a single short sentence with no filler, which is good. However, it leads with "Use when" rather than stating the action, and one terse sentence leaves obvious gaps, so brevity here reads more like under-specification than disciplined conciseness.

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?

This is a three-parameter mutation tool with no annotations and no output schema, so the description is the only place to learn about mutation semantics, error conditions and return behavior — and it says nothing about any of them. The schema covers parameter meaning well, but the behavioral picture an agent needs before writing to a board is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so boardId, name and pos (including the top/bottom/number union and default 'bottom') are already fully documented in the schema. The description only reinforces that boardId must reference an existing board and adds no format, syntax or constraint detail beyond that, so baseline 3 applies.

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

Purpose4/5

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

The sentence names the verb (creating), the resource (a new Trello list) and the constraint (on an existing board), so an agent can tell this creates rather than updates, archives, moves or reads lists. It is phrased as a usage trigger rather than a purpose statement, and it does not explicitly contrast with siblings like list_update or list_move_to_board, so it falls short of 5.

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

Usage Guidelines3/5

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

"Use when creating a new Trello list on an existing board" gives an implied trigger, which is more than nothing. But there is no guidance on when NOT to use it (e.g. when the list already exists, or when the board is not yet created via board_create) and no mention of prerequisites such as authentication or board membership.

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

list_getB

Use when you need metadata for a known Trello list before creating cards in it or changing it.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello list fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,closed,idBoard,pos
listIdYesTrello list id to read or update.

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, yet it says nothing about read-only nature, auth/scope requirements, failure behavior for an invalid listId, or pagination. It at least does not imply mutation, which keeps it from scoring 1.

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 that opens with 'Use when', with zero redundant or filler content. Nothing could be cut without losing information.

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, the description should at least sketch what metadata is returned or note that the field list controls the response. As written it is adequate to identify intent but leaves the agent guessing about the return shape.

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 documented there, including the default field set and the 'all' keyword. The description adds no parameter semantics 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.

Purpose3/5

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

The description implies a read of a Trello list's metadata for a known listId, but never states the verb explicitly ('retrieve/fetch metadata for a list'). It gives no differentiation from siblings that also surface list data, such as board_lists, list_cards, or card_list.

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 clearly names a trigger context: use before creating cards in a list or changing it. That is genuine when-to-use guidance, though it offers no explicit alternatives (e.g., board_lists for discovering lists when the id is unknown) or when-not conditions.

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

list_move_to_boardA

Move an existing list and its cards to another board, changing who can access them. Use list_update to reorder within the current board.

NameRequiredDescriptionDefault
listIdYesTrello list id to read or update.
boardIdYesDestination board id.

TDQS

A4/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. It does disclose one important side effect — the move changes who can access the list and its cards — which is genuinely beyond structured data. However it says nothing about required permissions (e.g., admin on both boards), reversibility, or what happens to list position on the destination board.

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 core action and its access-permission consequence front-loaded and the alternative tool named second.

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 definition covers purpose, side effect, and the nearest alternative. Missing authorization requirements and failure behavior keep it from being fully complete.

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

Parameters3/5

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

Schema coverage is 100%, with both listId and boardId fully documented in the schema, so the baseline of 3 applies. The description confirms the semantic role of each (source list, destination board) but adds no format or constraint detail beyond that.

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 (move) and resource (an existing list and its cards) with the destination scope (another board). It also flags the non-obvious consequence — access permissions change — which distinguishes it from a plain reorder operation.

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 the agent: use list_update to reorder within the current board, this tool for cross-board moves. It doesn't contrast with card_move (single-card moves) or state prerequisites, but the primary ambiguity is resolved.

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

list_updateB

Use when renaming a Trello list, changing its position, or setting its archive state.

NameRequiredDescriptionDefault
posNoPosition for the list on its board.
nameNoNew list name.
closedNoSet true to archive the list; false to unarchive it.
listIdYesTrello list id to read or update.

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 burden, and it discloses nothing beyond the trigger conditions. It does not say whether omitted fields leave existing values untouched (partial vs full update), what permissions are required, whether renames are reversible, or what the call returns. For an unannotated mutation 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?

A single front-loaded sentence with zero filler that puts the trigger conditions first. It is efficient but so terse that it omits any structural cues about behavior or return values.

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?

Well-specified parameters and missing output schema mean the description needn't explain return values, but for a four-parameter mutation with no annotations it should have covered partial-update semantics, permissions, and the archive-vs-list_archive distinction. As written an agent can invoke it correctly but must guess at mutation 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%, so all four parameters (name, pos, closed, listId) are already documented in the schema, including enum-like values 'top'/'bottom' and the archive/unarchive meaning of closed. The description merely restates those fields at a higher level and adds no syntax, format, or edge-case detail.

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 resource (Trello list) and the three concrete operations it covers: rename, reposition, and archive-state change. It is distinguishable from siblings like list_create and list_get, though it never names itself as the update tool nor differentiates from list_archive, which appears to overlap on archiving.

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?

Opens with an explicit 'Use when…' trigger list (renaming, changing position, setting archive state), giving an agent clear selection conditions. It offers no exclusions or alternative routing, notably failing to say whether list_archive or list_move_to_board should be preferred for overlapping cases.

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

list_workspacesA

Use first when the user asks to show Trello workspaces or needs to choose a workspace before drilling into its boards or members.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello workspace fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,displayName,desc,url,website,idBoards,dateLastActivity,prefs
filterNoWhich Trello workspaces to include for the current member.all
paidAccountNoWhether to include Trello paid account details when available.

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full disclosure burden, yet it says nothing about read-only semantics, that results are scoped to the current member, pagination, or what the response contains. Only the weak implication of 'show' signals a read operation. 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?

A single well-formed sentence with zero waste, front-loading the 'use first' guidance before the follow-on condition. Nothing is padded or repeated.

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 three-parameter, fully documented read tool with no output schema, the description is minimally adequate for selection but leaves out what the agent gets back and how filtering scopes results. Annotations are absent, so more behavioral context would have been warranted.

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 filter, fields, and paidAccount parameters are each documented in the schema itself. The description adds no extra meaning about these parameters, which is acceptable given the schema does the work, matching the baseline of 3.

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

Purpose4/5

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

The description states the resource (Trello workspaces) and the action ('show'), plus its position in a workflow ('use first ... before drilling into its boards or members'). It distinguishes itself from deeper workspace tools like workspace_get and workspace_boards by framing itself as the entry point, though it never uses an explicit verb like 'list'.

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 an explicit trigger ('when the user asks to show Trello workspaces') and a concrete follow-on situation ('needs to choose a workspace before drilling into its boards or members'). It does not name specific sibling tools to prefer instead, so it stops short of full when/when-not coverage.

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

member_boardsA

Use when you need boards associated with a known Trello member by id, username, or me; results are limited to boards visible to the configured token.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello board fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,url,shortUrl,idOrganization,dateLastActivity,prefs,labelNames,subscribed
filterNoWhich boards to include for the member.open
memberIdYesTrello member id, username, or me.

TDQS

A3.7/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 only discloses one behavioral trait: results are limited to boards visible to the configured token. It omits other useful context such as pagination, error handling, and authentication requirements.

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, efficiently packing the primary use case and a key constraint.

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 no annotations or output schema, the description covers when to use it and a visibility limitation, but it leaves gaps regarding what is returned (e.g., list format, pagination) and error behavior. 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 all three parameters. The description adds no extra meaning beyond what the schema provides, which is the baseline expectation.

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 the resource (boards) and the relationship (associated with a known Trello member) with acceptable specificity. It does not explicitly name a sibling tool to differentiate against, but the 'known member' qualifier implicitly distinguishes it from list_boards and member_get.

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 provides a clear context for use ('when you need boards associated with a known Trello member by id, username, or me') and notes a visibility constraint. However, it does not explicitly state when not to use this tool or name alternative siblings.

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

member_cardsA

Use when you need cards assigned to a known Trello member by id, username, or me; private board cards require token access to those boards.

NameRequiredDescriptionDefault
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello card fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,idBoard,idList,idMembers,idLabels,url,shortUrl,due,dueComplete,pos,dateLastActivity
filterNoWhich cards assigned to the member to include.visible
memberIdYesTrello member id, username, or me.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It usefully discloses that private board cards require token access, which is important context an agent would not infer from the schema. However, it does not explicitly confirm read-only behavior, describe pagination semantics, or explain the response shape.

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

Conciseness5/5

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

The description is a single tightly written sentence with the primary use case front-loaded and the private-board auth caveat following immediately. Every clause adds useful information, and there is no redundant or bloated language.

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 six parameters with full schema coverage and no output schema or annotations, the description is nearly complete: it defines the use case, identifies the member formats, and notes private-board token requirements. It could be slightly stronger by explicitly stating that this is a read-only card listing, but the schema covers the parameter details an agent needs 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 description coverage is 100%, so the schema already documents all six parameters, including memberId formats, limit bounds, since/before cursors, fields, and filter enum. The description repeats the memberId formats but adds no meaning beyond the schema, making the 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 clearly identifies a specific resource and scope: cards assigned to a known Trello member, addressable by id, username, or me. This distinguishes it from sibling tools such as member_boards, board_cards, and list_cards without requiring the agent to inspect 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 Guidelines4/5

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

It states when to use the tool: when cards assigned to a known member are needed and the member can be identified. It also adds a prerequisite about token access for private board cards. It does not explicitly name alternatives or exclusions, so it falls short of a 5.

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

member_getA

Use after member search or board member listing to inspect a Trello member profile by id, username, or me before assignment or auditing.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello member profile fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.username,fullName,initials,avatarUrl
memberIdYesTrello member id, username, or me.

TDQS

A4/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; "inspect" implies a read-only lookup but readOnlyHint-equivalent behavior is never stated. It adds some useful sequencing context (call after a search/list) but says nothing about error behavior for unknown members or rate limits. With no output schema and no annotations, 3 reflects a minimal but not rich disclosure.

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 that puts the usage trigger first and the identifier forms second, with no filler. Every clause earns its place.

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

Completeness4/5

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

For a simple two-parameter read lookup with full schema coverage and no output schema, the description covers purpose, timing, and accepted identifiers well enough to call correctly. The remaining gap is behavioral (error handling for unknown members), which keeps it from a 5.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented. The description's "by id, username, or me" merely restates the memberId schema description and says nothing about the fields parameter, which the schema fully covers. 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?

States a specific verb ("inspect a Trello member profile") and resource, and names the accepted identifiers (id, username, me). This clearly distinguishes it from siblings like search_members, board_members, and member_boards, which retrieve collections rather than a single profile.

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 says to use it "after member search or board member listing" and for "assignment or auditing," which gives concrete trigger context and implies the alternatives that produce the identifiers. It stops short of stating when not to use it, so it falls just below the top score.

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

member_workspacesA

Use when you need Trello workspaces associated with a known member by id, username, or me; workspace visibility and role permissions constrain results.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello workspace fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,displayName,url,website,idBoards
filterNoWhich Trello workspaces to include for the member.all
memberIdYesTrello member id, username, or me.
paidAccountNoWhether to include Trello paid account details when available.

TDQS

A3.7/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 add genuine behavioral context that visibility settings and role permissions constrain results, but it never states that this is a read-only operation, nor anything about authorization requirements or pagination/result size.

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, front-loaded with the usage trigger and followed by the one caveat that matters. No filler and nothing redundant with the schema.

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

Completeness3/5

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

There is no output schema, so the description should hint at what comes back; it only indirectly implies workspace objects via the visibility/permission note and leaves the response shape to the schema's field list. For a simple read with complete parameter docs this is adequate but thin.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains memberId, fields, filter, and paidAccount. The description only echoes the memberId forms (id, username, me) and adds nothing about filter semantics or field selection; 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?

Names the resource (Trello workspaces) and the scoping relationship (associated with a known member, by id/username/me), which lets an agent distinguish it from list_workspaces and workspace_members. It is framed as a 'use when' clause rather than a direct verb+resource statement, but the intent is unambiguous.

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

Usage Guidelines4/5

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

Explicitly states the triggering condition: a known member whose workspaces you need. It does not name alternatives (list_workspaces for an unfiltered list, member_get for member attributes) or say when not to use it, which keeps it below a 5.

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

search_membersA

Use when looking up Trello members by name or username, optionally scoped to a board or workspace; scoped searches require token access to that board or workspace.

NameRequiredDescriptionDefault
limitNoMaximum number of Trello members to return; Trello caps this at 20.
queryYesTrello search text, trimmed and sent directly to Trello. For search, use Trello operators such as is:open; for search_members, use a member name or username.
boardIdNoOptional board id to scope member search.
onlyOrgMembersNoWhether to restrict results to workspace members.
organizationIdNoOptional workspace id to scope member search.

TDQS

A3.8/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 usefully discloses the authorization constraint for scoped searches, but says nothing about read-only semantics, rate limits, or result shape. Adequate but notably incomplete for an unannotated 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 the trigger condition first and the authorization caveat after a semicolon. No filler, every clause carries information.

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

Completeness4/5

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

For a 5-parameter read tool with fully documented schema and no output schema, the description covers the essential trigger and the auth prerequisite for scoped searches. It omits only secondary details like result ordering or the limit cap, which the schema already covers.

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 reinforces the board/workspace scoping that maps to boardId and organizationId, but adds no syntax or behavioral detail beyond what the schema already documents for query, limit, and onlyOrgMembers.

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 has a specific verb ('looking up') and resource ('Trello members by name or username'), which clearly distinguishes it from direct-fetch siblings like member_get. It does not explicitly name alternatives such as board_members or workspace_members, so sibling 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 Guidelines4/5

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

'Use when looking up Trello members by name or username' gives a clear trigger condition, and it adds the scoping options plus the prerequisite that scoped searches require token access to that board or workspace. It stops short of naming when to prefer member_get or board_members instead.

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

workspace_actionsA

Use when auditing recent activity or comments across a Trello workspace; use filter, limit, page, since, before, and fields to keep large histories bounded.

NameRequiredDescriptionDefault
pageNoZero-based result page for Trello action collections.
limitNoMaximum number of Trello objects to return; Trello caps this at 1000.
sinceNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
beforeNoISO-8601 date, Mongo id, or null cursor for Trello since/before paging.
fieldsNoComma-separated Trello action fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.id,type,date,data,idMemberCreator
filterNoTrello action filter such as all or commentCard.all
memberNoWhether to include member objects on actions.
workspaceIdYesTrello workspace id or short name.
memberFieldsNoComma-separated Trello member fields when member is true.username,fullName,initials,avatarUrl
memberCreatorNoWhether to include the memberCreator object on actions.
memberCreatorFieldsNoComma-separated Trello memberCreator fields when memberCreator is true.username,fullName,initials,avatarUrl

TDQS

A3.7/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. 'Auditing recent activity' implies a read-only, non-destructive operation and the note about bounding large histories adds useful context, but it says nothing about pagination order, default page size effects, permission requirements, or why unbounded requests are costly.

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 that opens with the triggering condition and closes with the operational technique. No filler or repetition of schema 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?

For an 11-parameter read tool with no annotations and no output schema, the description covers purpose and history-bounding but omits what the response contains (action shape, member/memberCreator enrichment) and how pagination interacts with defaults. The rich schema compensates for parameter detail, leaving a moderate 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 all 11 parameters are already documented in detail by the schema, establishing a baseline of 3. The description enumerates the bounding parameters (filter, limit, page, since, before, fields) to explain their collective purpose, but adds no syntax or semantics beyond what the schema already provides.

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 use case — auditing recent activity or comments across a Trello workspace — which, combined with the tool name, tells an agent it retrieves workspace-scoped actions. It implicitly distinguishes itself from board_actions, card_actions, and list_actions via the 'workspace' scope, but never names 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 Guidelines4/5

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

'Use when auditing recent activity or comments' gives an explicit when-to-use context, and the second clause names the parameters for keeping large histories bounded. However, it offers no exclusions or explicit routing to sibling tools like board_actions or card_actions, which an agent may confuse with this one.

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

workspace_boardsC

Use when you need boards in a known Trello workspace so the user can drill into a workspace board.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello board fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,desc,closed,url,shortUrl,idOrganization,dateLastActivity,prefs,labelNames,subscribed
filterNoWhich boards to include from the workspace.open
workspaceIdYesTrello workspace id or short name.

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations and no output schema, the description carries the full behavioral burden but discloses almost nothing. It does not state that this is a read-only listing, how results are ordered or paginated, or what the defaults for filter and fields imply.

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

Conciseness4/5

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

It is a single compact sentence with no repeated or empty content. The only flaw is that its brevity comes at the cost of specificity rather than from ruthless editing.

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

Completeness2/5

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

For a listing tool with no annotations and no output schema, the description should clarify return shape, defaults, and relationship to similar sibling tools. It omits all of that, so an agent cannot fully predict what calling this endpoint will do.

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 including the filter enum and fields default. The description adds no syntax, format, or edge-case meaning beyond what the schema provides.

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

Purpose2/5

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

The description phrases usage intent ('Use when you need boards in a known Trello workspace') rather than stating the operation. It never says it lists or retrieves boards, and it does not distinguish itself from siblings like list_boards or member_boards.

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 a positive usage condition (a known workspace), which is useful context. But it names no alternatives, no exclusions, and no prerequisites, leaving the agent to infer when workspace_boards is preferred over list_boards.

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

workspace_getA

Use when you need basic Trello workspace metadata, such as display name, description, URL, website, board ids, or preferences.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello workspace fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.name,displayName,desc,url,website,idBoards,dateLastActivity,prefs
workspaceIdYesTrello workspace id or short name.

TDQS

A3.5/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. 'Get' plus 'metadata' implies a non-mutating read, and the field list tells the agent what is retrieved, but there is no mention of permission requirements, behavior on an invalid or unknown workspaceId, or rate limits. Adequate but thin 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?

A single front-loaded sentence with the trigger condition first and the returned fields second, with no wasted preamble. The field enumeration partially duplicates the schema's default value, costing a little tightness but aiding scannability.

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 read tool with full schema coverage, the description plus schema cover what an agent needs: what is fetched, which fields are available, and how to identify the workspace. The lack of an output schema is offset by the field list, though return shape (object vs. nested prefs) remains unspecified.

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

Parameters3/5

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

Schema description coverage is 100% — both workspaceId ('Trello workspace id or short name') and fields (with a default list) are fully documented in the schema. The description's field enumeration loosely mirrors the fields parameter but adds no format or syntax guidance beyond it, 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 ('basic Trello workspace metadata') and enumerates the concrete fields returned (display name, description, URL, website, board ids, preferences), which lets an agent distinguish it from siblings like workspace_boards or workspace_members. It does not explicitly name those siblings, so it falls short of a 5.

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

Usage Guidelines3/5

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

'Use when you need basic Trello workspace metadata' gives a clear trigger condition but offers no exclusions or alternatives — it never says to call list_workspaces first to discover a workspaceId or to use workspace_boards when boards are the actual target. Usage is implied rather than fully routed.

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

workspace_membersA

Use when you need members in a known Trello workspace before assignment, auditing, or permission review.

NameRequiredDescriptionDefault
fieldsNoComma-separated Trello workspace member fields to request; use all for detailed follow-up reads. Schema-required fields are added automatically.username,fullName,initials,avatarUrl
filterNoWhich workspace members to include.all
workspaceIdYesTrello workspace id or short name.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. The auditing/permission-review framing implies a read-only lookup, but it says nothing about pagination, result volume, or whether rate limits apply to large workspaces.

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 front-loaded sentence with no filler, leading with the usage trigger. Slightly ambiguous phrasing ('before assignment' of what) keeps it from a perfect score.

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?

A simple read tool with fully documented parameters and no output schema; the description is adequate but omits any sense of return shape, ordering, or size, which matters for workspace member listings that can be large.

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 well-documented fields, filter enum, and workspaceId, so the params are already self-explanatory. The description adds no further meaning beyond the 'known workspace' hint toward workspaceId, which matches the baseline of 3.

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

Purpose4/5

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

The description makes clear this returns members of a specific Trello workspace, and 'known Trello workspace' implicitly distinguishes it from the global search_members sibling. The verb 'list'/'retrieve' is never stated outright, but the resource and scope are unambiguous.

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

Usage Guidelines4/5

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

It gives concrete when-to-use contexts: before assignment, auditing, and permission review. The 'known workspace' qualifier implies the workspaceId must already be in hand, steering agents away from this tool when searching across workspaces, though no alternative is named explicitly.

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. 77 tool updatesv1.0.4
    • First observedauth_token_info
    • First observedauth_whoami
    • First observedboard_actions
    • First observedboard_cards
    • First observedboard_create
    • First observedboard_custom_fields
    • First observedboard_field_get
    • First observedboard_get
    • First observedboard_labels
    • First observedboard_lists
    • First observedboard_members
    • First observedboard_memberships
    • First observedcard_actions
    • First observedcard_archive
    • First observedcard_attachment_add_url
    • First observedcard_attachment_delete
    • First observedcard_attachment_get
    • First observedcard_attachment_upload
    • First observedcard_attachments
    • First observedcard_board
    • First observedcard_checklist_create
    • First observedcard_checklist_delete
    • First observedcard_checklist_item_create
    • First observedcard_checklist_item_delete
    • First observedcard_checklist_item_move
    • First observedcard_checklist_item_set_checked
    • First observedcard_checklist_item_update
    • First observedcard_checklist_items
    • First observedcard_checklist_update
    • First observedcard_checklists
    • First observedcard_comment_add
    • First observedcard_comment_delete
    • First observedcard_comment_update
    • First observedcard_cover_set
    • First observedcard_create
    • First observedcard_custom_field_clear
    • First observedcard_custom_field_items
    • First observedcard_custom_field_set
    • First observedcard_delete
    • First observedcard_due_date_set
    • First observedcard_get
    • First observedcard_label_add
    • First observedcard_label_create_and_add
    • First observedcard_label_remove
    • First observedcard_labels
    • First observedcard_list
    • First observedcard_member_add
    • First observedcard_member_remove
    • First observedcard_members
    • First observedcard_move
    • First observedcard_position_set
    • First observedcard_update
    • First observedcustom_field_get
    • First observedcustom_field_options
    • First observedlabel_create
    • First observedlabel_delete
    • First observedlabel_get
    • First observedlabel_update
    • First observedlist_actions
    • First observedlist_archive
    • First observedlist_boards
    • First observedlist_cards
    • First observedlist_create
    • First observedlist_get
    • First observedlist_move_to_board
    • First observedlist_update
    • First observedlist_workspaces
    • First observedmember_boards
    • First observedmember_cards
    • First observedmember_get
    • First observedmember_workspaces
    • First observedsearch
    • First observedsearch_members
    • First observedworkspace_actions
    • First observedworkspace_boards
    • First observedworkspace_get
    • First observedworkspace_members

TDQS

B3.3/5.0

Scored across 77 tools

Disambiguation4/5

Descriptions work hard to draw boundaries (card_archive vs card_delete, card_move vs card_position_set, card_label_add vs card_label_create_and_add, and the four *_actions tools scoped by resource). However, real overlaps remain: card_update explicitly covers due dates and archive state that card_due_date_set and card_archive also handle, and card_checklist_item_update claims completion state, checklist, and position — all owned by card_checklist_item_set_checked and card_checklist_item_move.

Naming Consistency3/5

The dominant pattern is <resource>_<action> (board_get, card_create, label_delete), which is readable and mostly followed. But the `list_` prefix is overloaded: list_boards/list_workspaces mean 'enumerate', while list_get/list_update/list_archive mean 'the list resource' — and card_list vs list_cards are near-identical names with opposite meanings. That collision is a genuine trap for an agent.

Tool Count2/5

77 tools is far beyond a reasonable surface and the granularity is excessive: board_get vs board_field_get, card_list vs card_board vs card_get, and separate tools for due date, position, cover, and archive on a card. While Trello is a large domain, many tools could be folded into a single card_update or board_get variant.

Completeness4/5

Coverage is broad and deep: full card lifecycle (create/update/move/archive/delete), checklists, labels, attachments, custom field values, members, workspaces, actions, and search. Gaps remain — no board update/archive/delete, no custom field definition create/update/delete (only get/options), and no board member add/remove, so board-level mutation is a dead end.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers