Skip to main content
Glama

Trello sumár — vlastný MCP server

Domáca úloha z kurzu Vibe Coding.

Vlastný MCP server v Pythone, ktorý dá AI asistentovi (Claude Code) schopnosť čítať Trello nástenky a robiť z nich zrozumiteľné zhrnutia. Namiesto klikania po Trelle napíšem do terminálu vetu v bežnej reči a dostanem sumár postavený na živých dátach.

Ukážka výstupu v Claude Code

Čo to vie

Čo napíšem

Ktorý nástroj sa zavolá

Čo dostanem

„Urob mi sumár projektu X"

sumar_projektu

Vyplnený template — osem sekcií, vždy rovnaká štruktúra

„Čo je hotové a čo ešte treba?"

stav_projektu

Karty rozdelené na hotové / prebieha / čaká

„Aké sú tam priority?"

priority

Zoradené podľa štítkov a termínov, plus poradie práce

„Čo sa dialo za posledný týždeň?"

aktivita

Posunuté karty, nové karty, komentáre

„Aké mám v Trelle nástenky?"

zoznam_boardov

Zoznam nástenok aj s odkazmi

Nástroj si vyberá AI sama podľa popisov v kóde. Žiadne príkazy sa netreba učiť.

Related MCP server: Trello MCP Server

Ako je to poskladané

trello-mcp/
├─ src/trello_mcp/
│  ├─ trello_client.py   komunikácia s Trello REST API (jediné miesto)
│  └─ server.py          MCP server — päť nástrojov a logika sumáru
├─ priprav_board.py      jednorazový skript, ktorý postaví cvičný board
├─ overenie.py           skúška nasucho, bez MCP a bez AI
├─ SUMAR_TEMPLATE.md     pevná štruktúra sumáru
├─ .mcp.json             prihláška servera do Claude Code
└─ .env                  API kľúč a token (do gitu nejde)

Sumár sa počíta v Pythone, nie v hlave AI. Percentá, počty a triedenie kariet robí kód, asistent len ukáže hotový text. Vďaka tomu čísla vždy sedia a template ostáva pri každom spustení rovnaký.

Spustenie

Potrebné: Python 3.14, uv, Trello účet.

git clone <adresa-tohto-repozitara>
cd trello-mcp
uv sync

Vytvor súbor .env podľa vzoru .env.example:

TRELLO_API_KEY=...
TRELLO_TOKEN=...

Kľúč získaš na https://trello.com/power-ups/admin (vytvor Power-Up → Generate a new API key). Token potom cez adresu:

https://trello.com/1/authorize?expiration=never&scope=read,write&name=Trello%20sumar%20MCP&response_type=token&key=TVOJ_API_KLUC

Overenie, že komunikácia funguje:

uv run python overenie.py "názov nástenky"

Zapojenie do Claude Code — stačí spustiť claude v tejto zložke. Súbor .mcp.json sa načíta sám, potvrdíš dôveru serveru a v /mcp uvidíš trello-sumar · connected · 5 tools.

Bezpečnosť

Kľúč a token sa posielajú v hlavičke Authorization, nie v adrese, takže sa nedostanú do logov ani do histórie prehliadača. Logovanie knižnice httpx je stlmené z rovnakého dôvodu. Súbor .env je v .gitignore.

Server Trello iba číta. Nič nemaže ani neupravuje — jediná výnimka je priprav_board.py, ktorý sa spúšťa ručne a raz.

Čo by sa dalo dorobiť

  • zápis do Trella (zakladanie kariet priamo z konverzácie)

  • porovnanie dvoch sumárov v čase, aby bolo vidieť posun

  • export sumáru do súboru alebo do e-mailu

Available Tools

5 tools
aktivitaA

Zhrnie, čo sa na projekte dialo za posledných N dní. Použi pri otázkach 'čo sa dialo minulý týždeň', 'aký bol pokrok', 'čo sa zmenilo'. Parameter dni je počet dní dozadu, predvolene 7.

