download_for_offlineJedna statická binárka — do libovolného git projektu na GitHubu, Bitbucket Cloudu nebo GitLabu

Instalace AI vývojáře mcptask_runner

Vyberte si operační systém, framework a kódovací CLI — každý příkaz na této stránce se přepíše na ten, který skutečně napíšete.

verified30 dní zdarma. Bez kreditní karty. Kdykoli zrušíte.

forward_to_inbox

Nejste vývojář? Přepošlete stránku svému týmu

Instalaci provede ten, kdo se u vás stará o projekt a vývojové stroje. Přepošlete mu tuto stránku; pro vás je určen byznysový pohled bez kódu.

payments

Co budete platit

Dvě předplatná, nic dalšího.

mcptask.online

Starter $19 měsíčně za dva uživatele, Professional $14 za uživatele měsíčně. Člověk i runner jsou uživatelé za stejnou cenu: každý runner zabírá vlastní místo, takže vy a jeden runner jste dvě místa.

Programovací CLI

Předplatné platíte přímo jeho poskytovateli – u Claude Code aspoň Pro. Běh bez dozoru spotřebuje víc než ruční práce.

30 dní zdarma, bez platební karty.

Celý ceník

Vyberte svůj systém, svůj framework/platformu a své kódovací CLI

Všechno níž je pak psané přesně pro tuhle kombinaci — žádné větvení, které byste museli řešit v hlavě.

Operační systém

Co potřebujete před začátkem

Tři věci — a téměř jistě je už máte. Karty i kontroly níže se řídí kódovacím CLI, které jste vybrali nahoře; kontroly navíc jmenují všechny tři hostitele, na kterých runner otevírá pull requesty: GitHub, Bitbucket Cloud a GitLab.

description

Projekt

Váš projekt musí být git repozitář s originem na GitHubu, Bitbucket Cloudu nebo GitLabu — a musí z něj jít commitovat a otevírat pull requesty ze stroje, kde runner běží. To znamená funkční přístup: ssh klíč, který smí pushovat, právo zápisu do repozitáře a přihlašovací údaj hostitele pro samotný pull request — kontrola PR hostitele níže ukáže, jaký potřebuje ten váš. Runner pracuje pod vaší identitou — co nepushnete vy, nepushne ani on.

terminal

Codex CLI

Rozjeďte si Codex CLI tak, jako byste ho chtěli používat sami: nainstalované, přihlášené a s tarifem, který unese celý pracovní den; běh bez dozoru spotřebuje víc než ruční práce. V repozitáři nechte CLAUDE.md — runner si z něj bere kontext o projektu a init k němu přidá odkaz v AGENTS.md, aby ho četlo i Codex CLI. Kontrola přihlášení je níže.

vpn_key

Účet na mcptask.online

Účet na mcptask.online alespoň s jedním projektem a osobní API token z uživatelského menu. Token autentizuje runner jako vás, aby mohl číst vaše úkoly, zapisovat postup a přidávat zprávy vaším jménem. Bez tokenu není runner — instalační krok se na něj ptá, protože ho instalátor potřebuje pro zapojení vašeho .mcp.json.

Teď si to ověřte, ne předpokládejte

Karty nahoře vysvětlují; tenhle blok kontroluje. Každý příkaz spusťte a porovnejte, co vypíše, s očekávanou odpovědí — pokud se liší, napravte to dřív, než se pustíte do instalátoru.

account_tree

git a origin na GitHubu, Bitbucket Cloudu nebo GitLabu

Runner otevírá pull requesty, takže váš projekt musí být git repozitář, jehož origin míří na GitHub, Bitbucket Cloud nebo GitLab — u GitLabu to platí pro gitlab.com i pro vlastní instance. Jediný hostitel, kterého runner výslovně odmítá, je GitHub Enterprise: pozná ho podle přesného názvu hostitele a odmítne ho se srozumitelnou zprávou, nikdy ho potichu nepovažuje za github.com.

codePříkaz v shellu
git remote get-url origin
git@github.com:org/vas-projekt.git

git@bitbucket.org:workspace/vas-projekt.git i git@gitlab.com:skupina/vas-projekt.git jsou stejně dobré odpovědi. SSH alias, mirror nebo self-managed GitLab, který hostitele skryje, je přesně to, na co je init --git-host bitbucket nebo init --git-host gitlab.

check_circle

Žádný balíčkovací nástroj navíc Linux a Windows

Instalace na Linuxu a Windows jede rovnou z vestavěného toolchainu — tady není co navíc instalovat ani kontrolovat, pokračujte rovnou instalátorem níže.

terminal

Codex CLI — nainstalované a přihlášené

Stejné zdvořilé selhání čeká v každém kódovacím CLI: nainstalované, ale nepřihlášené vypadá zdravě, dokud nenastartuje naplánovaná úloha. Codex CLI je to, u kterého runner kontroluje za vás — jeho preflight před každým během spustí codex login status a raději běh odmítne, než aby utratil kvótu za CLI, které selže hned při prvním volání. Spusťte ten příkaz teď, ať k odmítnutí nedojde v 08:00, kdy se nikdo nedívá.

Nainstalujte

codePříkaz v shellu
npm install -g @openai/codex

Potřebuje Node.js; na macOS udělá totéž brew install --cask codex.

