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ě.

URL MCP serveru
https://letsweft.com/api/mcp

Streamable 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ě:

  1. 1Otevři Plugins v postranním panelu ChatGPT — nebo Settings → Plugins.
  2. 2Vyhledej „Weft“ a otevři jeho zápis.
  3. 3Klikni na „Connect“ a projdi si, k čemu má Weft přístup.
  4. 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

  1. 1Otevři Claude Desktop → Settings → Connectors.
  2. 2Klikni na „Add custom connector“.
  3. 3Vlož níže uvedenou MCP URL Weftu a ulož.
  4. 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

bash
claude mcp add --transport http weft https://letsweft.com/api/mcp

Spusť `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ě:

~/.cursor/mcp.json
{
  "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

~/.codex/config.toml
[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ě:

.vscode/mcp.json
{
  "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

  1. 1Otevři Windsurf → Settings → Cascade → MCP servers.
  2. 2Klikni na „Add server“ a zvol Remote (HTTP).
  3. 3Vlož níže uvedenou MCP URL Weftu a ulož.
  4. 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

bash
gemini extensions install https://github.com/AndreiFinogeev/weft-gemini-extension

Spusť `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.

Nástěnka Weftu na telefonu, sloupec Doing: tři úkoly, které si vzal AI asistent, každý označený AI
Asistenti si berou další úkol; na každé kartě je vidět, kdo na ní pracuje.
Hotový úkol ve Weftu vytvořený AI, s výsledkem, který asistent zaznamenal: co opravil a že prošlo 40 běhů testů
Když asistent skončí, nechá účtenku: co udělal a jak to ověřil.

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ástrojCo děláDruh
searchVyhledá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í
fetchNač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_boardVytvoří 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_stateVrá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_columnsVypíš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_tasksVrá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_taskVytvoří 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_tasksVytvoří 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_taskUpraví 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_taskPř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_taskAI 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_inputZeptá 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_answerPř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_workZeptá 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_taskAI 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_decisionJeden 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_contextPlatná 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_historyCo 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_taskPř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_taskObnoví ú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_tasksVyprá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_projectsVypíš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_projectVytvoří 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_projectPř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_sprintsVypíš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_sprintVrá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_sprintVytvoří 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_sprintPř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_sprintDokončí 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_sprintPř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_sprintOdpojí ú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.

Související