ParametersJSON Schema
NameRequiredDescriptionDefault
dniNo
boardYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 burden of behavioral disclosure. It communicates a read-style summarizing behavior and explains the time window and default of 7 days, but it does not mention side effects, authentication needs, or what happens if the required board context is missing. There is no contradiction with annotations because none exist.

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

Conciseness5/5

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

The description is compact and front-loaded: the core purpose is stated first, followed by concrete usage examples and parameter clarification. Every sentence earns its place, with no redundancy or filler.

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

Completeness3/5

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

The tool is simple and has an output schema, so return-value details do not need to be explained. The main gaps are the unexplained required 'board' parameter, the lack of explicit alternatives or non-use cases, and the absence of safety context since no annotations are provided. Overall adequate but incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does explain 'dni' as the number of days back with a default of 7, adding real meaning. However, the required 'board' parameter is not explained at all; the phrase 'na projekte' only weakly suggests that board identifies the project.

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 summarizes project activity over the last N days, with a specific verb and temporal scope. It does not explicitly differentiate itself from sibling tools, but the focus on recent activity distinguishes it from list/status/summary 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?

The description provides concrete trigger phrases such as 'čo sa dialo minulý týždeň', 'aký bol pokrok', and 'čo sa zmenilo', giving clear context for when to use the tool. It does not state when not to use it or name alternative tools, but the usage guidance is still explicit and actionable.

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

priorityA

Zoradí nedokončené úlohy podľa priority a termínu a povie, čo horí. Použi pri otázkach 'aké sú priority', 'čo mám robiť najskôr', 'čo je najdôležitejšie'.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/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 behavioral burden. It does that by stating the tool sorts unfinished tasks by priority/deadline and verbally reports what is urgent, which implies a read-only analysis/reporting behavior. It does not explicitly guarantee read-only or describe edge cases, but nothing in the description suggests side effects.

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

Conciseness5/5

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

Two short, front-loaded sentences: the first states the behavior, the second gives concrete usage examples. Every clause earns its place, and there is no redundant or boilerplate text.

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

Completeness3/5

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

The tool is simple, output schema exists, and the description covers behavior and query patterns. However, the required 'board' parameter is entirely unexplained, and the exact interaction between priority and deadline ordering is vague, leaving an agent with a gap between the intent and the actual invocation.

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

Parameters2/5

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

With schema description coverage at 0%, the description needed to compensate by explaining the required 'board' parameter, but it never mentions it. The schema only provides 'Board' as a string title, so an agent still has to infer what value to pass, such as a board name or ID. The description adds no semantic value for the one parameter.

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 ('Zoradí' – sorts), a specific resource ('nedokončené úlohy' – unfinished tasks), and the ordering criteria (priority and deadline) plus the output ('povie, čo horí'). This clearly distinguishes it from siblings like 'stav_projektu' or 'sumar_projektu', which report status or summaries rather than rank tasks.

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 maps the tool to concrete user questions ('aké sú priority', 'čo mám robiť najskôr', 'čo je najdôležitejšie'), giving an agent clear when-to-use guidance. It does not mention alternatives or exclusions, so it misses the top level of specificity.

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

stav_projektuA

Povie, čo je na projekte hotové, čo sa práve robí a čo ešte treba urobiť. Použi pri otázkach typu 'čo je hotové', 'čo ešte treba dorobiť', 'ako sme na tom'. Kratšia odpoveď ako celý sumár.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 burden of behavioral disclosure. It does convey the output nature (status of done/in-progress/todo) and the brevity trait, but it does not address whether any state changes occur or what inputs/permissions are needed. For a likely read-only status tool this is adequate but not rich.

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

Conciseness5/5

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

Two short sentences front-load the core function, then add usage examples and the brevity constraint. 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?

The tool is simple (one parameter, output schema present) and the description covers the main use and output style. However, the complete absence of board parameter guidance leaves a real gap for an agent deciding what value to pass.

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

Parameters1/5

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

Schema description coverage is 0% and the description never mentions the 'board' parameter, its format, allowed values, or how it relates to the project. The agent receives no help beyond the parameter name itself, so the description fails to compensate for the schema gap.

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

Purpose5/5

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

