Skip to main content
Glama

trello-mcp

A small Model Context Protocol server for Trello. It lets Claude Code (or any MCP client) read the cards a customer writes for you, tick checklist items and leave comments, without leaving the editor.

Built for a real workflow: the product owner on my current project files every round of feedback as a Trello card with a checklist. With this server the assistant reads the card, works through the items and ticks them off as each one lands.

Tools

Tool

What it does

trello_list_boards

Open boards for the token's user

trello_list_lists

Lists (columns) on a board

trello_list_cards

Open cards on a board or in one list

trello_get_card

Full card: description, checklists with item ids and states, members, labels, attachments, comments

trello_search_cards

Trello search across boards (board:X is:open @me label:bug)

trello_set_checklist_item

Tick / untick a checklist item

trello_add_comment

Post a comment on a card

trello_move_card

Move a card to another list

Card arguments accept an id, a short link, or the full card URL, so you can paste a link straight from Trello. Read tools are annotated readOnlyHint: true; the three write tools are not, so clients can ask before running them.

Related MCP server: Trello MCP server

Setup

  1. Get an API key and token: https://trello.com/power-ups/admin → your Power-Up → API key → "Token".

  2. Build:

npm install
npm run build
  1. Register with Claude Code (user scope, so it works in every project):

claude mcp add trello --scope user \
  -e TRELLO_API_KEY=your_key -e TRELLO_TOKEN=your_token \
  -- node /absolute/path/to/trello-mcp/dist/index.js

Or by hand in ~/.claude.json:

{
  "mcpServers": {
    "trello": {
      "command": "node",
      "args": ["/absolute/path/to/trello-mcp/dist/index.js"],
      "env": { "TRELLO_API_KEY": "your_key", "TRELLO_TOKEN": "your_token" }
    }
  }
}

Development

npm test          # vitest, no network: the Trello client takes an injected fetch
npm run typecheck
npm run dev       # runs the server over stdio with tsx

The code is split so the interesting parts are testable without a server:

  • src/trello.ts — typed client over the REST API, URL/short-link parsing, error mapping

  • src/format.ts — renders cards as compact markdown for the model (ids stay visible for follow-up calls)

  • src/tools.ts — tool definitions with zod input schemas and handlers

  • src/index.ts — MCP wiring over stdio

Notes

  • Everything runs as the token's user: comments and ticks show up under your name in Trello.

  • stdout is the MCP channel; the server writes diagnostics to stderr only.

  • Trello rate limits: 300 requests per 10 s per key, 100 per 10 s per token. Normal use is far below that.

Available Tools

8 tools
trello_add_commentAdd commentB