Přihlaste se

codePříkaz v shellu
codex login

Otevře přihlášení v prohlížeči. Dokončete ho — teprve další krok potvrdí, že k němu došlo.

Ověřte přihlášení

codePříkaz v shellu
codex login status
Logged in using ChatGPT

Přesně ten příkaz, který spouští preflight runneru. Logged in using an API key je stejně dobrá odpověď; Not logged in znamená, že máte opravit přihlášení.

merge_type

PR hostitel — přihlášený tam, kde se pull request otevírá

Na push větve stačí git. Otevření pull requestu je samostatné volání hostitele, které dělá mcptask_runner pr — jediný příkaz, kterým runner pull requesty otevírá, kontroluje a merguje — a každý hostitel chce vlastní přihlašovací údaj. Zkontrolujte ten, na který míří váš origin.

GitHub

Ověřte, že je gh přihlášené

codePříkaz v shellu
gh auth status
✓ Logged in to github.com account your-name

Na GitHubu jde mcptask_runner pr přes gh a jeho vlastní přihlášení — ssh klíč větev pushne, ale pull request neotevře. Not logged in znamená, že dalším krokem je gh auth login.

Bitbucket Cloud

Dejte údaj do prostředí ještě před init

codePříkaz v shellu
export BITBUCKET_ACCESS_TOKEN=<your-access-token>

Access token (Bearer) pro stroj. Pro člověka místo toho BITBUCKET_EMAIL a BITBUCKET_API_TOKEN (Basic) — nikdy obojí. App passwords se odmítají: Atlassian je ukončil 2026-06-09. V PowerShellu: $env:BITBUCKET_ACCESS_TOKEN = "<your-access-token>".

Co s ním init udělá

codePříkaz v shellu
ls -l ~/.mcptask_env.d/bitbucket_credentials
-rw------- 1 you staff … bitbucket_credentials

init údaj zapíše do tohoto souboru s právy 0600 — nikdy ho nepřepíše prázdnotou a nikdy ho nevypíše. Na Windows se kontrola práv přeskakuje.

GitLab

Ověřte, že je glab přihlášené

codePříkaz v shellu
glab auth status
✓ Logged in to gitlab.com as your-name

Na GitLabu jde mcptask_runner pr přes CLI glab, které si drží vlastní přihlášení — runner si žádný GitLab credential neukládá. Nepřihlášené glab znamená, že dalším krokem je glab auth login. To, co tam pr create otevře, je merge request.

Self-managed: řekněte to jednou

codePříkaz v shellu
mcptask_runner init --git-host gitlab

Self-managed instance to potřebuje, protože její origin URL není gitlab.com. Runner po vás URL instance nikdy nechce — glab už ví, kam je přihlášený.

  • settingsKódovací CLI se jmenuje jednou na stroj a projekt: mcptask_runner init --cli claude, codex nebo opencode. Výchozí není žádné — projekt, který žádné neuvedl, runner odmítne jménem, místo aby potichu předpokládal Claude Code.
  • settingslauncher.command jen přepíše argv CLI, které jste uvedli; jiné CLI jím podstrčit nejde.
Obojí je popsané na stránce Runnerarrow_forward

Pak toolchain samotného frameworku

Kontroly výše jsou pro každý projekt stejné. Tyhle stejné nejsou — nahoře si vyberte framework a na stránce zůstane jen jeho blok.

coffee

Java

JDK a build tool, který projekt nese s sebou — Gradle nebo Maven rozhoduje projekt, ne vy, a ten špatný padne na prvním spuštění.

codePříkaz v shellu
java -version
openjdk version "21.0.5" 2024-10-15

Verze se vypisuje na stderr, takže se ukáže tak jako tak — kontroluje se, že vůbec odpovědělo JDK.

codePříkaz v shellu
ls build.gradle build.gradle.kts pom.xml 2>/dev/null
build.gradle.kts

Soubor, který se vypíše, pojmenovává build tool: soubor Gradle znamená Gradle, pom.xml znamená Maven.

codePříkaz v shellu
./gradlew --version
Gradle 8.10

Použijte wrapper projektu, ne systémovou instalaci — nese ho každý Gradle projekt a fixuje verzi, se kterou se projekt builduje. Maven projekt řekne místo toho ./mvnw --version.

Nainstalujte runner a spusťte init

Dva kroky: A) runner na tenhle stroj, B) init, který v projektu založí všechno ostatní — token, MCP záznam (u Claude Code v .mcp.json), sekci v CLAUDE.md, skills i naplánovaný běh. Init se na API token zeptá; najdete ho na mcptask.online → vaše jméno (vpravo nahoře) → Zobrazit → Rozšířené informace → API Token. Ručně nepíšete nic; komu se binárka nehodí, má postup bez ní dole na stránce.

A

Nainstalujte runner

Jeden příkaz, který za vás vybralo to, co jste zvolili nahoře. Šest frameworků dostane správce balíčků svého operačního systému, Ruby on Rails místo něj wrapper gem a Node.js s Reactem k němu navíc npm.

bashinstalační skript
žádné sudo, žádný démon, žádná naplánovaná úloha — skript končí tím, že binárka je na PATH
curl -fsSL https://github.com/jchsoft/mcptask-releases/releases/latest/download/install.sh | sh
výstup:installed mcptask_runner to ~/.local/bin/mcptask_runner

