Kanban MCP server pro ChatGPT, Claude, Cursor a Codex
Autor: Andrei Finogeev, zakladatel Weftu ·
Weft je hostovaná kanbanová nástěnka — Backlog, Todo, Doing, Done, s nepovinnými sprinty — a její MCP server běží na https://letsweft.com/api/mcp. Přidej tuto URL do svého AI klienta a jednou se přihlas přes OAuth; nic se neinstaluje ani nespouští lokálně. Od té chvíle asistent čte nástěnku, vytváří a přesouvá karty, kartu si před prací zabere, aby dva agenti nikdy nevzali stejnou, hlásí postup, zeptá se tě, když je rozhodnutí na tobě, a kartu uzavře s tím, co udělal. Zdarma pro 50 úkolů a 200 AI volání měsíčně.
https://letsweft.com/api/mcpStreamable HTTP · OAuth, nebo osobní přístupový token · 32 nástrojů
Přidej ho do svého AI klienta
ChatGPT
Otevřít Weft v ChatGPT — nebo ho nastav ručně:
- 1Otevři Plugins v postranním panelu ChatGPT — nebo Settings → Plugins.
- 2Vyhledej „Weft“ a otevři jeho zápis.
- 3Klikni na „Connect“ a projdi si, k čemu má Weft přístup.
- 4Ve vyskakovacím okně se přihlas svým účtem Weft.
Zmiň plugin v libovolném chatu přes @: „@Weft co mám na nástěnce?“ — nebo vyber Weft z nabídky +. Pokud jsi nastavení přeskočil, ChatGPT ti připojení nabídne rovnou v konverzaci.
Claude Desktop
- 1Otevři Claude Desktop → Settings → Connectors.
- 2Klikni na „Add custom connector“.
- 3Vlož níže uvedenou MCP URL Weftu a ulož.
- 4V okně prohlížeče, které se otevře, dokonči OAuth.
Založ nový chat a zeptej se: „co mám na nástěnce ve Weftu?“. Claude si stav nástěnky natáhne přes konektor Weftu.
Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcpSpusť `claude` v libovolném projektu a zeptej se: „co mám na nástěnce?“. Napoprvé se otevře okno prohlížeče, kde dokončíš OAuth.
Cursor
Přidat do Cursoru — nebo ho nastav ručně:
{
"mcpServers": {
"weft": {
"url": "https://letsweft.com/api/mcp"
}
}
}Otevři Cursor → Settings → MCP. Po dokončení OAuth by se měl objevit server „weft“ se zelenou kontrolkou.
Codex CLI
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"Spusť `codex mcp login weft` a přihlas se v prohlížeči, pak otevři `codex` a zeptej se: „co mám na nástěnce?“. `/mcp` vypíše připojený server a jeho nástroje.
VS Code
Nainstalovat rozšíření Weft — nebo ho nastav ručně:
{
"servers": {
"weft": {
"type": "http",
"url": "https://letsweft.com/api/mcp"
}
}
}Otevři chat, přepni volbu režimu na Agent a zeptej se: „co mám na nástěnce?“. Poprvé se otevře okno prohlížeče s OAuth. «MCP: List Servers» má ukázat weft jako Running.
Windsurf
- 1Otevři Windsurf → Settings → Cascade → MCP servers.
- 2Klikni na „Add server“ a zvol Remote (HTTP).
- 3Vlož níže uvedenou MCP URL Weftu a ulož.
- 4V okně prohlížeče, které se otevře, dokonči OAuth.
Otevři Cascade a zeptej se: „co mám na nástěnce?“. Cascade u odpovědí označí, že použil server Weftu.
Gemini CLI
gemini extensions install https://github.com/AndreiFinogeev/weft-gemini-extensionSpusť `gemini` a zeptej se: „co mám na nástěnce ve weftu?“. Při prvním použití se kvůli OAuth otevře prohlížeč. `gemini extensions list` by měl ukázat „weft“.
Postavený pro agenty, nejen pro tebe
Nároky, ne kolize
start_task dá na kartu lease dřív, než na ní agent začne pracovat. Druhý agent, který si řekne o práci, dostane jinou kartu, a karta, jejíž agent zmlkl, se po vypršení leasu nabídne znovu.
Postup a účtenky
report_progress udržuje nárok naživu, dokud agent pracuje; complete_task kartu uzavře s tím, co se udělalo, co ne, a s odkazy, které si můžeš ověřit.
Otázky čekají na tebe
request_input ti dá do Doručené pošty otázku s možnostmi — na webu i v telefonu — místo aby agent hádal něco, o čem můžeš rozhodnout jen ty.
Tempo určuje tvoje pozornost
Když na tvou kontrolu čeká příliš mnoho hotové práce, agenti přestanou začínat nové karty. To je kanbanový limit rozpracované práce, použitý na tebe.
Ty rozhoduješ, co smí která AI
Každému připojenému asistentovi dej plný přístup, zápis, nebo jen čtení, a jedním kliknutím ho odpoj. Smazané karty jdou do koše, nemizí rovnou ze světa.


