Sběr podkladů od klienta pro Gemini CLI: z terminálu

Aktualizováno:

Gemini CLI čte MCP servery ze souboru settings.json a hostovaný endpoint BriefGate funguje stejně jako u Claude Code: nasměrujete CLI na URL a o zbytek se postará vlastní OAuth flow Gemini CLI.

Problém

Gemini CLI staví a upravuje reálné projekty z terminálu a jako každý kódovací agent narazí na stejné místo: klientovo logo, text na stránku nebo přihlašovací údaje existují někde mimo terminál, obvykle v e-mailu, který agent nepřečte.

Řešení

Gemini CLI zavolá define_intake se seznamem typovaných položek, BriefGate klientovi pošle e-mail s odkazem na portál a podle plánu ho upomíná, a agent zavolá get_intake_results, jakmile vše dorazí — typované hodnoty a podepsané URL souborů, bez opětovného ptaní.

Nastavení BriefGate MCP v Gemini CLI

Gemini CLI čte konfiguraci MCP serverů z ~/.gemini/settings.json (globálně) nebo .gemini/settings.json v projektu.

Varianta A — hostovaný endpoint s OAuth (doporučeno)

json
{
  "mcpServers": {
    "briefgate": {
      "httpUrl": "https://mcp.briefgate.dev/mcp"
    }
  }
}

Žádný API klíč ani client ID zde není potřeba. MCP klient Gemini CLI OAuth objevuje automaticky: zachytí 401 od serveru, přečte metadata OAuth, která BriefGate publikuje na /.well-known/oauth-authorization-server, provede dynamickou registraci klienta a při prvním použití vás provede přihlášením v prohlížeči — stejný discovery flow, jaký proti stejnému endpointu používají Claude Code i VS Code. Pak si uvnitř Gemini CLI příkazem /mcp ověřte, že briefgate je připojený.

Varianta B — lokální balíček s API klíčem (pro CI, nebo když chcete přeskočit prohlížeč)

json
{
  "mcpServers": {
    "briefgate": {
      "command": "npx",
      "args": ["-y", "@briefgate/mcp"],
      "env": {
        "BRIEFGATE_API_KEY": "bg_live_xxxxx"
      }
    }
  }
}

Klíč získáte na https://app.briefgate.dev/app (Nastavení → API klíče). Obě varianty zpřístupní stejných 13 nástrojů: define_intake, add_items, update_item, update_intake, list_intakes, get_intake_status, get_intake_results, request_revision, send_chase, manage_recipients, manage_webhook, list_folders, create_folder.

Jak modelu říct, kdy to použít

Přidejte poznámku do GEMINI.md (obdoba CLAUDE.md pro Gemini CLI), aby agent sáhl po BriefGate místo TODO komentáře v kódu:

Když chybí podklad, přístup nebo text od klienta:
1. Zavolej define_intake s items[] popisujícím přesně to, co je potřeba
2. Klienta nekontaktuj sám e-mailem — odkaz na portál posílá BriefGate
3. Pokračuj v jiné práci; sleduj get_intake_status nebo počkej na webhook
4. Jakmile je hotovo, zavolej get_intake_results a použij typované hodnoty přímo
5. Pro jakékoli heslo, API klíč nebo přihlášení použij typ "secret"

Příklad z praxe

Vy: „Než zapojíme platby, vyžádej si od klienta jejich Stripe secret key a otevírací dobu obchodu."

Gemini zavolá define_intake s položkou typu secret (stripe_secret_key) a položkou typu structured (opening_hours, malé JSON Schema pro den/otevřeno/zavřeno). Klient vyplní portál z mobilu; Gemini se později podívá přes get_intake_status a pokračuje, jakmile get_intake_results ohlásí obě položky přijaté.

Pokračování napříč sezeními

list_intakes najde žádost z předchozího sezení podle názvu projektu nebo e-mailu klienta — žádost žije na straně BriefGate, ne v lokálním stavu CLI, takže nové okno terminálu nebo jiný počítač navážou přesně tam, kde poslední sezení skončilo.

Zatím bez instalace na jeden řádek

Gemini CLI podporuje i instalovatelná rozšíření (gemini extensions install <url>) pro bezkonfigurační nastavení. BriefGate zatím žádné publikované nemá — funkční je dnes výše popsaný postup přes settings.json; jestli se to změnilo, ověřte na briefgate-mcp na GitHubu.

Další kroky