Todocko MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Todocko MCP Serverlist all high priority tasks in the Website project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Todocko MCP Server
English version below / Jump to English
MCP (Model Context Protocol) server pro práci s daty Todocko aplikace z AI asistentů.
Podpora
Claude Desktop - plná podpora
Claude Code (CLI) - plná podpora (stejná konfigurace)
Related MCP server: Todoist MCP Server
Požadavky
Node.js 24.20+ — Evolu v8 to má v
engines, a není to formalita: v8 stojí nanavigator.locks,MessageChannel,BroadcastChannelaWebSocket, které má Node nativně teprve od 24Todocko účet s daty synchronizovanými přes Evolu
Evolu v8 (TODO-88)
MCP běží na @evolu/common 8.9.0 a @evolu/nodejs 3.2.0.
v7 dodával createDbWorkerForPlatform, což bylo vše, co headless klient v Node
potřeboval. v8 to zrušil: @evolu/nodejs v3 nabízí relay a pár primitiv, a
jedinou kompletní klientskou platformu má upstream pro web. src/evoluPlatform.ts
je protějšek pro Node, poskládaný ze stejných dílů.
Vyšel krátce, protože Node 24 má potřebná web API nativně. Oba workery běží
in-process přes createWorker / createSharedWorker — to jsou vlastní
fallbacky Evolu „pro platformy bez podpory workerů"; worker_threads by přinesly
izolaci, kterou jednoprocesový CLI nepotřebuje.
Pět věcí, na kterých se to dá snadno rozbít:
installPolyfills()je povinné a musí proběhnout dřív než cokoli z@evolu/common. v8 voláMap.prototype.getOrInsert(Computed), které nemá žádný vydaný Node (ověřeno do 25.9.0). Bez toho to spadne na první zprávě.Databáze patří jednomu mnemonicu. v7 při neshodě volal
restoreAppOwner, který lokální databázi resetoval. v8 obnovu nemá, takže by v souboru zůstala data starého ownera zašifrovaná klíčem, který nový nemá. Server proto neshodu ohlásí a odmítne nastartovat — smaž~/.todocko/todocko.dba nech ho stáhnout data znovu.createNodeEvoluDeps()musí být singleton na proces. Shared worker drží jedinýtabLeaderPortStoreainitDbWorkerkaždého tenanta předpokládá, že je už naplněný. Druhá sada deps znamená druhý shared worker, kterému nikdo leadera neohlásil, a vytvoření sdílené instance spadne nainitDbWorker: Expected value to be non-nullable. Jeden worker obslouží obě instance jako dva tenanty podleappName, stejně jako@evolu/webna jedné stránce.Mutace nevrací
Result. v7 vracel zinsert/updateResult, takže se testovaloresult.oka čtloresult.value.id. v8 vrací přímo{ id }a při neplatné změně vyhodí výjimku. Kontrola!result.okproto uspěla vždy a nástroj ohlásil chybu u zápisu, který právě proběhl. U vkládání je to horší, protože uživatel to zkusí znovu a vznikne duplicita. Hlídá tosrc/tools/pure.test.ts.Ownera filtrovat v SQL, ne až v JS. Sdílená instance drží data všech ownerů v jedné tabulce.
limitprovede SQLite dřív, než se v JS cokoli filtruje, takže nezúžený dotaz vrátí prvních N řádků přes všechny ownery a filtr je pak zahodí. Nástroj hlásil nula úkolů u projektu, který jich má 26. Stejná past číhá uorderBy position desc limit 1při výpočtu další pozice.
Instalace
1. Stažení
Pomocí git:
git clone https://github.com/brnt-cz/todocko-mcp.git
cd todocko-mcpNebo stáhněte ZIP z Releases a rozbalte.
2. Spuštění instalátoru
Linux/macOS:
chmod +x install.sh
./install.shWindows (PowerShell):
.\install.ps1Instalátor:
Nainstaluje závislosti a sestaví projekt
Zeptá se, zda chcete nakonfigurovat Claude Desktop, Claude Code nebo obojí
Vytvoří konfigurační soubor s placeholderem
Ručně doplňte svou 24slovnou zálohovací frázi do konfiguračního souboru
Restartujte Claude
Manuální instalace
Nainstalujte závislosti:
npm install npm run buildPřidejte do konfigurace:
Claude Desktop (~/.config/Claude/claude_desktop_config.json na Linuxu nebo ~/Library/Application Support/Claude/claude_desktop_config.json na macOS):
{
"mcpServers": {
"todocko": {
"command": "node",
"args": ["/cesta/k/mcp-server/dist/index.js"],
"env": {
"TODOCKO_MNEMONIC": "vaše 24slovná zálohovací fráze"
}
}
}
}Claude Code (CLI) - přidejte do ~/.claude/settings.json:
{
"mcpServers": {
"todocko": {
"command": "node",
"args": ["/cesta/k/mcp-server/dist/index.js"],
"env": {
"TODOCKO_MNEMONIC": "vaše 24slovná zálohovací fráze"
}
}
}
}Restartujte Claude Desktop / Claude Code
Dostupné nástroje (143)
Projekty
Nástroj | Popis |
| Seznam všech projektů |
| Detail projektu podle ID nebo kódu |
| Vytvoření nového projektu |
| Aktualizace projektu (name, code, color, isArchived, autoApproveMembers, isHiddenFromFilters) |
| Smazání projektu (soft delete) |
Úkoly
Nástroj | Popis |
| Seznam úkolů s filtry (projekt, status, priorita, assignee) |
| Detail úkolu podle ID nebo kódu (např. |
| Vytvoření nového úkolu (včetně recurrence, sprintNumber, parentTaskId) |
| Aktualizace existujícího úkolu (včetně recurrence, sprintNumber, parentTaskId) |
| Vyhledávání úkolů podle textu |
| Hromadná aktualizace více úkolů (včetně sprintNumber) |
| Hromadné smazání více úkolů |
| Smazání jednoho úkolu (soft delete, kaskáda na worklogy a přílohy) |
| Git aktivita pro úkol (commits, PR) z relay serveru |
Uživatelé
Nástroj | Popis |
| Seznam všech uživatelů |
| Detail uživatele |
| Vytvoření nového uživatele |
| Aktualizace uživatele |
| Smazání uživatele (soft delete) |
Worklogy
Nástroj | Popis |
| Seznam worklogů pro úkol |
| Přidání worklogu k úkolu |
| Aktualizace worklogu |
| Smazání worklogu (soft delete) |
Přílohy
Nástroj | Popis |
| Nahrání přílohy k úkolu (ze souboru nebo base64) |
| Seznam příloh úkolu |
| Stažení přílohy |
| Smazání přílohy |
| Nahrání přílohy k lokální poznámce projektu |
| Seznam příloh lokální poznámky |
| Stažení přílohy poznámky |
| Smazání přílohy poznámky |
Komentáře
Nástroj | Popis |
| Seznam komentářů k úkolu |
| Přidání komentáře k úkolu |
| Úprava komentáře |
| Smazání komentáře (soft delete) |
Checklist
Nástroj | Popis |
| Seznam položek checklistu úkolu |
| Přidání položky checklistu |
| Aktualizace položky (zaškrtnutí, pozice) |
| Smazání položky (soft delete) |
Zmínky (mentions)
Nástroj | Popis |
| Seznam zmínek uživatele |
| Vytvoření zmínky |
| Označení zmínky jako přečtené |
| Označení všech zmínek jako přečtených |
| Smazání zmínky (soft delete) |
Linky mezi úkoly
Nástroj | Popis |
| Seznam linků úkolu |
| Vytvoření linku mezi úkoly |
| Smazání linku (soft delete) |
Tagy
Nástroj | Popis |
| Seznam štítků; vrací |
| Vytvoření štítku — předej |
| Přejmenování, změna barvy, přiřazení projektu, nebo příznak výchozího štítku |
| Smazání štítku (soft delete) |
| Seznam štítků přiřazených k úkolu |
| Přiřazení štítku k úkolu |
| Odebrání štítku z úkolu |
Sdílené projekty (TODO-235):
Nástroj | Popis |
| Štítky ve sdíleném projektu |
| Vytvoření štítku ve sdíleném projektu |
| Přejmenování / změna barvy / příznak výchozího štítku |
| Smazání (soft delete) |
| Přiřazení k úkolu ve sdíleném projektu |
| Odebrání z úkolu |
Štítek bez projektu appka nikde nenabídne. Od TODO-227 jsou štítky vázané na projekt;
td_create_tagbezprojectIdvyrobí nezařazený štítek, který se v appce objeví jen v nastavení projektu v sekci „Nezařazené" s tlačítkem na přiřazení. Odpověď nástroje na to upozorní. Dodatečně to spravítd_update_tagsprojectId.Limity free tarifu (TODO-243). Tarifní limity patří do appky, ne sem.
td_create_taskatd_create_projectproto do odpovědi přilepí varování s reálným počtem, když je owner na free tarifu a je nad limitem (1 projekt, 50 aktivních úkolů). Jde o to, aby se to člověk dozvěděl při zakládání, ne až zpětně v appce, a aby z textu bylo jasné, že o nic nepřišel. Nic to neblokuje a při neznámém tarifu (nedostupný relay) radši mlčí — falešný poplach je horší než žádný.
Výchozí štítky (TODO-239).
isDefaultutd_create_tag/td_update_tag(a sdílených variant) znamená, že štítek dostane každý nově zakládaný úkol projektu.td_create_taskitd_create_shared_taskje přidávají samy a vrátí je vappliedTags— appka je předzaškrtává v modalu, takže bez toho by výsledek závisel na tom, odkud úkol vznikne. Existujících úkolů se to nedotkne.Ve sdílených projektech se zapisuje do jiné Evolu instance, proto samostatná sada nástrojů —
td_add_tag_to_taskna sdílený úkol nefunguje.
Šablony úkolů
Nástroj | Popis |
| Seznam šablon úkolů |
| Vytvoření šablony |
| Aktualizace šablony |
| Smazání šablony (soft delete) |
Kanban sloupce
Nástroj | Popis |
| Seznam kanban sloupců |
| Vytvoření sloupce |
| Aktualizace sloupce |
| Smazání sloupce (soft delete) |
Uložená zobrazení
Nástroj | Popis |
| Seznam uložených zobrazení |
| Vytvoření zobrazení |
| Aktualizace zobrazení |
| Smazání zobrazení (soft delete) |
Aktivita
Nástroj | Popis |
| Seznam zápisů aktivity s filtry (úkol, aktor, akce, typ entity, datum od/do) — read-only |
Poznámky k projektu
Nástroj | Popis |
| Seznam lokálních poznámek projektu |
| Vytvoření lokální poznámky |
| Aktualizace lokální poznámky |
| Smazání lokální poznámky (soft delete) |
Deployment stages
Nástroj | Popis |
| Seznam deployment stages pro projekt |
| Vytvoření deployment stage |
| Aktualizace deployment stage |
| Smazání deployment stage (soft delete) |
Repository linky
Nástroj | Popis |
| Seznam repozitářových linků |
| Vytvoření repozitářového linku |
| Aktualizace repozitářového linku |
| Smazání repozitářového linku |
Sdílené projekty
Nástroj | Popis |
| Seznam sdílených projektů |
| Seznam úkolů ze sdíleného projektu |
| Vytvoření úkolu ve sdíleném projektu (auto-generovaný kód) |
| Aktualizace úkolu ve sdíleném projektu (všechna pole včetně recurrence, estimate, blocking) |
| Smazání úkolu ve sdíleném projektu (soft delete, kaskáda na checklist) |
| Aktualizace metadat sdíleného projektu (archivace / skrytí z filtrů) |
| Seznam worklogů úkolu ve sdíleném projektu |
| Přidání worklogu k úkolu ve sdíleném projektu |
| Smazání worklogu ve sdíleném projektu |
| Seznam položek checklistu úkolu ve sdíleném projektu |
| Přidání položky checklistu ve sdíleném projektu |
| Aktualizace položky checklistu ve sdíleném projektu |
| Smazání položky checklistu ve sdíleném projektu |
| Seznam komentářů úkolu ve sdíleném projektu |
| Přidání komentáře k úkolu ve sdíleném projektu |
| Aktualizace komentáře ve sdíleném projektu |
| Smazání komentáře ve sdíleném projektu |
| Nahrání přílohy k úkolu ve sdíleném projektu |
| Seznam příloh úkolu ve sdíleném projektu |
| Stažení přílohy úkolu sdíleného projektu |
| Smazání přílohy úkolu sdíleného projektu |
| Seznam deployment stages pro sdílený projekt |
| Vytvoření deployment stage ve sdíleném projektu |
| Aktualizace deployment stage ve sdíleném projektu |
| Smazání deployment stage ve sdíleném projektu |
| Seznam repozitářových linků sdíleného projektu |
| Vytvoření repozitářového linku ve sdíleném projektu |
| Aktualizace repozitářového linku ve sdíleném projektu |
| Smazání repozitářového linku ve sdíleném projektu |
| Seznam poznámek sdíleného projektu |
| Vytvoření poznámky ve sdíleném projektu |
| Aktualizace poznámky ve sdíleném projektu |
| Smazání poznámky ve sdíleném projektu |
| Seznam členů sdíleného projektu (jméno, oprávnění, kicked/blocked stav) |
| Změna oprávnění / block / kick člena sdíleného projektu |
| Nahrání přílohy k poznámce sdíleného projektu |
| Seznam příloh poznámky sdíleného projektu |
| Stažení přílohy poznámky sdíleného projektu |
| Smazání přílohy poznámky sdíleného projektu |
Analytika a přehledy
Nástroj | Popis |
| Přehled: úkoly dnes, po termínu, odpracováno tento týden, nadcházející deadline |
| Vytížení týmu: odpracováno vs odhad vs kapacita per uživatel za období |
| Seznam opakujících se úkolů s konfigurací opakování |
| Úkoly po termínu (seřazené od nejstaršího) |
Do v1.6.0 tyhle tři nástroje vracely vždy prázdno.
td_list_recurring_tasks,td_list_overdue_tasksatd_list_tasks_by_date_rangečtlyresult.rows, zatímcoevolu.loadQueryvrací pole samo — takžecount: 0na jakýkoli vstup, bez chyby, které by šlo si všimnout. Opraveno v TODO-242 přes společnýqueryRows. Recurrence pole navíc vrací itd_get_task, takže nastavení opakování jde přečíst tou nejpřímější cestou. |td_list_tasks_by_date_range| Úkoly filtrované podle scheduledDate nebo deadline v daném rozmezí | |td_analyze_dependencies| Analýza závislostí: blokované úkoly, blokující řetězce, kritická cesta |
Diagnostika
Nástroj | Popis |
| Stav synchronizace |
| Vynutí sync round-trip s relayem (užitečné, když chceš mít jistotu, že vidíš nejnovější data z jiného zařízení) |
Příklady použití
Seznam projektů
Zobraz mi seznam všech projektů v TodockoSeznam úkolů
Jaké mám úkoly ve stavu "todo"?
Zobraz úkoly projektu TODODetail úkolu
Jaké jsou detaily úkolu TODO-15?Vytvoření úkolu
Vytvoř nový úkol v projektu PROJ s názvem "Opravit bug v přihlášení" a prioritou high
Vytvoř úkol s deadline na 2026-03-15 a scheduledDate na 2026-03-10Aktualizace úkolu
Označ úkol PROJ-5 jako dokončený
Přiřaď úkol TODO-10 uživateli s ID xyz
Nastav scheduledDate úkolu TODO-10 na zítraLogování času
Zaloguj 2 hodiny práce na úkol TODO-15 s popisem "Implementace feature"Práce s přílohami
Nahraj soubor /home/user/report.pdf jako přílohu k úkolu TODO-15
Jaké přílohy má úkol TODO-15?
Smaž přílohu s ID xyzSdílené projekty
Zobraz sdílené projekty
Jaké úkoly jsou ve sdíleném projektu?
Označ úkol jako nasazený na produkciDeployment stages
Jaké deployment stages má projekt?
Vytvoř novou deployment stage "Staging" pro sdílený projektSub-úkoly
Vytvoř sub-úkol k úkolu TODO-15 v projektu TODO
Odpoj úkol TODO-20 od rodičovského úkolu (parentTaskId: null)Přehledy a analytika
Jaký mám dnes přehled? (dashboard summary)
Jak je vytížený tým tento týden?
Jaké úkoly jsou po termínu?
Zobraz úkoly naplánované na příští týden
Analyzuj závislosti v projektu TODO
Jaké mám opakující se úkoly?Linux CLI (todo) (TODO-160)
Vedle MCP serveru je v balíčku i CLI todo pro rychlé osobní ovládání z terminálu — sdílí stejnou databázi i TODOCKO_MNEMONIC jako MCP. Po npm link (nebo globální instalaci) je dostupné jako todo.
📖 Podrobný návod: CLI.md
# Přidání úkolu (bez -p použije první projekt)
todo add "Opravit login"
todo add "Opravit login" -p TODO --priority high --scheduled today
# Změna stavu (identifikace kódem úkolu)
todo done TODO-160 # status=done
todo start TODO-160 # status=in_progress
todo mv TODO-160 review # backlog|todo|in_progress|review|done
# Worklog
todo log TODO-160 1h30m "ladění OAuth"
todo worklogs TODO-160 # tabulka worklogů
# Strojový výstup na všech příkazech
todo add "X" --jsonArchitektura:
src/cli.ts(commander) → mapuje argumenty na existující tool handlery (handleToolCall), žádná duplicitní business logika. Kód úkolu se překládá na ID přestd_get_task.Sync: po mutaci čeká ~3 s na relay; když je offline, vypíše
⚠ uloženo lokálněa skončí s kódem 0 (data jsou lokálně bezpečně).Exit kódy:
0úspěch,1user/business chyba (neznámý kód, špatný stav/čas),2config (chybí mnemonic).Barvy jen v TTY a při nenastaveném
NO_COLOR.Pozn.: běží jako samostatný proces nad stejnou SQLite DB jako MCP; při souběžném zápisu s MCP může (vzácně) nastat
SQLITE_BUSY— v takovém případě příkaz zopakuj. Mimo rozsah v1:list/today, editace popisu, projekty/tagy/checklist, sdílené projekty.
Bezpečnost
Důležité: Vaše zálohovací fráze (mnemonic) je citlivý údaj!
Nikdy ji nesdílejte v přímé konverzaci s AI
V konfiguraci MCP serveru je fráze bezpečná (AI k ní nemá přístup)
Kdokoli s vaší frází má plný přístup k vašim datům
WebSocket Origin (TODO-169)
MCP server při WebSocket připojení k relay posílá hlavičku Origin: https://todocko-mcp. Sdílený relay (relay.todocko.cz) má tuto hodnotu povolenou ve whitelistu Access Control. Pokud používáš vlastní relay, musíš ji přidat do tiers.json.allowedDomains, jinak relay odmítne připojení s 403 Forbidden na WS upgrade.
Umístění dat
Databáze jsou uloženy v adresáři ~/.todocko/:
Platforma | Cesta |
Linux |
|
macOS |
|
Windows |
|
Soubory:
todocko.db- vaše osobní data (úkoly, projekty)todocko-shared.db- sdílené projekty
Změna konfigurace
Claude Code (CLI)
Po změně konfigurace v ~/.claude/settings.json (např. změna mnemonicu) spusťte příkaz:
/mcpTím se MCP server restartuje s novou konfigurací.
Přepnutí na jiný účet
Při změně mnemonicu na jiný Todocko účet je potřeba smazat lokální databázi:
# Linux/macOS
rm ~/.todocko/todocko.db
# Windows
del %USERPROFILE%\.todocko\todocko.dbDatabáze obsahuje ID vlastníka z předchozího mnemonicu. Po smazání se při dalším spuštění vytvoří nová databáze a stáhnou se data nového účtu.
Troubleshooting
Server se nespustí
Zkontrolujte, že máte Node.js 24.20+
Zkontrolujte, že jste spustili
npm run buildZkontrolujte logy v Claude Desktop
Data se nesynchronizují
Ověřte, že je zálohovací fráze správná (24 slov)
Zkontrolujte internetové připojení
Počkejte pár sekund na synchronizaci
Zkuste smazat
~/.todocko/todocko.dba restartovat
Nástroje nejsou viditelné
Restartujte Claude Desktop
V Claude Code použijte
/mcppro reloadZkontrolujte konfigurační soubor
Zkontrolujte cestu k dist/index.js
Každý loadQuery skončí timeoutem (loadQuery timed out after 15000ms)
Příčina: better-sqlite3 native binding byl zkompilován proti jiné Node.js ABI verzi, než pod kterou MCP server běží. new Database() selže s ERR_DLOPEN_FAILED, Evolu dbWorker init nikdy nedoběhne a všechny loadQuery volání visí navždy. Mutace (insert/update) reportují success, ale ve skutečnosti se nezapíšou.
Symptom v praxi: td_sync_status hlásí ok, errorCount: 0, ale td_get_task, td_list_* apod. timeoutují.
Fix — přebuildit native binding proti aktuálnímu Node:
cd ~/.todocko-mcp # případně cesta, kde máš nainstalované todocko-mcp
cd node_modules/better-sqlite3
npx node-gyp rebuild --releasePak /mcp reconnect v Claude Code.
Mismatch je typický, pokud upgradneš Node.js (např. z v22 na v25) nebo přepneš mezi nvm a linuxbrew/brew Node. Při instalaci installer použije node z PATH — pokud claude později spouští MCP přes jiný node binary, binding nesedí.
Vývoj
# Instalace závislostí
npm install
# Build
npm run build
# Watch mode pro vývoj
npm run dev
# Ruční spuštění
TODOCKO_MNEMONIC="vaše fráze" npm startEnglish
MCP (Model Context Protocol) server for working with Todocko app data from AI assistants.
Support
Claude Desktop - full support
Claude Code (CLI) - full support (same configuration)
Requirements
Node.js 24.20+ — required by Evolu v8's
engines, and not merely formally: v8 relies onnavigator.locks,MessageChannel,BroadcastChannelandWebSocket, which Node only has natively from 24 onTodocko account with data synchronized via Evolu
Installation
1. Download
Using git:
git clone https://github.com/brnt-cz/todocko-mcp.git
cd todocko-mcpOr download ZIP from Releases and extract.
2. Run the installer
Linux/macOS:
chmod +x install.sh
./install.shWindows (PowerShell):
.\install.ps1The installer will:
Install dependencies and build the project
Ask whether to configure Claude Desktop, Claude Code, or both
Create a configuration file with a placeholder
Manually add your 24-word backup phrase to the configuration file
Restart Claude
Manual installation
Install dependencies:
npm install npm run buildAdd to configuration:
Claude Desktop (~/.config/Claude/claude_desktop_config.json on Linux or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"todocko": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"TODOCKO_MNEMONIC": "your 24 word backup phrase"
}
}
}
}Claude Code (CLI) - add to ~/.claude/settings.json:
{
"mcpServers": {
"todocko": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"TODOCKO_MNEMONIC": "your 24 word backup phrase"
}
}
}
}Restart Claude Desktop / Claude Code
Available Tools (143)
Projects
Tool | Description |
| List all projects |
| Get project details by ID or code |
| Create a new project |
| Update a project (name, code, color, isArchived, autoApproveMembers, isHiddenFromFilters) |
| Delete a project (soft delete) |
Tasks
Tool | Description |
| List tasks with filters (project, status, priority, assignee) |
| Get task details by ID or code (e.g., |
| Create a new task (with recurrence, sprint, parentTaskId support) |
| Update an existing task (with recurrence, sprint, parentTaskId support) |
| Search tasks by text |
| Bulk update multiple tasks |
| Bulk delete multiple tasks |
Users
Tool | Description |
| List all users |
| Get user details |
| Create a new user |
| Update a user |
| Delete a user (soft delete) |
Worklogs
Tool | Description |
| List worklogs for a task |
| Add a worklog to a task |
| Update a worklog |
| Delete a worklog (soft delete) |
Attachments
Tool | Description |
| Upload an attachment to a task (from file or base64) |
| List attachments for a task |
| Download an attachment |
| Delete an attachment |
| Upload an attachment to a local project note |
| List attachments of a local note |
| Download a note attachment |
| Delete a note attachment |
Comments
Tool | Description |
| List comments for a task |
| Add a comment to a task |
| Update a comment |
| Delete a comment (soft delete) |
Checklist
Tool | Description |
| List checklist items for a task |
| Add a checklist item |
| Update a checklist item (check, reposition) |
| Delete a checklist item (soft delete) |
Mentions
Tool | Description |
| List mentions for a user |
| Create a mention |
| Mark a mention as read |
| Mark all mentions as read |
| Delete a mention (soft delete) |
Task Links
Tool | Description |
| List links for a task |
| Create a link between tasks |
| Delete a task link (soft delete) |
Tags
Tool | Description |
| List tags; returns |
| Create a tag — pass |
| Rename, recolour, assign to a project, or mark default |
| Delete a tag (soft delete) |
| List tags assigned to a task |
| Assign a tag to a task |
| Remove a tag from a task |
Shared projects (TODO-235):
Tool | Description |
| Tags in a shared project |
| Create a tag in a shared project |
| Rename / recolour |
| Delete (soft delete) |
| Assign to a task in a shared project |
| Remove from a task |
A tag without a project is never offered by the app. Since TODO-227 tags belong to a project;
td_create_tagwithoutprojectIdmakes an unassigned tag, which shows up only under "Nezařazené" in project settings with a button to adopt it. The tool response says so. Fix it afterwards withtd_update_tagand aprojectId.Free-tier limits (TODO-243). Tier caps belong to the app, not here.
td_create_taskandtd_create_projectappend a warning with the real count when the owner is on the free tier and above its cap (1 project, 50 active tasks), so that it is learned at creation time rather than later in the app, and so that the text makes clear nothing was lost. Nothing is blocked, and with an unknown tier (unreachable relay) it stays silent — a false alarm is worse than none.
Default tags (TODO-239).
isDefaultontd_create_tag/td_update_tag(and the shared variants) means every task newly created in the project gets the tag. Bothtd_create_taskandtd_create_shared_taskapply them and report them back inappliedTags— the app pre-ticks them in its form, so without this the result would depend on where the task was created. Existing tasks are untouched.Shared projects write to a different Evolu instance, hence the separate set —
td_add_tag_to_taskdoes not work on a shared task.
Task Templates
Tool | Description |
| List task templates |
| Create a task template |
| Update a task template |
| Delete a task template (soft delete) |
Kanban Columns
Tool | Description |
| List kanban columns |
| Create a kanban column |
| Update a kanban column |
| Delete a kanban column (soft delete) |
Saved Views
Tool | Description |
| List saved views |
| Create a saved view |
| Update a saved view |
| Delete a saved view (soft delete) |
Activity Log
Tool | Description |
| List activity log entries with filters (task, actor, action, entityType, date from/to) — read-only |
Project Notes
Tool | Description |
| List local project notes |
| Create a local project note |
| Update a local project note |
| Delete a local project note (soft delete) |
Deployment Stages
Tool | Description |
| List deployment stages for a project |
Repository Links
Tool | Description |
| List repository links |
| Create a repository link |
| Delete a repository link |
Shared Projects
Tool | Description |
| List shared projects |
| List tasks from a shared project |
| Update a task in a shared project |
| List deployment stages for a shared project |
| Create a deployment stage in a shared project |
| List repository links for a shared project |
| Create a repository link in a shared project |
| List notes for a shared project |
| Create a note in a shared project |
| Update a note in a shared project |
| Delete a note in a shared project |
| List members of a shared project (name, permission, kicked/blocked state) |
| Change permission / block / kick a shared project member |
| Upload an attachment to a shared project note |
| List attachments of a shared project note |
| Download a shared note attachment |
| Delete a shared note attachment |
Analytics & Reports
Tool | Description |
| Overview: tasks today, overdue, this week's worklog, upcoming deadlines |
| Team workload: logged vs estimate vs capacity per user for a period |
| List recurring tasks with recurrence configuration |
| Overdue tasks (sorted oldest first) |
Before v1.6.0 these three tools always returned nothing.
td_list_recurring_tasks,td_list_overdue_tasksandtd_list_tasks_by_date_rangereadresult.rows, whileevolu.loadQueryresolves to the array itself — socount: 0for every input, with no error to notice. Fixed in TODO-242 behind a sharedqueryRows.td_get_tasknow returns the recurrence settings too, so a schedule can be read the obvious way. |td_list_tasks_by_date_range| Tasks filtered by scheduledDate or deadline within a date range | |td_analyze_dependencies| Dependency analysis: blocked tasks, blocking chains, critical path |
Diagnostics
Tool | Description |
| Sync status |
| Force a sync round-trip with the relay (useful when you want to make sure you're reading the latest data from another device) |
Usage Examples
List projects
Show me all projects in TodockoList tasks
What tasks do I have with status "todo"?
Show tasks for project TODOTask details
What are the details of task TODO-15?Create task
Create a new task in project PROJ with title "Fix login bug" and priority high
Create a task with deadline 2026-03-15 and scheduledDate 2026-03-10Update task
Mark task PROJ-5 as completed
Assign task TODO-10 to user with ID xyz
Set scheduledDate of task TODO-10 to tomorrowLog time
Log 2 hours of work on task TODO-15 with description "Feature implementation"Working with attachments
Upload file /home/user/report.pdf as attachment to task TODO-15
What attachments does task TODO-15 have?
Delete attachment with ID xyzShared projects
Show shared projects
What tasks are in the shared project?
Mark task as deployed to productionDeployment stages
What deployment stages does the project have?
Create a new deployment stage "Staging" for the shared projectSub-tasks
Create a sub-task for task TODO-15 in project TODO
Detach task TODO-20 from its parent (parentTaskId: null)Analytics & Reports
What's my dashboard summary for today?
How is the team's workload this week?
What tasks are overdue?
Show tasks scheduled for next week
Analyze dependencies in project TODO
What recurring tasks do I have?Security
Important: Your backup phrase (mnemonic) is sensitive data!
Never share it directly in conversation with AI
In the MCP server configuration, the phrase is safe (AI has no access to it)
Anyone with your phrase has full access to your data
Data Location
Databases are stored in the ~/.todocko/ directory:
Platform | Path |
Linux |
|
macOS |
|
Windows |
|
Files:
todocko.db- your personal data (tasks, projects)todocko-shared.db- shared projects
Configuration Changes
Claude Code (CLI)
After changing configuration in ~/.claude/settings.json (e.g., changing mnemonic), run the command:
/mcpThis will restart the MCP server with the new configuration.
Switching to a Different Account
When changing the mnemonic to a different Todocko account, you need to delete the local database:
# Linux/macOS
rm ~/.todocko/todocko.db
# Windows
del %USERPROFILE%\.todocko\todocko.dbThe database contains the owner ID from the previous mnemonic. After deletion, a new database will be created on the next startup and data from the new account will be downloaded.
Troubleshooting
Server won't start
Check that you have Node.js 24.20 or newer (Evolu v8 requires it)
Check that you ran
npm run buildCheck logs in Claude Desktop
Data not syncing
Verify the backup phrase is correct (24 words)
Check internet connection
Wait a few seconds for synchronization
Try deleting
~/.todocko/todocko.dband restart
Tools not visible
Restart Claude Desktop
In Claude Code, use
/mcpfor reloadCheck the configuration file
Check the path to dist/index.js
Every loadQuery ends with a timeout (loadQuery timed out after 15000ms)
Cause: the better-sqlite3 native binding was compiled against a different Node.js ABI than the one running the MCP server. new Database() fails with ERR_DLOPEN_FAILED, the Evolu dbWorker init never completes, and every loadQuery hangs forever. Mutations (insert/update) report success but are silently lost.
Typical symptoms: td_sync_status reports ok with errorCount: 0, but td_get_task, td_list_*, etc. all time out.
Fix — rebuild the native binding against the current Node:
cd ~/.todocko-mcp # or wherever todocko-mcp is installed
cd node_modules/better-sqlite3
npx node-gyp rebuild --releaseThen /mcp reconnect in Claude Code.
This mismatch typically appears after upgrading Node.js (e.g. v22 → v25) or switching between nvm and linuxbrew/brew Node, because the installer builds the binding against the node from PATH, but claude may later spawn the MCP with a different node binary.
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode for development
npm run dev
# Tests
npm test
# Manual run
TODOCKO_MNEMONIC="your phrase" npm startTesty
Vitest, 24 testů ve dvou souborech. Běží v CI (ci.yml, push i PR na main)
od TODO-229 — do té doby CI spouštěla jen build, takže se nikdo nedozvěděl, že
helpers.test.ts na Node 18/20 ani neprojde importem: přes helpers.ts
tahal ../evolu.js, jehož inicializace při načtení modulu spadne na
crypto.getRandomValues must be defined.
Proto jsou funkce bez závislosti na Evolu v src/tools/pure.ts a testují se
odtud. helpers.ts je re-exportuje, takže volající se nemění. Když píšeš helper,
který Evolu nepotřebuje, patří do pure.ts — jinak ho nejde testovat bez
nastartované databáze.
Závazná verze je Node 24.20 nebo novější — je v engines a Evolu v8 na
starším neběží. Na té jede ci.yml i release.yml.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
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
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
130Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Todoist tasks, projects, labels, sections, and comments through natural conversation. Supports comprehensive task operations including creation, updates, completion, and organization with natural language quick-add functionality.-
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with Todoist tasks and projects through natural language. Supports comprehensive task management including creating, updating, completing tasks, managing projects, and filtering by various criteria.11GPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Todoist tasks, projects, sections, and labels through natural language, supporting task creation, updates, completion, and intelligent organization of your workflow.13MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI assistants with a standardized interface to interact with the Todo for AI task management system. It enables users to retrieve project tasks, create new entries, and submit completion feedback through natural language.65Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/brnt-cz/todocko-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server