32 nástrojů
Každý nástroj deklaruje, jestli jen čte, zapisuje, nebo něco odstraňuje, takže tvůj klient ví, kdy se tě má nejdřív zeptat.
| Nástroj | Co dělá | Druh |
|---|---|---|
| search | Vyhledávání podle klíčových slov napříč úkoly, sprinty, rozhodnutími a poznámkami v paměti. Vrátí až 50 seřazených výsledků {id, title, url}, jejichž id s předponou druhu se předávají do fetch. | Čtení |
| fetch | Načte úplný obsah jednoho výsledku vyhledávání — název, textovou podobu, zdrojovou url a strukturovaná metadata. Bere id s předponou, které vrátil search. | Čtení |
| initialize_board | Vytvoří na tvé nástěnce ve Weftu výchozí sloupce Backlog, Todo, Doing a Done, pokud žádné nejsou — nastavení jedním voláním, než začne AI agent spravovat úkoly. Idempotentní. | Zápis |
| get_board_state | Vrátí stručný přehled uživatelovy Scrumban nástěnky: sloupce, aktivní sprint, Doing, úkoly po termínu a nedávno uzavřené, zhruba 30× menší než úplný snímek. | Čtení |
| list_columns | Vypíše všechny sloupce nástěnky v pořadí — id, název a pozici každého, takže agent přesně ví, kam se úkol může přesunout. | Čtení |
| list_tasks | Vrátí úkoly přihlášeného uživatele, volitelně filtrované podle sloupce, sprintu, projektu (název nebo id), autora (člověk vs. AI) nebo řešitele (toho, kdo úkol vykonává). | Čtení |
| create_task | Vytvoří nový úkol na uživatelově nástěnce. Pokud není zadaný sloupec, přistane v Backlogu. Priorita je ve výchozím stavu střední. Použij, když uživatel chce přidat úkol. | Zápis |
| bulk_create_tasks | Vytvoří až 1000 úkolů v jednom atomickém volání — import exportů z Linearu/Jiry/Notionu/Trella nebo jakéhokoli seznamu 3+ úkolů, za cenu jediného AI volání z kvóty. | Zápis |
| update_task | Upraví pole existujícího úkolu. Mění se jen pole, která předáš; vynechaná zůstanou zachována — s jednou výjimkou: zrušení requiresReview agentovi neprojde a odmítnutí s sebou vezme celou úpravu. | Zápis |
| move_task | Přesune úkol do jiného sloupce a na jinou pozici. Přesun do sloupce se semantic='doing' spustí měření doby cyklu; přesun do semantic='done' zaznamená čas dokončení. | Zápis |
| start_task | AI ho zavolá ve chvíli, kdy začne úkol vykonávat — karta se přesune do Doing, takže uživatel i každý další připojený klient vidí, že se na ní pracuje (a nevezmou si ji podruhé). Spustí měření doby cyklu; nepřiřazený úkol si zabere volající agent (existujícího řešitele nikdy nepřepíše). Id sloupce není potřeba. | Zápis |
| report_progress | Řekne, že pořád pracuješ. Nárok na úkol vyprší, když klient zmlkne, a tohle ho obnoví. Bez tohoto tepu se dlouho běžící úkol považuje za opuštěný a nabídne se někomu jinému — záměrně, protože agent, který uprostřed běhu umře, nic nenahlásí, takže mlčení je jediný signál, který nástěnka má. | Zápis |
| request_input | Zeptá se člověka na něco, o čem může rozhodnout jen on, a čeká, aniž by ztratil nárok na úkol. Pokud je člověk u svého klienta, objeví se tam formulář a odpověď se vrátí v rámci téhož volání — agent pokračuje ve stejném kontextu se stejným nárokem. Pokud je pryč, volání se vrátí jako odložené a otázka čeká v jeho frontě; odpověď se k agentovi dostane při jeho příštím start_task nebo get_my_work. Je pro nevratné a skutečně nejednoznačné věci, ne pro „můžu pokračovat?“ — každá otázka čerpá stejný rozpočet pozornosti, který omezuje novou práci. | Zápis |
| submit_answer | Přinese zpět, co člověk řekl na otázku, kterou agent položil, a vrátí práci se stejným runId a leasem, takže pokračuje ve stejném pokusu, místo aby začínal nanovo. Označí se jako předané, nikdy jako jednání samotného člověka — odpověď, kterou přinesl agent, a kliknutí člověka jsou různé druhy důkazů a nástěnka je drží odděleně. Pokud už otázka byla zodpovězena v aplikaci Weft, vrátí se místo chyby ta odpověď: důležité je, aby agent pokračoval s tou správnou. | Zápis |
| get_my_work | Zeptá se, co dělat dál, místo čtení celé nástěnky a hádání. Vrátí úkoly přiřazené tomuto klientovi, co už čeká na člověka, a jestli je ve frontě pozornosti místo. Taky jmenuje, co je po termínu a co má termín nebo začíná během týdne, takže se agent o deadlinu dozví, aniž by se ptal. Když je fronta plná, užitečným krokem je pomoct ji vyprázdnit, ne začínat něco nového — a tohle to řekne dřív, než si úkol vybere. | Čtení |
| complete_task | AI ho zavolá, když je práce opravdu hotová — karta se přesune do Done se zaznamenaným časem dokončení a volitelný výsledek (co se udělalo, kde výsledek je) se ke kartě připojí jako poznámka „Outcome (AI, date)“. Id sloupce není potřeba. Práce označená jako vyžadující tebe se do Done NEpřesune: jde do tvé fronty s přiloženou účtenkou, a pokud agent řekl, co udělá dál, přijetím schválíš přesně ten krok a vrátíš ho agentovi. Pokud má úkol plán ověření, server jeho kontroly provede právě tady — stáhne URL, hledá citaci, porovná hash: plán executable/state_delta, jehož blokující kontroly všechny projdou, se uzavře jako ověřený serverem; neúspěšná blokující kontrola drží kartu mimo Done a ukáže agentovi, co server zjistil. | Zápis |
| record_decision | Jeden nástroj, dvě použití, jedna tabulka záznamů. (1) Předá verdikt, který jsi v konverzaci vyslovil o hotové práci, jež na tebe čeká — schváleno, vrátit, zahodit, později — a odstraní kartu z fronty ke kontrole; záznam se uloží jako předaný, ne jako tvoje jednání v aplikaci, a ten rozdíl zůstává záměrně vidět. (2) Zaznamená samostatné rozhodnutí, které stojí za zapamatování — „vybrali jsme Neon místo Supabase“, poučení — jako neměnný záznam ve stylu MADR-lite se zvažovanými možnostmi a podmínkou, za které se k němu vrátit. Záznamy se nikdy neupravují: nové rozhodnutí se supersedesId nahradí staré a to staré zůstane čitelné tak, jak znělo v den, kdy vzniklo. Právě tyto záznamy příští týden vrací get_context každému agentovi. | Zápis |
| get_context | Platná rozhodnutí a poučení workspace, zabalená do rozpočtu tokenů, nejnovější první — to, co by si agent měl přečíst, než začne cokoli netriviálního. Odvozuje se ze zaznamenaných rozhodnutí, ne psaný jako dokument, takže nemůže zastarat: nahrazené rozhodnutí vypadne ve chvíli, kdy se zaznamená jeho náhrada, a každý řádek nese své datum. Můžeš ho zúžit na projekt nebo úkol; řádky, které se do rozpočtu nevejdou, se spočítají, nikdy se potichu neskryjí. | Čtení |
| get_task_history | Co se s úkolem dělo, ne jen jeho aktuální pole. Tři režimy: 'summary' (výchozí, ≤500 tokenů — karta, její poslední účtenka, počty), 'decisions' (každé rozhodnutí, které se o něm zaznamenalo, včetně verdiktů a jejich důvodů — důvod přepracování tu přežije, i když pozdější přijetí kartu přepíše), 'full' (surový žurnál, omezený na 100 událostí, což i řekne). Existuje proto, že auditní log je příliš upovídaný na přímé čtení a řádek úkolu drží vždy jen poslední verdikt. | Čtení |
| trash_task | Přesune úkol na tvé nástěnce ve Weftu do koše. Po 30 dní ho jde obnovit přes restore_task, potom ho naplánovaná úloha trvale smaže. | Odstraňuje |
| restore_task | Obnoví úkol z koše do 30 dnů od vyhození. Úkol se vrátí na nástěnku tam, kde byl, úplně neporušený — takže samostatný zakladatel nikdy nepřijde o práci kvůli nechtěnému smazání. | Zápis |
| archive_done_tasks | Vyprázdní sloupec Done: každý úkol v něm odejde z nástěnky do archivu — dál ho najde search/fetch a dál je vidět v historii svého sprintu, nikdy se nesmaže. Dokončení sprintu archivuje hotové úkoly toho sprintu automaticky; tohle obstará zbytek. Bere celý sloupec jedním voláním, bez počtu a bez cesty zpět přes MCP — restore_task obnovuje z koše, ne z archivu — a proto je označený jako destruktivní: klient by si to měl před zavoláním potvrdit s uživatelem. | Odstraňuje |
| list_projects | Vypíše projekty nástěnky — lehké kontexty (startup, klient, osobní), ke kterým může úkol patřit. Archivované projekty vynechá, pokud není nastavené includeArchived. | Čtení |
| create_project | Vytvoří kontext projektu. Název je v rámci nástěnky jedinečný; barva se ve výchozím stavu vybere z rotující palety; url je web projektu, jehož favicon se zobrazuje na kartách úkolů. | Zápis |
| update_project | Přejmenuje projekt, změní jeho barvu nebo url webu, nebo ho archivuje/obnoví z archivu. Archivované projekty zmizí z výběrů; jejich úkoly si přiřazení ponechají. | Zápis |
| list_sprints | Vypíše všechny sprinty uživatele (plánované, aktivní, dokončené, archivované), takže samostatný zakladatel nebo agent může projít historii sprintů a aktuální stav bez otevírání aplikace. | Čtení |
| get_active_sprint | Vrátí právě aktivní sprint, nebo null, pokud žádný neběží — takže samostatný zakladatel nebo agent zkontroluje aktuální cíl bez otevírání aplikace. | Čtení |
| create_sprint | Vytvoří na tvé nástěnce ve Weftu nový sprint ve stavu „planned“, připravený k naplánování s cílem a daty. Až budeš chtít začít pracovat, použij zvlášť start_sprint. | Zápis |
| start_sprint | Převede plánovaný sprint do aktivního stavu. Aktivní může být vždy jen jeden sprint, v každém tarifu — pokud běží jiný sprint, volání selže a jmenuje ho; nejdřív ten sprint dokonči a pak to zkus znovu. | Zápis |
| complete_sprint | Dokončí aktivní sprint. Jeho hotové úkoly se archivují do historie sprintu — pryč ze sloupce Done na nástěnce, dál vyhledatelné a zobrazené na stránce sprintu. Nedokončené úkoly zůstanou na nástěnce, připojené ke sprintu. Přes MCP se to nedá vrátit — klienti by si to měli potvrdit, když záměr není jasný. | Odstraňuje |
| add_task_to_sprint | Přiřadí existující úkol ke sprintu, aby se objevil v rozsahu a burndownu toho sprintu. Idempotentní — druhé volání nemá žádný další účinek, takže je bezpečné ho zopakovat. | Zápis |
| remove_task_from_sprint | Odpojí úkol od jeho aktuálního sprintu, aniž by ho smazal — úkol zůstane na nástěnce ve svém sloupci, jen už nepatří do rozsahu toho sprintu ani do jeho burndownu. | Zápis |
Otázky
Co je kanban MCP server?
MCP (Model Context Protocol) server, který zpřístupní kanbanovou nástěnku jako nástroje, které může AI asistent volat: vypsat sloupce, číst karty, vytvořit kartu, přesunout ji do Doing nebo Done. Ten od Weftu je hostovaný, takže místo spouštění procesu na svém počítači přidáš URL.
Musím něco instalovat nebo spouštět?
Ne. Přidej https://letsweft.com/api/mcp do svého AI klienta a přihlas se přes OAuth. Klienti bez OAuth používají osobní přístupový token z Nastavení → Přístupové tokeny.
Je to zdarma?
Ano, pro 50 úkolů a 200 AI volání měsíčně. Pro limity ruší za $7 za místo měsíčně, nebo $60 za místo ročně.
Funguje to s ChatGPT Free?
Ano. Weft je v „Plugin directory“ ChatGPT a funguje v každém tarifu ChatGPT, včetně Free. Přidání holé MCP URL v ChatGPT je funkce tarifů Business, Enterprise a Edu, ale pro Weft ji nepotřebuješ.
Můžou dva agenti sdílet jednu nástěnku?
Ano — právě k tomu nástěnka je. Každý agent si před prací zabere kartu přes start_task, takže si nevezmou stejnou kartu, a na každé kartě je vidět, jestli ji vytvořila nebo dokončila AI, nebo člověk.
Čím se to liší od lokálního kanban MCP serveru?
Open-source kanban MCP servery běží na tvém počítači a nástěnku ukládají do lokálního souboru nebo databáze, takže ji vidí jen agenti na tom počítači. Weft je sdílená hostovaná nástěnka: stejné karty v ChatGPT, Claude, Cursoru, Codexu, webové aplikaci i v aplikacích pro iOS a Android, pro tebe i tvůj tým.