Post a comment on a card as the token's user.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesComment text, markdown allowed
cardIdYesCard id, short link, or the full card URL (https://trello.com/c/...)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/non-destructive nature is covered. The description usefully adds that the comment is attributed to the token's user, but says nothing about required board/card permissions, whether the comment can be edited or deleted later, or failure behavior on inaccessible cards.

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

Conciseness4/5

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

A single tight sentence with the essential action and actor front-loaded and no filler. It is efficient, though its brevity is partly the reason usage guidance is absent.

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, non-destructive write tool with a fully covered schema and no output schema, the description covers the core action and authorship context. Minor gaps around permission prerequisites and error 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 description coverage is 100% and both parameters are documented there (text allows markdown, cardId accepts a short link or full URL), so the description adds nothing beyond it. Per the baseline rule for high coverage, a 3 is appropriate.

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

Purpose4/5

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

States a specific verb (post) and resource (a comment on a card), and clarifies the authorship model ('as the token's user'), which no sibling tool covers. It does not explicitly contrast itself with siblings like trello_get_card or trello_set_checklist_item, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use statement, no prerequisites, and no mention of alternatives or when this is the wrong tool (e.g., versus adding a checklist item). The intent is inferable from the verb, but nothing in the text explicitly guides selection.

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

trello_get_cardGet cardA
Read-only

Full card: description, checklists with item ids and states, members, labels, attachments and comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesCard id, short link, or the full card URL (https://trello.com/c/...)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds useful return-content context by listing the included sections (checklists, members, labels, attachments, comments), which is valuable because no output schema exists.

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

Conciseness5/5

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

A single short sentence front-loads 'Full card' and lists the relevant returned sections without filler. It is appropriately sized for a one-parameter getter.

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 full parameter documentation and read-only annotations, the description gives enough return-field context to set expectations. The main omission is sibling selection guidance.

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 cardId parameter already documents accepted forms including card id, short link, and full URL. The description adds no parameter semantics beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

The title and name state 'Get card,' and the description enumerates the full card payload, making the resource and returned scope clear. It stops short of explicitly distinguishing this from siblings like trello_search_cards or trello_list_cards.

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

Usage Guidelines2/5

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

The description does not say when to call this tool versus trello_list_cards or trello_search_cards. 'Full card' hints at detailed retrieval, but selection guidance is left entirely to inference.

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

trello_list_boardsList boardsA
Read-only

List the open boards the current user can see, with ids for the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description goes beyond them by disclosing two real behavioral constraints: results are limited to open (not archived/closed) boards, and results are permission-scoped to what the current user can see.

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 that front-loads the action and scope, then tacks on the output-value note. There is no filler, no restatement of the tool name, and every clause carries information an agent can use.

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

Completeness4/5

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

With no parameters, no output schema, and annotations covering the safety profile, the description is nearly complete. It hints at the return shape ('ids') but does not mention pagination, result limits, or whether closed boards are reachable anywhere, which would matter for an agent planning around large accounts.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 per the rubric and there is nothing for the description to compensate for. No parameter syntax exists that could be misused.

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

Purpose5/5

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

The description names a specific verb and resource ('List the open boards') and narrows scope with two qualifiers: only open boards, and only those the current user can see. The resource alone cleanly separates it from siblings like trello_list_lists, trello_list_cards, and trello_search_cards.

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

Usage Guidelines3/5

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

The clause 'with ids for the other tools' implies this is the id-source entry point for downstream operations, which is useful implied usage. However, it never explicitly states when to use this instead of alternatives such as trello_search_cards, and gives no exclusions or prerequisites.

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

trello_list_cardsList cards
Read-only

List open cards on a board or in one list. Pass listId to narrow to a column, otherwise boardId for the whole board.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdNoList id; takes precedence over boardId
boardIdNoBoard id, short link, or URL
trello_list_listsList lists on a board
Read-only

List the open lists (columns) of a board.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYesBoard id, short link, or board URL (https://trello.com/b/...)
trello_move_cardMove cardA

Move a card to another list on the same board. List ids come from trello_list_lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesCard id, short link, or the full card URL (https://trello.com/c/...)
listIdYesTarget list id

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation/safety profile is covered. The description adds one useful constraint the annotations do not carry — that the destination must be on the same board — but says nothing about side effects such as the card's resulting position or whether the operation 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 short sentences, zero filler, with the core action and the board constraint front-loaded before the id-source hint. Every sentence earns its place.

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

Completeness4/5

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

For a two-parameter mutation with no output schema and no nested objects, the description plus annotations cover what an agent needs to invoke it correctly. The only mild gap is not stating the card's resulting position in the target list, 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 description coverage is 100%, with cardId documenting id/short-link/URL forms and listId documented as the target list. The description only adds the provenance of listId ('from trello_list_lists'), which is marginal on top of a fully documented schema, 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 ('Move'), resource ('card'), destination ('another list'), and a scoping constraint ('on the same board'). No sibling in the list moves cards, so the operation is unambiguous without consulting 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?

It routes the agent to trello_list_lists for the required listId and implicitly excludes cross-board moves via 'on the same board'. It stops short of an explicit when-not statement (e.g., how to move between boards), but the operative context is clear.

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

trello_search_cardsSearch cardsA
Read-only

Search cards across all boards. Supports Trello search operators, e.g. 'board:Project is:open @me label:bug'.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results, default 20
queryYesSearch query

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful behavioral context by stating that search spans all boards and supports Trello search operators.

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 two sentences, front-loaded with the main action and scope. Every sentence adds useful information without repetition.

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 search tool with complete schema coverage and safety annotations, the description provides enough scope, syntax guidance, and example usage. No output schema explanation is needed.

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 parameter documentation is already strong. The description adds meaningful semantics for the query parameter by explaining Trello operator syntax and giving an example beyond the schema's generic 'Search query' label.

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: 'Search cards across all boards.' It also distinguishes this from the sibling list operations by emphasizing board-wide search and Trello operator support.

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 clearly establishes when this tool applies: searching cards across all boards with query operators. It provides a concrete example query, though it does not explicitly say when to prefer trello_list_cards instead.

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

trello_set_checklist_itemTick or untick a checklist itemA

Mark a checklist item complete or incomplete. Item ids come from trello_get_card.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
cardIdYesCard id, short link, or the full card URL (https://trello.com/c/...)
checkItemIdYesChecklist item id

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=false and destructiveHint=false, so the agent knows this is a non-destructive write. The description adds the id-provenance routing detail, but says nothing about auth requirements, whether the change is reversible, or what a successful mutation returns — reasonable extra context 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?

Two short sentences, the action stated first and the id-provenance prerequisite second. No filler, no restatement of the tool name, nothing wasted.

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

Completeness3/5

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

For a 3-parameter mutation with annotations and no output schema, the description covers the action and the key parameter provenance. It omits what a caller should expect back after ticking an item (e.g. updated checklist state) and any permission/error context, leaving noticeable holes for a write 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 67% (in the middle band), and the schema already explains cardId formats and constrains state via enum. The description adds real value by clarifying where checkItemId comes from (trello_get_card) and paraphrasing state. That is meaningful but not compensating for the remaining undocumented surface.

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 ('Mark a checklist item complete or incomplete'), so the action is unambiguous. It also names the sibling that supplies the required identifier ('Item ids come from trello_get_card'), giving partial sibling orientation, but it does not contrast itself with any alternative tool the way a 5 would.

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 prerequisite for checkItemId (obtain it via trello_get_card) is implied, and 'complete or incomplete' frames the two cases. However, there is no explicit when-to-use/when-not guidance, no note about required permissions, and no alternative tool named for other checklist operations.

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. 8 tool updatesv0.1.0
    • First observedtrello_add_comment
    • First observedtrello_get_card
    • First observedtrello_list_boards
    • First observedtrello_list_cards
    • First observedtrello_list_lists
    • First observedtrello_move_card
    • First observedtrello_search_cards
    • First observedtrello_set_checklist_item

TDQS

Score is being calculated.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers