mcpc – univerzální CLI klient pro MCP

Vytvořeno: 5.5.2026 | Aktualizováno: 05.05.2026 10:20

mcpc je open-source CLI klient pro Model Context Protocol (MCP), který vytvořil 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.

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í.

mcpc stojí na dvou vrstvách: bridge (background proces) a CLI příkazy (co volá AI nebo uživatel).

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.

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.

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.

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.

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.

  • 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
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.

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í napříč všemi sessions
mcpc grep "search"
 
# Hledání jen v konkrétní session
mcpc @apify grep "actor"

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'

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)

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í.

mcpc implementuje protokol 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.

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é

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í.

  • ai/mcp/nastroje/mcpc.txt
  • Poslední úprava: 05.05.2026 10:20
  • autor: Petr Nosek