Skript čte čtyři proměnné, pokud je nastavíte: MCPTASK_VERSION přišpendlí konkrétní release tag, MCPTASK_INSTALL_DIR změní cíl, MCPTASK_RELEASE_REPO ho pošle na fork a GITHUB_TOKEN zvedne anonymní rate limit. Sudo nevolá nikdy.

Ať už kanál, jaký chce: stejných šest release archivů na tag — darwin/amd64, darwin/arm64, linux/amd64, linux/arm64, windows/amd64, windows/arm64 — a stejné ověření SHA-256 proti stejnému checksums.txt předtím, než se cokoli rozbalí. Neexistuje zvláštní „windowsový řetězec důvěry“, který by byl slabší nebo silnější než ostatní.

B

Spusťte init s volbami, které chcete

Jeden příkaz nainstaluje runner do tohoto projektu. Vypsaný s volbami, ne holý — protože právě volby rozhodují, kam půjdou automaticky založené chyby, jaký režim naplánovaná úloha spouští a kdy.

bashinit, zodpovězený předem
--cli: kódovací CLI, kterým tenhle stroj projekt pohání — claude, codex nebo opencode; povinné při prvním init, výchozí žádné není
--epic-id: Epic, do kterého padají chyby, jež runner sám založí; 0 je nechá v kořeni projektu
--epic-name: zobrazovaný název zapsaný vedle toho čísla, aby config říkal, který Epic to je
--mode: jakou pracovní smyčku naplánovaná úloha spouští
--at: denní čas, kdy se spustí; hodnota, která není denní čas, se odmítne, nikdy nezaokrouhlí
--until: konec vašeho pracovního dne, zapsaný do configu, kde ho lze později upravit
mcptask_runner init --cli codex --epic-id 42001 --epic-name Auto-bugs --mode today_auto_squash --at 06:30 --until 19:00

Kteroukoli z nich vynechte a init se zeptá — je to především interaktivní instalátor. Co ale neudělá, je hádat: --cli nemá výchozí hodnotu, takže projekt, který své kódovací CLI nikdy neuvedl, se odmítne jménem, místo aby se předpokládal Claude Code; a neinteraktivní instalace (roura, provisioning skript, na druhém konci žádný terminál) bez --mode plánování úplně přeskočí, místo aby režim zvolila za vás. --at má výchozí hodnotu 08:00. --until nemá výchozí hodnotu žádnou: když ji vynecháte, konec dne prostě není a runner pracuje, dokud nevyčerpá kvótu.

Dalších sedm voleb

--git-host HOSTITEL
Pevně určí PR hostitele — github, bitbucket nebo gitlab — když se to z URL originu vyčíst nedá: SSH alias, mirror, self-managed GitLab. Bez ní se odvodí z git remote get-url origin. GitHub Enterprise se odmítne jménem.
--schedule
Přegeneruje naplánovanou úlohu a nic víc — skills, oprávnění, token a sekce v configu zůstanou přesně tak, jak jsou.
--force
Přepíše to, co na tomto stroji už je: skills, sekce configu a naplánovanou úlohu.
--helper-bin-dir CESTA
Kam se zapíšou pomocné skripty pro CI a testy. Výchozí ~/.claude/bin.
--home-dir CESTA
Přesměruje adresář s tokenem, rc soubor shellu a naplánovanou úlohu. Výchozí je vlastní domovský adresář uživatele.
--verbose
Vypisuje každý řádek streamu místo filtrovaného pohledu. Sedí na kořenovém příkazu, takže platí pro každý podpříkaz.
--ignore-quota
Přeskočí každou kontrolu kvóty. Také volba kořenového příkazu.

Tři z nich jsou to, čím je tenhle příkaz použitelný z provisioning skriptu: --force, aby opakované spuštění nebyla otázka, a --helper-bin-dir s --home-dir, aby build agent mohl psát jinam než do domovského adresáře skutečného uživatele.

Co init nechal na disku

