Vikunja — task tracker który gada z agentami
Trello było wygodne, ale dane na cudzym serwerze. Vikunja to lokalna alternatywa, do tego z MCP. Pokazuję jak ją podpiąłem do Claude Code i co realnie się zmieniło w workflow.

Przez rok byłem na Trello. Działało. Ale każdy task, każdy komentarz, każdy załącznik leciał na cudzy serwer. Spróbowałem Notion, to samo. Wreszcie postawiłem Vikunję u siebie i podpiąłem MCP. Pokazuję dlaczego nie wracam.
Co to Vikunja
Open source, self-hosted, napisany w Go. Kolumny, tagi, deadline'y, przypomnienia. Ma API REST, SDK, dwustronnie integrowalna ze sobą.
Stack u mnie:
- Vikunja backend w Dockerze (port wewnętrzny 3456)
- PostgreSQL jako baza
- Caddy z TLS przez Cloudflare cert
- Token API ograniczony tylko do mojego konta agenta
MCP server
To clue. Plugin vikunja-mcp daje agentowi dostęp do:
vikunja_create_task(z labels, dueDate, parent)vikunja_list_tasks(po projekcie, statusie, label)vikunja_update_task(przeniesienie, deadline, status)vikunja_delete_task(z guard hookiem!)
Konfiguracja:
{
"mcpServers": {
"vikunja": {
"command": "vikunja-mcp",
"env": {
"VIKUNJA_URL": "http://localhost:3456",
"VIKUNJA_TOKEN": "claude-mcp-..."
}
}
}
}Workflow #1: rozbicie briefu na taski
Najczęstsze użycie. Wklejam brief od klienta lub własną notatkę:
> Rozbij ten brief na taski w projekcie "kamilkaletka.dev/blog".
Użyj label-i tematycznych. Ustaw deadline na -2 dni przed datą publikacji.Agent woła vikunja_list_projects, znajduje "kamilkaletka.dev/blog", potem 6× vikunja_create_task z odpowiednimi labelami i deadline'ami. 30 sekund vs 5 minut ręcznie.
Workflow #2: morning standup z agentem
> Co mam zaplanowane na dzisiaj? Pokaż taski z deadline na dziś + przeterminowane.Agent woła vikunja_list_tasks z filtrem due_lte=today i status=open, formatuje wyniki w czytelnej liście. Mam ~10 sekund pełny widok.
Workflow #3: zamykanie tasków konwersacyjnie
> Zacznij task "Napisać post o MCP". Skończyłem post o Vikunji, zamknij.Agent zarządza statusami z poziomu rozmowy. Nie wchodzę do UI cały tydzień.
Co dało lokalność
Trzy rzeczy których w cloudzie nie miałem:
1. Pełna kontrola ACL. API token agenta widzi tylko jeden projekt (workspace dla agenta). Resztę ma tylko mój główny user. Nawet jeśli agent zwariuje, scope jest mały.
2. Backup zintegrowany. Vikunja DB leci do tego samego pg_dump co reszta moich serwisów. Jak coś, mam point-in-time recovery.
3. Brak rate limitów. Agent tworzy 50 tasków w 3 sekundy. Trello by mnie ograniczyło, Vikunja na localhoście, nie ma problemu.
Konfiguracja minimalna
Jeśli chcesz powtórzyć:
# docker-compose.yml
services:
vikunja:
image: vikunja/vikunja:latest
environment:
VIKUNJA_DATABASE_TYPE: postgres
VIKUNJA_DATABASE_HOST: postgres
VIKUNJA_DATABASE_USER: vikunja
VIKUNJA_DATABASE_PASSWORD: ...
ports:
- "127.0.0.1:3456:3456"
depends_on:
- postgres
postgres:
image: postgres:15
environment:
POSTGRES_USER: vikunja
POSTGRES_PASSWORD: ...
volumes:
- vikunja-pg:/var/lib/postgresql/data
volumes:
vikunja-pg:docker compose up -d, otwórz http://localhost:3456, utwórz konto, wygeneruj token, podepnij MCP. Razem ~10 minut setup'u.
Co NIE działa idealnie
1. Mobile app jest słaby. Browser na telefonie OK, dedykowany klient, średnio. Dla mobile używam Telegrama do agenta, który aktualizuje za mnie.
2. Brak dependencies między taskami w UI. Niby są jako relacje, ale wizualizacja słaba. Dla naprawdę złożonych projektów wracam do Linear.
3. Filtrowanie po wielu labelach robi confused. Agent radzi sobie lepiej niż UI z compound queries.
Vikunja to "Trello które żyje u mnie i gada z agentem". Jak masz dane którymi nie chcesz dzielić się z trzecimi stronami, a workflow oparty na agencie, to najlepszy układ jaki znalazłem.