Skip to main content
Glama
README.md
# 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](docs/ukazka.png)

## Č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ť.

## 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](https://docs.astral.sh/uv/), Trello účet.

```bash
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:

```bash
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

TDQS

A3.8/5.0

Scored across 5 tools

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
ResponsivenessNo issues