====== mcpc – univerzální CLI klient pro MCP ======
//Vytvořeno: **5.5.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://github.com/apify/mcpc|mcpc]] je open-source CLI klient pro Model Context Protocol (MCP), který vytvořil [[https://apify.com|Apify]]. Umožňuje komunikovat s MCP servery přímo z příkazové řádky – jak interaktivně pro testování a ladění, tak programaticky pro použití v AI agentech a shellových skriptech.
===== Proč mcpc vznikl =====
Kolem MCP a CLI nástrojů existuje staré pnutí: AI agenti někdy preferují CLI, protože ho znají „nazpaměť", spouštějí nástroje jako kód přes ''Bash()'' a nepotřebují nahrávat veškerou dokumentaci do kontextu najednou. MCP oproti tomu nabízí standardní protokol pro autentizaci, transport a přístup ke zdrojům – to CLI tradičně postrádá.
Autoři projektu toto dilema pojmenovali přesně: problém není v MCP samotném, ale v tom, jak ho klienti implementují. Většina MCP klientů načítá všechny nástroje i jejich výsledky do kontextu najednou, což zbytečně zvyšuje cenu a způsobuje context rot. mcpc navrhuje jiný přístup: **kombinovat silné stránky obou světů** – MCP pro standardizovaný vzdálený přístup, CLI pro lokální rozhraní agenta.
Projekt byl představen na Vibecoding Talks v dubnu 2026 Janem Curnem z Apify. Apify zároveň deklarovalo záměr darovat mcpc do Agentic AI Foundation (AAIF) jako kandidáta na oficiální MCP CLI klient pro shellové prostředí.
===== Jak mcpc funguje =====
mcpc stojí na dvou vrstvách: **bridge** (background proces) a **CLI příkazy** (co volá AI nebo uživatel).
==== Bridge ====
Při prvním připojení k serveru mcpc nastartuje background bridge proces:
mcpc connect mcp.apify.com @apify
Bridge drží otevřené MCP připojení k serveru. Pro vzdálené HTTP servery se jen připojí přes síť. Pro lokální stdio servery (jako Playwright MCP) sám spustí server jako child proces a drží ho živý.
Bridge zůstává aktivní až do explicitního zavření:
mcpc @apify close
Žádný automatický timeout po nečinnosti v dokumentaci popsán není – persistentnost je záměrná, aby bylo připojení okamžitě dostupné bez reconnect overhead.
==== Průběh volání ====
Když AI zavolá mcpc příkaz přes ''Bash()'', komunikace probíhá takto:
AI agent
→ Bash("mcpc @playwright tools-call screenshot url:='https://example.com'")
→ mcpc CLI
→ Unix socket IPC
→ bridge (background proces)
→ MCP protokol
→ Playwright MCP server
← výsledek
← výsledek
← výsledek
→ stdout (text nebo JSON)
← AI vidí pouze tento výstup
AI v žádném bodě tohoto řetězce nevidí přihlašovací údaje ani definice nástrojů, které si explicitně nevyžádala.
==== Sdílení instance napříč projekty ====
Bridge je sdílený – pokud se více AI projektů připojí ke stejné pojmenované session, používají jeden společný bridge a tedy jednu instanci MCP serveru:
Bez mcpc:
Projekt A → vlastní Playwright instance (150 MB)
Projekt B → vlastní Playwright instance (150 MB)
Projekt C → vlastní Playwright instance (150 MB)
= 450 MB
S mcpc:
Projekt A ↘
Projekt B → mcpc bridge → jedna Playwright instance (150 MB)
Projekt C ↗
= 150 MB + overhead mcpc bridge (zanedbatelný)
Úspora spočívá ve sdílení jedné instance, ne v automatickém uvolňování paměti po nečinnosti.
===== Co AI vidí v kontextu =====
Tohle je jeden z klíčových rozdílů oproti klasickým MCP klientům. Standardní klienti (Claude Code, OpenCode) načtou při startu **všechny** definice nástrojů ze všech nakonfigurovaných MCP serverů do kontextu – ještě než AI začne pracovat.
S mcpc se do kontextu dostane jen to, co AI explicitně zavolá:
^ Co AI zavolá ^ Co se dostane do kontextu ^
| ''mcpc @server tools-list'' | seznam jmen nástrojů (stručný) |
| ''mcpc @server tools-show search-actors'' | definice jednoho konkrétního nástroje |
| ''mcpc grep "search"'' | jen nástroje odpovídající hledání |
| ''mcpc @server tools-call search-actors ...'' | **výsledek** volání (ne definice nástroje) |
Tomuto přístupu se říká **progressive tool discovery** – AI si definice nástrojů dohledává postupně podle potřeby, ne najednou na začátku. Výsledkem je méně spotřebovaných tokenů a méně context rot.
===== Přihlašovací údaje a bezpečnost =====
Jedna z hlavních výhod mcpc je, že **AI nikde v projektu přihlašovací údaje nevidí a nepotřebuje je znát**.
Standardně se credentials konfigurují jednou přes mcpc CLI (''mcpc login'') a uloží do OS keychain. Bridge je pak předává MCP serveru přes Unix socket IPC – ne přes proměnné prostředí, ne přes stdout, ne přes konfigurační soubory dostupné AI agentovi.
Z pohledu AI agenta probíhá volání takto:
# AI zavolá – žádné tokeny, žádné API klíče
mcpc @apify tools-call search-actors keywords:="scraper"
# AI dostane – jen výsledek
Přihlašovací údaje jsou tak centrálně spravované a izolované. To má praktické dopady:
* AI agent nemusí mít přístup k ''.env'' souborům ani konfiguracím
* Pokud agent selže nebo je kompromitovaný, credentials nezíská
* Přepínání mezi účty nebo prostředími (dev / prod) se řeší na úrovni mcpc session, ne v kódu projektu
Pro ještě přísnější izolaci (například nedůvěryhodný AI kód v sandboxu) mcpc nabízí proxy režim:
mcpc connect --proxy
V proxy režimu mcpc samo funguje jako MCP server. Agent vidí jen rozhraní proxy – ne přímý přístup k reálnému serveru ani jeho credentials.
===== Cíle projektu =====
* **Plná podpora MCP** – všechny funkce protokolu, HTTP i stdio transport
* **Lehký a minimálně závislý** – žádné LLM, funguje na Mac / Windows / Linux
* **Přátelský pro agenty i lidi** – jeden nástroj, dvě perspektivy použití
* **Code mode s --json** – výstup lze skládat v shellu přes ''jq'' a pipelines
===== Instalace =====
npm install -g @apify/mcpc
# nebo přes Bun
bun install -g @apify/mcpc
Na Linuxu bez grafického prostředí je pro bezpečné ukládání přihlašovacích údajů potřeba nainstalovat ''libsecret'' a ''gnome-keyring''.
===== Základní použití =====
==== Připojení a sessions ====
mcpc pracuje s pojmenovanými sessions prefixovanými ''@''. Session je persistentní připojení k MCP serveru, které přežívá mezi příkazy.
# Přihlášení a připojení k serveru
mcpc login mcp.apify.com
mcpc connect mcp.apify.com @apify
# Výpis dostupných nástrojů
mcpc @apify tools-list
# Volání nástroje
mcpc @apify tools-call search-actors keywords:="website crawler"
# Interaktivní shell
mcpc @apify shell
Stav session může být: 🟢 live, 🟡 connecting / reconnecting / disconnected / crashed, 🔴 unauthorized / expired.
mcpc @apify restart
mcpc @apify close
==== Hledání nástrojů napříč sessions ====
# Hledání napříč všemi sessions
mcpc grep "search"
# Hledání jen v konkrétní session
mcpc @apify grep "actor"
==== Code mode (--json) ====
Pro použití v AI agentech nebo shellových skriptech mcpc vrací strojově čitelný JSON. Výstup lze přímo skládat s ''jq'':
mcpc --json @apify tools-call search-actors keywords:="scraper" \
| jq '.content[0].text | fromjson | .items[0].id'
===== Klíčové funkce =====
==== Persistentní sessions a auth profily ====
Přihlašovací údaje jsou uloženy v OS keychain (nikdy na disk). mcpc podporuje OAuth 2.1 s PKCE, automatické obnovování tokenů a přepínání mezi více účty přes OAuth profily.
Podporované metody autentizace:
* Anonymní přístup (veřejné servery)
* Bearer tokeny (přes flag ''--header'', uložené jen pro danou session)
* OAuth 2.1 s plnou registrací klienta
* x402 platby (viz níže)
==== Asynchronní úlohy ====
mcpc podporuje MCP async tasks – dlouhotrvající operace, které server spustí na pozadí. Klient může sledovat jejich průběh a výsledky načítat po dokončení.
==== x402 platby ====
mcpc implementuje protokol [[https://x402.org|x402]] pro autonomní mikroplatby. Agenti mohou platit za přístup k MCP nástrojům kryptoměnou na Base blockchainu bez ručního zásahu. Klíče jsou uloženy s oprávněními ''0600''.
===== Podpora MCP funkcí =====
^ Funkce ^ Stav ^
| Instructions / Tools / Prompts / Resources | ✅ plná podpora |
| Logování a notifikace | ✅ |
| Stránkování výsledků | ✅ automatické |
| Asynchronní úlohy | ✅ |
| Roots / Elicitation / Completion | 🚧 plánováno |
| Sampling | ❌ neaplikovatelné |
===== Kontext vzniku =====
Jan Curn z Apify projekt představil na Vibecoding Talks 20. dubna 2026 s tezí: „CLI is better than MCP" je falešná dichotomie. Správná odpověď je MCP + CLI – využít standardizovaný protokol pro vzdálený přístup a shell jako lokální rozhraní agenta. Apify chce mcpc darovat Agentic AI Foundation jako zárodek oficiálního SDK pro shell, které dosud v MCP ekosystému chybí.
===== Zdroje =====
* [[https://github.com/apify/mcpc|mcpc na GitHubu (apify/mcpc)]]
* [[https://apify.com|Apify]] – autoři projektu
* [[https://x402.org|x402 payment protocol]]
* Vibecoding Talks, 20. 4. 2026 – Jan Curn (@jancurn), Apify