Obsah

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.

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:

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

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:

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