The description uses a concrete verb 'Povie' and defines the resource as project status: what is done, in progress, and remaining. It also distinguishes itself from the sibling 'sumar_projektu' by noting it returns a shorter answer than the full summary.

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 explicit trigger questions ('čo je hotové', 'čo ešte treba dorobiť', 'ako sme na tom') and indicates when a shorter answer than the full summary is wanted. It does not explicitly name the alternative tool or state when not to use it, so it stops 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.

sumar_projektuA

Vytvorí kompletný sumár projektu podľa pevného template. Použi vždy, keď používateľ povie 'urob mi sumár projektu', 'zhrň projekt', 'ako to vyzerá s projektom' a podobne. Parameter board je názov nástenky alebo jej časť, prípadne ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full transparency burden. It discloses the core behavior (creates a complete summary by fixed template) and mentions the flexible board parameter, but does not state whether the operation is read-only, what side effects occur, or what the response will contain. This is adequate but not detailed.

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 with no fluff: purpose, usage triggers, and parameter semantics. The most important information is front-loaded, and every sentence carries meaningful guidance.

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 tool with an output schema, the description covers the essential usage context and parameter meaning. It could be slightly more complete with an explicit note on when not to use it or how it relates to sibling tools, but nothing critical is missing for correct invocation.

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

Parameters5/5

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

The schema provides only the parameter name 'Board' with no description, and schema coverage is 0%. The description compensates fully by explaining that 'board' can be a board name, a part of a name, or an ID. This gives the agent all necessary semantic information.

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 the tool creates a complete project summary according to a fixed template, with a specific verb and resource. It does not explicitly differentiate from sibling tools like stav_projektu or zoznam_boardov, though the summary-focused trigger phrases imply 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?

The description gives explicit when-to-use guidance with concrete trigger phrases ('urob mi sumár projektu', 'zhrň projekt', 'ako to vyzerá s projektom'). It lacks explicit when-not-to-use instructions or named alternatives, so it stops 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.

zoznam_boardovA

Vypíše všetky Trello nástenky používateľa aj s ich ID. Použi, keď nevieš, ktorý board používateľ myslí, alebo keď sa pýta, aké projekty v Trelle má.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/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 transparency burden. It clearly states this is a listing operation that returns all boards with IDs, with no side effects implied. This is adequate for a zero-parameter read-only tool, though it does not describe sorting, error cases, or exact response shape beyond 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?

Two short sentences with no filler: the first states the action and output, the second gives practical usage guidance. Every word earns its place.

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 zero-parameter listing tool with an output schema available, the description covers purpose, output content, and concrete usage scenarios. Nothing material is missing for an agent to select and invoke it correctly.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there is nothing for the description to add. The baseline for 0 parameters is 4, and the description appropriately avoids inventing irrelevant parameter details.

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 ('Vypíše' = lists), a clear resource ('všetky Trello nástenky používateľa'), and the key output ('aj s ich ID'). The stated use case of discovering which board a user means clearly differentiates it from project-focused siblings like sumar_projektu or stav_projektu.

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 explicit conditions for use: when the specific board is unknown or when the user asks what projects they have in Trello. It does not mention when not to use the tool or name alternative tools, but the guidance is clear and actionable.

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

TDQS

A3.8/5.0
Disambiguation4/5

Each tool targets a distinct reporting question: boards, full summary, short status, priorities, and recent activity. sumar_projektu and stav_projektu are the closest pair, but their descriptions clearly separate a complete templated summary from a shorter done/doing/todo status.

Naming Consistency3/5

Names are all lowercase and domain-relevant, but the pattern is not uniform: zoznam_boardov, sumar_projektu and stav_projektu are two-word noun phrases, while priority and aktivita are single nouns. The naming is readable and predictable enough, but it is not a consistent verb_noun scheme.

Tool Count5/5

Five tools is a well-scoped set for a Trello summary/status server; each covers a distinct aspect and none feel redundant. It is neither too thin nor overloaded.

Completeness4/5

The core reporting domain is well covered: board discovery, full summary, status, priorities, and recent activity. The only minor gap is lack of a raw card/list detail tool, but agents can usually get the needed information through the existing summary and priority tools.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lenkascakova-ai/trello-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server