Ne aby vás to uklidnilo — abyste to našli. Init můžete kdykoliv spustit znovu: každý krok je idempotentní a co jste upravili ručně, zůstane.

  • Skills zkopírované pro vaše CLI — dvanáct u Claude Code, devět u Codex CLI a OpenCode

    Claude Code dostane dvanáct do .claude/skills/: ci-runner, ci-start, ci-wait, wait-unlock, test-runner, test-start, test-wait, discover, memory-search, mcptask-read, mcptask-write a pr. Codex CLI dostane devět do .agents/skills/ a OpenCode devět do .claude/skills/ — stejný seznam bez discover, memory-search a mcptask-read, které forkují subagenta, jakého umí spustit jen Claude Code. Ke každé se do .mcptask_runner_manifest.json zapíše MD5 hash obsahu, aby pozdější mcptask_runner update poznal dodaný soubor od toho, který jste upravili.

  • Přibude jediný MCP záznam — nic dalšího

    Přidá se pouze server mcptask-online proti https://mcptask.online/mcp, který čte proměnnou s vaším tokenem — do .mcp.json u Claude Code, do .codex/config.toml u Codex CLI, do opencode.json u OpenCode. Všechny ostatní MCP servery v tom souboru zůstanou přesně tak, jak byly. U Claude Code je záznam "type": "http": stroj, který už na něm je, se nikdy nedegraduje zpět na SSE, a .mcp.json, který nelze naparsovat, se odmítne místo přepsání — --force ho nejdřív odsune do .mcp.json.bak.

  • Token exportován pod názvem, který deklaruje vaše MCP konfigurace

    Token se uloží pod názvem proměnné, který deklaruje MCP konfigurace vašeho projektu — ne pod natvrdo daným MCPTASK_TOKEN. Na Unixu se zapíše do ~/.mcptask_env.d/ a ~/.zshenv (v bashi ~/.bash_profile a ~/.bashrc) se naučí tento adresář sourcovat; na Windows se uloží přes setx. Stejnou cestou jde údaj pro Bitbucket, do ~/.mcptask_env.d/bitbucket_credentials s právy 0600 — nikdy se nepřepíše prázdnotou, nikdy se nevypíše; na Windows se tahle kontrola práv přeskakuje. Na token, který se už podaří vyhodnotit, se instalátor podruhé neptá.

  • Oprávnění nastavená pro vaše CLI, jen přidáváním

    U Claude Code se baseline oprávnění slučují do .claude/settings.local.json striktně aditivně: allow a deny se sjednotí s tím, co už tam je, enableAllProjectMcpServers se jen zapíná, a všechny ostatní klíče v souboru zůstanou nedotčené. Nic, co jste ručně povolili nebo zakázali, se neztratí. Tahle oprávnění Claude Code platí jen pro Claude Code: Codex CLI se řídí souborem .codex/config.toml, který init zapsal, a OpenCode souborem opencode.json s mapou oprávnění, kterou runner vloží, protože OpenCode nemá přepínač jen pro čtení.

  • Vygenerován plánovaný běh, zapsány helpery a konfigurace

    Plán se vygeneruje pro OS, na kterém jste — launchd LaunchAgent, systemd user timer, nebo Task Scheduler XML — aby spouštěl ~/.mcptask/bin/mcptask_runner ve všední dny v čase, který jste zvolili; příkaz k jeho aktivaci se vytiskne, abyste ho spustili. Vedle toho se do ~/.claude/bin uloží devět helper skriptů (ci_start, ci_wait, _ci_filter_tail, test_start, test_lock, check_test_lock, run_with_log, kill_tree a runner-log, kterým se čte log běžícího runneru) a do config/mcptask_runner.yml se zapíše cíl pro bugy a strategie čekání.

Naplánovaná úloha se vygeneruje, ale neaktivuje. Init zapíše LaunchAgent, systemd user timer nebo XML pro Task Scheduler, vypíše ten jeden příkaz, který ji zapne — a tím skončí. Nic neutratí ani kousek kvóty, dokud ten příkaz nespustí člověk, o dvě obrazovky níž.

Nejdřív se podívejte, nic se nezmění

once_dry je jediný režim, který úplně přeskočí triage: ukáže další úkol a skončí. Žádná větev, žádný commit, žádná kvóta — odpovídá na jedinou otázku, kterou teď máte: je token správně a vidí runner váš projekt?

bashúkol čeká
mcptask_runner run once_dry
výstup:TASKRUNNER_TASK_INFO:
výstup:ID: 11581
výstup:TITLE: Fix invoice numbering after the year end
výstup:DESCRIPTION: Numbering restarted at 1 instead of continuing the 2026 sequence…
výstup:END_TASK_INFO
a to je všechno — tady skončí
bashnic nečeká — taky dobré
mcptask_runner run once_dry
výstup:TASKRUNNER_RESULT: {"status": "no_more_tasks"}

Prázdná fronta je naprosto dobrý výsledek. Testujete spojení, nehledáte práci — něco přiřadíte později, až to bude mít smysl.

Pak jeden úkol, vybraný vámi

Pořád bez rizika. --task-id osloví jednu konkrétní položku přímo, místo aby procházel frontu — takže nezáleží na tom, komu je úkol přiřazený. Namiřte runner na libovolný úkol; v praxi si udělejte zkušební a sledujte, co se stane.

bashmanuální běh
mcptask_runner run task_manual --task-id 11581
výstup:[WorkLoop] Starting task #11581 — Fix invoice numbering after the year end
výstup:[WorkLoop] PR #482 opened for review: feature/11581-invoice-numbering
výstup:TASKRUNNER_RESULT: {"status": "success", "pr_number": 482, "branch_name": "feature/11581-invoice-numbering"}

--task-id je povinné pro task_manual a task_auto_squash — bez něj se režim odmítne.

Na příkazové řádce fungují i task, story a queue: jsou to aliasy pro task_manual, story_manual a queue_manual, takže nikdo nemusí hádat, která podoba je správná.

Jak vypadá „hotovo“: větev, commity a pull request nechaný otevřený k revizi — otevřený přes mcptask_runner pr u toho hostitele, na kterého míří origin — GitHubu, Bitbucket Cloudu nebo GitLabu. task_manual je manuální režim — nic se nemerguje; mergují až varianty auto-squash, po zeleném CI. Úplná tabulka režimů je na stránce Runner: Loop + goal

Toto je první příkaz na stránce, který utrácí skutečnou kvótu. Když už je denní kvóta vyčerpaná, --ignore-quota kontrolu přeskočí — přijetí znamená, že runner pracuje za hranicí, vědomě a na váš pokyn.

