mcptask runner – AI vývojár na vašom stroji. Dotiahne úlohy až do zlúčeného PR.
mcptask_runner premení vaše coding CLI — Claude Code, Codex CLI alebo OpenCode — na samostatného člena tímu. Funguje s Claude, Kimi, DeepSeek, lokálnou ollamou alebo akýmkoľvek modelom — bez viazanosti na jedného dodávateľa. Vyberie úlohu, napíše kód aj testy a otvorí PR. V režimoch auto-squash ho po zelenom CI zlúči; v manuálnych režimoch nechá PR otvorené na vašu kontrolu. Zadáte dobre špecifikovanú prácu, dostanete zelené PR.
mcptask_runner nenahrádza váš tím — násobí ho.
Úlohy si runner berie z mcptask.online — to je jeho jediný zdroj. Jiru, Linear ani GitHub Issues priamo nečíta.
Inštalácia jedným príkazom:
curl -fsSL https://github.com/jchsoft/mcptask-releases/releases/latest/download/install.sh | shNa macOS aj cez Homebrew:brew install jchsoft/tap/mcptask_runner
Mac počas úlohy zaspáva? Nechajte ho bdieť len počas behu programovacieho CLI: nastavtelauncher.command: [caffeinate, -i, claude]v config/mcptask_runner.yml.Ako sa nastavuje naplánovaná úloha
30 dní zadarmo. Bez kreditnej karty. Kedykoľvek zrušíte.
Runner platíte ako každého ďalšieho používateľa
mcptask_runner je v účte používateľ a tarif ho počíta úplne rovnako ako kohokoľvek z tímu — žiadna zvláštna položka, žiadna zľava ani prirážka.
Tokeny modelu platíte zo svojho vlastného predplatného Claude, Codex alebo OpenCode. mcptask.online za ne nič neúčtuje.
Na vašom stroji, proti realite
Cloud agenti bežia v očistených sandboxoch. Runner beží vo vašom reálnom projekte.
Reálna databáza
Hovorí s databázou, ktorú váš projekt už používa — schému, seed dáta aj migračnú históriu, ktorá ju formovala. (PostgreSQL je jeden konkrétny príklad; runner riadi to, čo beží vo vašom projekte.)
Reálne system testy
Bežia vstupné body testov vášho projektu, end-to-end — Capybara/Selenium proti vašej reálnej aplikácii ako jeden konkrétny príklad, so screenshotmi a prehliadačovými kontrolami, ktoré dokazujú, že sa zmena naozaj dostala do produkcie.
Reálne commity a PR
Vetvy, commity a pull requesty žijú vo vašom repu, s vaším CI, pod vašou Git históriou — na GitHube, na Bitbucket Cloude, alebo na GitLabe, a na všetkých ich otvára `mcptask_runner pr`. Runner spúšťa to, čo spúšťa váš `bin/ci`.
Plný autonómny harness nad vaším coding CLI
mcptask_runner je jedna statická binárka bez runtime závislostí — riadi coding CLI na vašom stroji a beží celý agentný cyklus: nájde úlohu → posúdi zložitosť → zvolí model → spustí coding CLI → stráži beh watchdogom → dodrží dennú kvótu → (voliteľne) po CI zlúči PR. Funguje s akýmkoľvek projektom, ktorý používa git, na GitHube, na Bitbucket Cloude, alebo na GitLabe — nič v ceste vykonávania nevyžaduje Ruby, bundler ani Gemfile, metadáta projektu sa berú z CLAUDE.md a `bin/ci` je konvencia (žiadny `bin/ci` → preskočí sa). Žiadny prompt, ktorý runner skladá, už nemenuje príkaz konkrétneho frameworku: projekt, ktorý sa pred browser testami potrebuje pripraviť, si to povie sám — vo svojom CLAUDE.md, alebo v príkaze, ktorý odovzdá `/test-runner`.
Šesť buildov na vydanie – macOS, Linux a Windows, každý pre amd64 aj arm64. Nainštalujete ho inštalačným skriptom, cez Homebrew (macOS), scoop (Windows) alebo npm (npx @mcptask/cli); gem mcptask-rails-runner je len ďalší kanál pre Rails projekty, nie podmienka.
Nie je to len „tupý spúšťač" coding CLI. Pridáva orchestráciu, dohľad, zotavenie a riadenie kvality, ktoré holé CLI nemá.
Vyberte CLI, ktoré bude riadiť váš projekt
Harness je coding CLI, ktoré runner riadi. V binárke sú tri profily — Claude Code, Codex CLI a OpenCode — a vlastný profil žije buď pre celý stroj v ~/.mcptask/harnesses/, alebo pre jeden projekt v config/harnesses/. Voľba sa robí raz pre každý stroj a projekt, urobí ju init a zapíše harness: do config/mcptask_runner.yml. Ten súbor patrí jednému stroju, je v .gitignore, takže dvaja vývojári nad rovnakým repozitárom môžu riadiť rozdielne CLI.
mcptask_runner init --cli codexTri pribalené profily
Claude Code
mcptask_runner init --cli claude- Skills
- 12 v .claude/skills
- MCP konfigurácia
- .mcp.json
- Instrukcie
- CLAUDE.md
- Modely
- aliasy opus / sonnet / haiku
- Oprávnenia
- .claude/settings.local.json
Codex CLI
mcptask_runner init --cli codex- Skills
- 9 v .agents/skills
- MCP konfigurácia
- .codex/config.toml
- Instrukcie
- ukazovateľ v AGENTS.md
- Modely
- gpt-6-astra, gpt-5.6-terra, gpt-5.6-luna
- Preflight
- codex login status musí prejsť
OpenCode
mcptask_runner init --cli opencode- Skills
- 9 v .claude/skills
- MCP konfigurácia
- opencode.json
- Instrukcie
- CLAUDE.md
- Modely
- provider/model
- Oprávnenia
- permission mapu vloží runner
Prihlásené raz, vami
CLI musí byť nainštalované, a kde prihlásenie potrebuje, aj prihlásené tým, komu stroj patrí. Runner nikdy nič neprihlasuje — credential, ktorý by si vymyslel, by autentizoval ako niekto iný — a každé CLI má vlastné jednorazové prihlásenie.
- Claude Code
vlastný login Claude CodeNedeklaruje žiadnu sondu — žiadnu nepotrebuje.- Codex CLI
codex logincodex login status musí skončiť nulou, než beh začne; preflight beh radšej odmietne, než aby ho spustil.- OpenCode
predvolené modely bez prihláseniaPredvolené modely OpenCode sú bezplatná vrstva, ktorá prihlásenie nepotrebuje. Hostiteľ, ktorý sa cez opencode auth login prihlási k inému poskytovateľovi, musí modely tohto poskytovateľa uviesť aj v models: v config/mcptask_runner.yml.
Kde profil deklaruje sondu, runner ju overí pri štarte a bez nej odmietne bežať, takže neprihlásené CLI odmietne menom, namiesto toho, aby ho nechal spadnúť pri prvom volaní.
Žiadny default neexistuje
Projekt, ktorý CLI nikdy nepomenoval, runner odmietne menom — nepredpokladá ticho Claude Code. launcher.command zostáva override samotného argv a je krížovo kontrolovaný proti harness: — nemôže pretlačiť iné CLI, než aké projekt deklaroval.
Čo je na všetkých troch rovnaké
Profil drží binárku, argv, resume flag, literály zlyhania, mená nástrojov a skillov a to, čo zapisuje init. Všetko, čo robí runner runnerom, je nad profilom a s voľbou CLI sa nemení: karta na dashboarde, záznam effortov, run log aj bug úloha vyzerajú rovnako, nech beží ktorýkoľvek harness.
Limity, povedané naplno
Fork skills sú len na Claude Code
discover, memory-search a mcptask-read forkujú lacného subagenta, aby sa surový výstup nikdy nedostal do rodičovského kontextu. To vie iba Claude Code, takže profily Codex a OpenCode majú deväť skillov namiesto dvanástich. Deväť helper skriptov je na všetkých troch rovnakých.
Codex potrebuje funkčný login
codex login status musí prejsť, než beh začne. Preflight radšej odmietne, než aby spotreboval kvótu na CLI, ktoré spadne pri prvom volaní.
OpenCode nemá read-only flag
Nie je čo predať, takže runner namiesto toho vloží permission mapu. Read-only garancia je rovnaká; mechanizmus nie.
Overené, nie len tvrdené
Conformance suita beží v CI proti všetkým trom dialektom, chaos stress day beží v lokálnej bráne (bin/ci) pred každým mergom a profily nie sú funkcia na papieri: reálny beh na Codexe dokončil úlohu 9. 9. 2026 a OpenCode má za sebou vlastné reálne behy.
Pull requesty na GitHube, na Bitbuckete alebo na GitLabe
Runner pracuje s repozitárom na GitHube, na Bitbucket Cloude alebo na GitLabe (gitlab.com aj self-managed) a pull request na všetkých otvára jeden príkaz: mcptask_runner pr. Žiadny prompt ani pribalený skill už nemenuje CLI konkrétneho hosta — binárka sa hosta spýta sama, takže rovnaké instrukcie fungujú bez ohľadu na to, kde váš repozitár žije.
PR neotvorí nič iné než mcptask_runner pr
Je to piaty verejný subcommand. Každý subcommand vypíše na stdout jeden JSON objekt, chyby idú na stderr s nenulovým exit kódom a --git-host prepíše hosta pre jedno zavolanie. Samotné git_host: je nepovinné — runner ho odvodí z git remote get-url origin a init --git-host bitbucket|gitlab je tu pre aliasy, mirrory a self-managed inštancie.
Šesť subcommandov
pr createOtvorí pull request pre aktuálnu vetvu.
pr listVypíše pull requesty, filtrované cez --task, --branch, --open alebo --state.
pr viewPrečíta jeden pull request ako JSON.
pr reviewsPrečíta review, ktoré na pull requeste zostali.
pr mergeZlúči ho — --squash a --delete-branch sú default, pretože práve to auto-squash znamená.
pr checksSpýta sa hosta, čo jeho checky hovoria o head commite.
Traja hostia, tri modely prihlásenia
GitHub
Autentizácia cez gh a jeho vlastný login. Šablóna pull requestu sa číta z .github/pull_request_template.md, čo je cesta, ktorú pozná len GitHub.
Bitbucket Cloud
REST API 2.0, s jedným z dvoch prihlásení a nikdy s oboma: BITBUCKET_ACCESS_TOKEN pre stroj (Bearer), alebo BITBUCKET_EMAIL a BITBUCKET_API_TOKEN pre človeka (Basic). App passwords sú odmietnuté — Atlassian ich 9. 6. 2026 ukončil. init zapíše ~/.mcptask_env.d/bitbucket_credentials s právami 0600 (kontrola práv sa na Windows preskakuje), nikdy neprepíše existujúcu hodnotu ničím a nikdy prihlasovací údaj nevypíše. Mimo GitHubu sa šablóna deklaruje ako pr_template: path:.
GitLab
Riadi ho CLI glab, ktoré si drží vlastné prihlásenie — glab auth login, a runner si žiadny GitLab credential neukladá. Funguje gitlab.com aj self-managed inštancie: self-managed projekt deklaruje git_host: gitlab (mcptask_runner init --git-host gitlab), pretože jeho origin URL nie je gitlab.com, a runner od vás URL inštancie nikdy nepýta — glab už vie, kam je prihlásený. To, čo tam pr create otvorí, je merge request.
Auto-squash sa pred zlúčením spýta hosta
Zlúčenie nie je nádej, že CI bolo zelené. Runner si najprv prečíta checky hosta pre head commit: FAILED ukončí beh ako ci_failed a PR nechá otvorené, IN_PROGRESS skúsi desaťkrát po dvoch minútach a NONE — repozitár, ktorý u hosta žiadne checky nemá — spadne na lokálnu gate: zelené bin/ci zlúčenie pustí a projekt bez bin/ci skončí ako merge_skipped_no_ci, s PR otvoreným, aby ho zlúčil človek. GitLab hlási jeden stav pipeline na merge request, takže výpis checkov je tam jeden riadok, nie zoznam.
GitHub Enterprise nie je github.com — pokiaľ to sami nepoviete
Keď sa host odvodzuje z URL originu, rozpoznáva sa podľa presného hostname, takže inštanciu GitHub Enterprise runner odmietne so správou, ktorá to hovorí, namiesto toho, aby ju považoval za github.com. Explicitné git_host: github toto odvodenie preskočí a runner vám uverí. PR otvorené proti nesprávnemu API hosta je horšie než beh, ktorý odmietne začať.
Kde končí runner a začína mcptask.online
Tu ide o runner pracujúci s repozitárom na Bitbucket Cloude — nie o Bitbucket integráciu na úrovni mcptask.online. Párovanie commitov a pull requestov späť na pieces beží na webhookoch a tie zostávajú GitHub a GitLab.
Slučka berie úlohy, cieľ ich dokončuje
mcptask_runner spája pracovnú slučku (berie úlohu za úlohou z fronty) s cieľom (dokončí každú úlohu až do zeleného PR, nielen k „nejakým úpravám"). Zvoľte režim podľa toho, ako dlho má bežať:
| Tvar slučky | Režim | Auto-squash vs manuál | Povinný prepínač |
|---|---|---|---|
| Spustí jedného vykonávateľa a skončí | once | manuál | — |
once_dry | manuál | — | |
once_auto_squash | auto-squash | — | |
review | manuál | — | |
| Iteruje, kým nenastane stop-status | today | manuál | — |
today_auto_squash | auto-squash | — | |
queue_manualaliasy: queue | manuál | — | |
queue_auto_squash | auto-squash | — | |
workflow | manuál | — | |
reviews | manuál | — | |
| Prejde podúlohy story | story_manualaliasy: story | manuál | --story-id |
story_auto_squash | auto-squash | --story-id | |
task_manualaliasy: task | manuál | --task-id | |
task_auto_squash | auto-squash | --task-id | |
| Robí to celý deň, každý deň | daily | manuál | — |
Niektoré režimy sa správajú inak, než napovedá tvar, v ktorom sú zaradené
- once_dry, review a reviews úplne preskočia triage. once_dry len ukáže ďalšiu úlohu a skončí; oba revízne režimy idú rovno na pull requesty, ktoré revíziu potrebujú.
- workflow má dve fázy: najprv revízie (PR blokuje človeka), potom dnešné úlohy.
- daily nekončí s koncom dňa — slučku ukončí len pád, signál, nepodarené odovzdanie, požiadavka na zastavenie, odmietnutie zo strany účtu alebo odmietnuté hlásenie chyby. Cestou do nočnej pauzy sa navyše môže odovzdať novšej binárke, ktorú už má na disku (pozri samoaktualizácia nižšie); slučka, ktorá sa zajtra zobudí, je stále tá istá slučka, len beží na novšom kóde.
- queue_manual a queue_auto_squash nemajú časovú bránu; bežia, kým prichádzajú úlohy.
Kompletný zoznam funkcií a prehľad zmien
Všetky funkcie, čo sa zmenilo v každej verzii, úplná referencia príkazového riadka a technické podrobnosti o kvóte, logoch a samoaktualizácii na samostatnej stránke.
Technické FAQ
Krátke odpovede na otázky, ktoré stránka otvára, ale na ktoré priamo neodpovedá. Každá odpoveď odkazuje na vlastnícku sekciu a duplicitne ju neopakuje.
Potrebuje runner Ruby, bundler alebo Gemfile?
Nie. Metadáta projektu číta z CLAUDE.md a konfiguráciu z config/mcptask_runner.yml — ani jeden z nich neprechádza cez Ruby. Žiadny prompt nemenuje ani príkaz konkrétneho frameworku: projekt, ktorý pred browser testami potrebuje build krok, si ho deklaruje vo vlastnom CLAUDE.md.
Funguje na ne-Rails projekte?
Áno — ľubovoľný projekt pod gitom, na GitHube, na Bitbucket Cloude, alebo na GitLabe (gitlab.com aj self-managed), s jedným z troch podporovaných coding CLI nainštalovaným a prihláseným na hostiteľovi a s CLAUDE.md, ktorá deklaruje account_code a project_relative_id. Žiadne predvolené CLI neexistuje: vyberá ho init --cli claude|codex|opencode, launcher.command prepisuje len argv a je krížovo kontrolovaný proti harness:.
Môžu dva runnery zdieľať jeden checkout?
Nie. Druhý runner odmietne naštartovať; lock.go (AcquireInstanceLock) vynucuje jeden runner na checkout.
Pozri Prečo to nie je kúzlo
Čo sa stane, keď denná kvóta dôjde uprostred úlohy?
Runner zabije potomka, pokus skončí so statusom quota_exceeded_mid_task bez retry (bug úloha sa nezakladá) a slučka končí. Sám sa vráti len režim daily: počká do ďalšieho dňa a začne znovu triážou. Ostatné režimy pokračujú až ďalším naplánovaným spustením.
Čo po páde zostane a kto sa to dozvie?
Tvrdý pád (status error, status crash alebo status anomaly — vlastná poistka runneru, ktorá v behu neplatila, a beh napriek tomu pokračoval) založí vlastnú bug úlohu s pripojeným run logom a otlačkom; rovnaký pád sa nahlási najviac raz za šesť hodín. Reportér nemôže nahlásiť bug, ktorý hovorí, že chýba jeho vlastný token — ten sa prejaví exit kódom a logom.
Pozri Čo je viditeľné počas behu, Keď nastane tvrdý pád, bug úloha sa založí sama
Aktualizuje sa sám bez dozoru?
Nie, zámerne. `update` sa v predvolenom stave dotýka len skills a helpers; `update --self` aktualizuje binárku v termináli používateľa, nie v background slučke.
Na ktorých OS beží a čo nepokryje zelený lokálny test run?
macOS (launchd), Linux (systemd user timer) a Windows (Task Scheduler) majú každý vlastnú naplánovanú úlohu. Zelený lokálny test run pokryje unit a system testy na hosťovej verzii Go; nepokryje troj-OS × dvoch-Go verzií maticu ani conformance scenáre, ktoré bránia release.
Ráno zapnite stroj
Jeden statický binárny súbor, jeden inštalačný riadok, a runner začne brať úlohy z vašej fronty.
30 dní zadarmo. Bez kreditnej karty. Kedykoľvek zrušíte.