Nyní doopravdy: úloha na rozvrhu

Povolte naplánovanou úlohu, jednou ji spusťte ručně a sledujte log. Toto je první obrazovka, na které runner běží bez vás.

<slug> je basename adresáře projektu s podtržítky nahrazenými pomlčkami — objevuje se v labelu plistu, v názvech systemd jednotek, v názvu Windows úlohy, ve wrapper skriptu i v názvu logu, takže zástupný text čtete všude stejně.

Příklad, protože samotný zástupný text se snadno přečte špatně: projekt leží v ~/Projects/my_shop, basename je tedy my_shop, podtržítko se změní na pomlčku a slug je my-shop. Každý řádek na této obrazovce čtěte s my-shop všude, kde stojí <slug>:

bashpříklad — projekt ~/Projects/my_shop, slug my-shop
příklad, ne vaše příkazy — váš slug vznikne z názvu vašeho adresáře:
systemctl --user enable --now mcptask-runner-my-shop.timer
~/.claude/bin/mcptask-runner-my-shop
a log je ~/logs/mcptask_runner/my-shop.log

Tento příklad je jen informativní — ručně nic skládat nemusíte. mcptask_runner init na konci vypíše hotové příkazy pro váš projekt, slug už doplněný a barevně zvýrazněný, připravené ke zkopírování. Obrazovky tady jsou proto, abyste poznali, co vám init vypsal, a věděli, jak úlohu zase vypnout.

bashpovolit naplánovanou úlohu
Linux — jeden řádek pro reload, enable a start timeru:
systemctl --user daemon-reload && systemctl --user enable --now mcptask-runner-<slug>.timer
a odpovídající zastavení:
systemctl --user disable --now mcptask-runner-<slug>.timer
bashspustit hned, nečekat na zítřek
RunAtLoad=false a Persistent=false jsou záměrné — povolením úlohy se nic nespustí. Zavolejte launcher wrapper přímo (stejný skript, stejný log, stejné řešení tokenu):
~/.claude/bin/mcptask-runner-<slug>
bashsledujte log přes runner-log
runner-log sleduje nejnovější běh a automaticky přepne, když runner otevře nový soubor — obyčejný tail -F při přepnutí ztichne a vypadá jako zásek:
runner-log
vypsat všechny projekty a jejich nejnovější log:
runner-log --list
sledovat jeden projekt:
runner-log <projekt>
vypsat posledních 200 řádků místo sledování:
runner-log <projekt> -n 200
~/.claude/bin defaultně není v PATH — volejte absolutní cestou (~/.../runner-log) nebo adresář přidejte do PATH. Log leží v ~/logs/mcptask_runner/<slug>.log na všech OS; MCPTASK_RUNNER_LOG_DIR ho přesouvá.

Naplánovaná úloha nikdy nenačítá váš shell profil. Token se čte z proměnné, kterou deklaruje .mcp.json (výchozí MCPTASK_TOKEN), a v době instalace se vloží přímo do úlohy. Když se nic nevyhodnotí, zapíše se doslova řetězec SET_MCPTASK_TOKEN_HERE a runner odmítne nastartovat, místo aby běžel jako nobody.

webWeb UI

Webové rozhraní, od zítřka dál

Než runner začne sám vybírat práci, musí se v prohlížeči stát dvě věci: zapnout zobrazení runneru a přiřadit tickety uživateli, jehož API token je v .mcp.json. První zpřístupní grid, druhé naplní frontu.

Dosud jste runner zkoušeli z terminálu: volný pohled, jeden úkol podle id a pak běh bez dozoru. Webové rozhraní k tomu potřeba nebylo a nic se nemuselo přiřazovat, protože --task-id oslovuje úkol přímo. Tady přecházíte od „chci vidět, co to dělá“ k „takto to budu používat“.

dashboard_customize

Zapněte zobrazení runneru

Mřížka runnerů se na domovské stránce zapíná zvlášť pro každého uživatele. Bez něj se sekce na domovské stránce prostě nezobrazí a runner vypadá, jako by tam nebyl, i když je připojený a čeká.

1

Otevřete Uživatelé, pak Upravit u uživatele, pod kterým se runner autentizuje.

2

Na kartě Elementy na úvodní stránce zaškrtněte v sekci Zobrazit volbu „Aktivita runnerů“.

3

Uložte. Runner grid se na domovské stránce daného uživatele objeví — prázdný, dokud se něco nepřipojí.

Grid je prázdný záměrně. Uvnitř se nic nevykreslí, dokud se runner skutečně nepřipojí; „žádná karta“ na čerstvé instalaci je očekávaný stav, ne porucha.

person

Přiřaďte práci uživateli, pod kterým se runner autentizuje

Fronta nabízí výhradně přiřazenou práci. Nepřiřazený ticket je pro @next neviditelný — ne méně prioritní, neviditelný. Od této chvíle runner vybírá práci sám a může vybrat jen to, co mu bylo předáno, takže assignee ticketu musí být uživatel, jehož API token je v .mcp.json.

warning

Řeč je o uživateli, jehož token je v .mcp.json — ne nutně o čtenáři, a na sdíleném stroji to bývá často někdo jiný. Když přiřadíte práci sobě, ale runner drží token kolegy, výsledkem je runner, který sedí a nemá co dělat.

visibility_off

Jen přiřazené, ne méně prioritní

Neexistuje „nízká priorita pro nepřiřazené“. Fronta je plochý seznam ticketů přiřazených runnerovu uživateli; zbytek se v ní vůbec neobjeví. Dodatečné přiřazení je oprava, ne změna priority.

report

Tři věci, které runner nevezme

Každá z nich při prvním kontaktu vypadá jako rozbitá instalace, protože ticket existuje, je otevřený a nic se neděje. Společné vlákno: runner ticket pozná, ale považuje ho za nedozrálý. Fronta dělá, co jí bylo řečeno.

block
Typ ticketu: idea

Ideas runner nikdy nenabídne. Fronta runneru jsou pouze tasky, stories a recurenty — idea se musí nejdřív povýšit na task, aby ji runner mohl vzít.

block
Story bez subtasků

Story, která nemá žádné tasky pod sebou, runner nikdy nenabídne. Otevřete story, přidejte aspoň jeden task a runner ji uvidí. Story s jedním subtaskem je story s jedním ticketem; to je nejmenší jednotka, kterou fronta odešle.

block
Přiřazení Story

Když runnerovu uživateli přiřadíte story, fronta se uzavře: její subtasky opustí obecnou frontu a runner jde touto story. Účelné (jedna story, jeden PR, jeden squash), překvapivé, pokud jste čekali, že se to bude chovat jako task. Když chcete, aby fronta tekla dál, přiřazujte task, ne story.

tips_and_updates

Nakrmte ho něčím, co stojí za to dělat

Runner je jen tak dobrý, jako ticket, který dostane. První běh bez dozoru nad vágními tickety — otevřená kritéria přijetí, nedefinované „hotovo“, úkol, jehož název tvoří celá funkce — naučí špatnou lekci o produktu, protože runner udělal přesně to, co ticket říkal, a co říkal, nebylo nic užitečného. Napište další task tak, jako byste první den instruovali nováčka.

visibilityOdměna

Sledujte runner při práci: živá karta

Jediná obrazovka na této stránce, která je obrázek — protože smysl má jen karta v pohybu. Všechno výše jste psali vy; tohle je runner, který odpovídá.

Mřížka runnerů na domovské stránce mcptask.online se živou kartou runneru uprostřed úkolu
Tohle je mřížka runnerů na domovské stránce. Karta je jedno živé WebSocket spojení nesoucí celé snapshoty — stav runneru, úkol, na kterém právě pracuje, a uběhlý čas — obnovované zhruba dvakrát za sekundu, dokud runner běží.
schedule

Co očekávat v čase

Mezera mezi spuštěním runneru a zobrazením karty je přesně tam, kde většina lidí usoudí, že je něco rozbité. Není — karta má vlastní životní cyklus a vypadá takto:

check_circle

Karta se objeví během pár sekund po startu runneru. Když je zobrazení runnerů zapnuté a mřížka viditelná, nic víc není potřeba.

check_circle

Podle průběhu běhu prochází stavy starting → triage → processing — stavový automat otevřeně, ne schovaný za spinnerem.

check_circle

Když smyčka skončí, dokončená karta ještě 60 sekund zůstane a pak zmizí. Karta, která mizí, je runner, který doběhl — ne rozbitá mřížka.

check_circle

Runner spuštěný bez tokenu to řekne — jednou, nahlas, při startu. Neselže potichu tím, že na mřížce prostě chybí.

grid_off

Prázdná mřížka znamená jednu ze dvou věcí

Buď runner ještě neběží — zkontrolujte obrazovku s plánovačem výše — nebo nastartoval, ale nemohl se připojit, což by při startu řekl. Rozhodně to neznamená, že instalace selhala: dokončená instalace má mřížku na domovské stránce, ať už právě něco běží, nebo ne.

Zapojte to ručně — bez binárky

Libovolný MCP-kompatibilní AI klient umí mluvit s mcptask.online přímo. Čtyři kroky, všechny jen konfigurace: získat token, deklarovat server, nasměrovat agenta na projekt, ověřit.

1

Získejte svůj API token

Přihlaste se na mcptask.online, otevřete vaše jméno (vpravo nahoře) → Zobrazit → Rozšířené informace → API Token. Zkopírujte řetězec přesně tak, jak je zobrazen — je to neprůhledné tajemství bez pevného prefixu i délky, takže ho nikdy nepřepisujte z hlavy. Zacházejte s ním jako s heslem: kdokoli ho má, jedná za vás na mcptask.online.

Kde ho najdete
codeKde ho najdete
mcptask.online → vaše jméno (vpravo nahoře) → Zobrazit → Rozšířené informace → API Token
Příkaz v shellu
codeshell
export MCPTASK_TOKEN='<sem vložte svůj API token>'

infoNázev proměnné je na vás — nic na naší straně ho nefixuje. Podstatné je, aby název, který zde exportujete, byl přesně ten, který váš .mcp.json dosazuje v kroku 2. Když se ty dva rozejdou — exportujete MCPTASK_KAMR_TOKEN, ale konfigurace stále čte ${MCPTASK_TOKEN} — klient dosadí to, co náhodou obsahuje ta druhá proměnná, nebo prázdný řetězec. V prvním případě se agent přihlásí jako jiný uživatel a práce skončí na cizím dashboardu; ve druhém je prostě odmítnut.

Co se právě stalo

Přidejte řádek s exportem do svého shell profilu, aby token viděl každý MCP klient, kterého spustíte — a zapište ho do souboru, který čte i login shell. Token jen v ~/.zshrc nebo ~/.bashrc tam je, když otevřete terminál, a chybí, když stejnou práci spustí launchd nebo systemd user timer; soubor, který přežije obojí, je ~/.zprofile (na Linuxu ~/.bash_profile nebo ~/.profile). Na Windows platí $env:MCPTASK_TOKEN jen po dobu otevřeného okna — do uživatelského prostředí, ze kterého čte Plánovač úloh, ho zapíše až setx, nebo SetEnvironmentVariable se scope User.

2

Deklarujte server mcptask-online ve své MCP konfiguraci

Otevřete MCP konfigurační soubor vašeho klienta — .mcp.json v kořeni projektu pro Claude Code, nebo developer nastavení Claude Desktopu — a přidejte záznam níže. Hlavička Authorization dosazuje přesně tu proměnnou, kterou jste exportovali v kroku 1, takže je přejmenujte obě, nebo ani jednu.

.mcp.json
code.mcp.json
{
  "mcpServers": {
    "mcptask-online": {
      "type": "http",
      "url": "https://mcptask.online/mcp",
      "headers": {
        "Authorization": "Bearer ${MCPTASK_TOKEN}"
      }
    }
  }
}

infoNové konfigurace pište jako "type": "http" proti https://mcptask.online/mcp. Starší konfigurace používají "type": "sse" proti https://mcptask.online/mcp/sse — server tento zápis stále přijímá, takže existující SSE záznam dál funguje, ale je to zastaralá forma. Pro Claude Desktop vložte stejný záznam do jeho vlastního MCP konfiguračního souboru claude_desktop_config.json — otevřete ho z nastavení Claude Desktopu, ne z cesty, kterou bychom sem vypsali, protože umístění souboru i pojmenování té obrazovky se liší podle OS a verze.

3

Řekněte agentovi, na kterém projektu má pracovat

Otevřete CLAUDE.md svého projektu (nebo ekvivalentní kontextový soubor, který váš AI klient čte) a přidejte sekci níže. Bez ní agent neví, který projekt a účet má číst a zapisovat — je to lidsky čitelný způsob, jak získá orientaci. Vzor níže je na stránce jediný, druhá varianta neexistuje; řádek s pracovní smyčkou v něm nechte, je to on, co drží agenta v běhu — bez něj skončí po jednom úkolu.

CLAUDE.md
codeCLAUDE.md
## mcptask.online
- Project name: <your project name>
- project_relative_id=<your project id>
- account_code: `<your account code>`

## Usage notes
- Access mcptask.online via the MCP server (key: `mcptask-online`).
- Everything is a **piece** — URIs never use `/tasks/` or `/stories/`.
- Always use `relative_id` in URLs / references, never the internal `id`.
- Read with: mcptask://pieces/{account_code}/{piece_id}
- Current user: mcptask://user (a literal URI — it takes no account code)
- Create pieces via the write tools; **content in English**.
- The work loop: load the most important task → work on it → check the daily quota → repeat.

Co se právě stalo

project_relative_id a account_code si přečtěte z obrazovky, neodhadujte je podle názvu projektu: project_relative_id je číslo v URL, když projekt na mcptask.online otevřete, a account_code je krátký kód pod názvem účtu v přepínači účtů. Bez těch dvou hodnot runner odmítne nastartovat. Není to varování, které vypíše a jede dál — nemá účet, kterého by se zeptal, ani projekt, na který by se ptal, takže skončí.

4

Ověřte spojení

Restartujte svého AI klienta (nebo znovu načtěte jeho MCP config). Položte agentovi jednu lidskou otázku, abyste ověřili, že se na mcptask.online dostane. Pokud vrátí piece, jste připojeni. Pokud vyhodí chybu, skočte do FAQ níže.

Zeptejte se svého agenta
codeZeptejte se svého agenta
Vypiš mi další otevřený úkol z mého mcptask.online projektu.
Příkaz v shellu
codeshell
mcptask://pieces/{account_code}/@next?project_relative_id={project_relative_id}&exclude_relative_ids={exclude_relative_ids}

Co se právě stalo

Toto URI je kanonický vstupní bod pro čtení. Query parametr project_relative_id k němu patří — discovery URI je celý ten řetězec, ne jen část před otazníkem. Pokud ho agent umí načíst a vrátí jeden úkol, fungují i všechna ostatní piece URI.

Jak ověřit, že to funguje

Tři rychlé kontroly, v pořadí za sebou. Pokud všechny tři projdou, spojení je v pořádku. Pokud některá selže, FAQ níže uvádí nejčastější příčinu.

check_circle

Agent vypíše vaše projekty

Požádejte agenta, aby vypsal vaše projekty. Měl by vrátit alespoň jeden řádek s názvem projektu a project_relative_id. Pokud nevrátí nic, token je špatně nebo v CLAUDE.md chybí account_code.

Zeptejte se svého agenta
Jaké projekty mám na mcptask.online?
check_circle

Agent načte další otevřený úkol

Požádejte o další úkol. Měl by vrátit jeden piece s názvem, popisem a obtížností (pole scrum_point). Pokud nemáte žádné otevřené úkoly, nevrátí žádný piece, ale krátkou zprávu, že není co dělat — přesné znění posílá server a může se lišit. I tak je to v pořádku, spojení funguje.

Zeptejte se svého agenta
Načti mi další otevřený úkol.
check_circle

Agent umí přečíst konkrétní úkol podle URI

Dejte mu přesné URI z webového UI (otevřete libovolný úkol, zkopírujte relative_id z URL). Agent by měl vrátit plné detaily tohoto úkolu. Toto je nejspolehlivější kontrola celého řetězce.

Zeptejte se svého agenta
Přečti mcptask://pieces/{account_code}/{piece_id} a shrň mi to.

Časté otázky, srozumitelně

help_outline

Co je MCP, lidsky řečeno?

Představte si MCP jako USB kabel mezi vaším kódovacím CLI a mcptask.online — runner připojí Claude Code, Codex CLI nebo OpenCode k vaší frontě úkolů, takže AI může přímo číst, pracovat a logovat úkoly. Samotná zkratka je jednou definovaná ve slovníčku na stránce Integrace pro vývojáře.

help_outline

Funguje to i na Linuxu / Windows / serveru?

Ano — runner, .mcp.json a skills běží na každém desktopovém OS. Plánování má tři reálné back-endy, ne jen macOS: launchd LaunchAgent na macOS, systemd user timer na Linuxu a Task Scheduler na Windows. Na jakémkoliv jiném systému init vypíše Scheduling: skipped (no generator for ...) místo toho, aby hádal, a instalace doběhne bez plánu. Na serveru, kde nikdo není přihlášený, systemd user timer sám nepoběží; init proto na Linuxu vypíše příkaz sudo loginctl enable-linger $USER, který ho pustí i bez přihlášení. Jiný plánovač, třeba cron, runner nevytváří. Cesty k souborům a příkazy pro zapnutí najdete v obrazovce s během na pozadí výše.

help_outline

Je bezpečné nechat runner běžet bez dozoru?

Ano, pokud víte, co který režim smí. Runner běží na vašem stroji s vaším vývojovým prostředím a vývojovou databází, takže testuje, dělá screenshoty a pushuje commity jako vývojář; produkční data vidí jen tehdy, když mu k nim sami dáte přístup. Slučuje pouze v režimech *_auto_squash, a to až po projití lokálních testů a CI; projekt bez CI sloučí po lokálních testech. Ruční režimy, například queue_manual nebo task_manual, nesloučí nikdy a jen otevřou PR ke kontrole. Když se agent zasekne, dojde mu kontext nebo ho něco přeruší, harness se zotaví a úkol skončí v PR, nezůstane rozdělaný. Narazí-li runner na cizí chybu, založí na ni vlastní sledovaný úkol a zpracuje ho ve stejném režimu jako vaši práci.

help_outline

Mohu instalaci vrátit zpět?

Ano, ale ručně — odinstalační příkaz runner nemá. Tohle všechno init zapíše:
V projektu smažte skills — u Claude Code dvanáct v .claude/skills/: ci-runner, ci-start, ci-wait, wait-unlock, test-runner, test-start, test-wait, discover, memory-search, mcptask-read, mcptask-write a pr; u Codex CLI (.agents/skills/) a OpenCode (.claude/skills/) jejich devět bez discover, memory-search a mcptask-read. Dále .mcptask_runner_manifest.json, .claude/test-commands.json, záznam mcptask-online v .mcp.json, .codex/config.toml nebo opencode.json, oprávnění runneru v .claude/settings.local.json a config/mcptask_runner.yml i s jeho řádkem v .gitignore.
V domovském adresáři smažte helper skripty a spouštěč mcptask-runner-<slug> v ~/.claude/bin, adresář ~/.mcptask_env.d/ a řádek, který ho načítá, z ~/.zshenv (u bashe z ~/.bash_profile a ~/.bashrc; na Windows proměnnou nastavenou přes setx).
Naplánovanou úlohu zrušíte na macOS příkazem launchctl bootout gui/$(id -u)/online.mcptask.runner-<slug> a smazáním ~/Library/LaunchAgents/online.mcptask.runner-<slug>.plist, na Linuxu příkazem systemctl --user disable --now mcptask-runner-<slug>.timer a smazáním .service a .timer v ~/.config/systemd/user/, na Windows příkazem schtasks /Delete /TN mcptask-runner-<slug> a smazáním ~/.mcptask/mcptask-runner-<slug>.xml.
Binárka odejde týmž kanálem, kterým přišla: ručně u install scriptu, brew uninstall jchsoft/tap/mcptask_runner u Homebrew, scoop uninstall mcptask_runner u Scoopu; npx globálně nic neinstaluje; u Rails wrapper gemu odeberte řádek mcptask-rails-runner z Gemfile a smažte ~/.mcptask/bin.

rocket_launch

Vezměte si token a spusťte instalátor

Založte si účet na 30 dní zdarma a získejte MCPTASK_TOKEN. Pak spustíte instalátor a runner si vyzvedne váš nejdůležitější úkol.

verified_user30 dní zdarma. Bez kreditní karty. Kdykoli zrušíte.