Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| ai:mcp:klienti:opencode:gemini-mcp [2026/04/11 10:55] – Věrná migrace článku do nové IA Petr Nosek | ai:mcp:klienti:opencode:gemini-mcp [2026/04/11 11:02] (aktuální) – Odstranění chybně zanořeného dočasného článku Petr Nosek | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== OpenCode: MCP server pro generování obrázků přes Gemini ====== | ||
| - | ===== Úvodní Kontext ===== | ||
| - | |||
| - | Potřeboval jsem v OpenCode zprovoznit MCP server, který umí generovat obrázky přes Gemini, a chtěl jsem to mít reprodukovatelné v projektech bez úniku API klíče do gitu. Začal jsem s '' | ||
| - | |||
| - | ===== Předpoklady ===== | ||
| - | |||
| - | * Mám nainstalovaný OpenCode a používám konfiguraci '' | ||
| - | * Mám přístup ke Gemini API klíči ('' | ||
| - | * Pro variantu '' | ||
| - | * Pro variantu '' | ||
| - | |||
| - | ===== Klíčové Kroky / Konfigurace ===== | ||
| - | |||
| - | ===== A) Konfigurace nano-banana-pro MCP v opencode.json ===== | ||
| - | |||
| - | ==== Konfigurace MCP serveru ==== | ||
| - | |||
| - | Takto jsem měl nakonfigurovaný MCP server v '' | ||
| - | |||
| - | <code json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Uložení GEMINI_API_KEY přes {file: | ||
| - | |||
| - | Konfiguraci si zálohuji přes git, proto jsem nechtěl, aby byl klíč přímo v '' | ||
| - | |||
| - | Tím držím tajemství mimo repozitář a v gitu zůstává jen reprodukovatelná konfigurace. | ||
| - | |||
| - | ==== Kam umístit gemini.key a co obsahuje ==== | ||
| - | |||
| - | Soubor '' | ||
| - | |||
| - | ==== Co přesně se spouští ==== | ||
| - | |||
| - | Volání MCP serveru funguje tak, že se zavolá příkaz '' | ||
| - | |||
| - | ==== Ověření připojení ==== | ||
| - | |||
| - | Takto ověřím, zda OpenCode přijal konfiguraci MCP serveru: | ||
| - | |||
| - | <code bash> | ||
| - | opencode mcp list | ||
| - | |||
| - | ┌ MCP Servers | ||
| - | │ | ||
| - | ● ✓ nano-banana-pro connected | ||
| - | │ npx -y @rafarafarafa/ | ||
| - | │ | ||
| - | └ 1 server(s) | ||
| - | </ | ||
| - | |||
| - | ==== Poznámka k lokální konfiguraci ==== | ||
| - | |||
| - | Pokud server není globálně, musím spouštět příkaz v projektové složce, ve které mám konfiguraci. | ||
| - | |||
| - | ===== B) Proč jsem měnil server (limitace se zdrojovými obrázky / base64) ===== | ||
| - | |||
| - | Protože jsem MCP serveru nemohl dávat zdrojové obrázky, spoléhal na base64 na vstupu a to by musel LLM poslat textově nesmyslně dlouhý řetězec, zvolil jsem jiný MCP server: [[https:// | ||
| - | |||
| - | ===== C) Instalace uv a spuštění ultimate-gemini-mcp ===== | ||
| - | |||
| - | Zdrojový kód MCP serveru: [[https:// | ||
| - | |||
| - | Pro instalaci jsem musel nainstalovat nejdříve uvw a pak nainstalovat MCP server: | ||
| - | |||
| - | <code bash> | ||
| - | # Install uv if you haven' | ||
| - | curl -LsSf https:// | ||
| - | |||
| - | # Install and run the server | ||
| - | uvx ultimate-gemini-mcp | ||
| - | </ | ||
| - | |||
| - | ===== D) Konfigurace ultimate-gemini-mcp v opencode.json ===== | ||
| - | |||
| - | Takto vypadá moje konfigurace '' | ||
| - | |||
| - | <code json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | } | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== OUTPUT_DIR (proč ho nastavuji a proč volím absolutní cestu) ==== | ||
| - | |||
| - | Musel jsem nastavit výstupní složku. Je nastavena na defaultní '' | ||
| - | |||
| - | Prakticky mi to zjednodušuje práci napříč projekty: absolutní cesta neřeší, odkud OpenCode/ | ||
| - | |||
| - | ==== @latest a automatická aktualizace ==== | ||
| - | |||
| - | Tím, že je na konci '' | ||
| - | |||
| - | ===== E) Omezení přístupu k MCP nástrojům jen pro vybraného agenta ===== | ||
| - | |||
| - | Protože mám agenta přímo na psaní promptů pro nano banana, rozhodl jsem se MCP server zpřístupnit jenom jemu. | ||
| - | |||
| - | Udělám to ve dvou krocích: - Globálně zakážu přístup všem agentům přes '' | ||
| - | |||
| - | Tady je konfigurace agenta: | ||
| - | |||
| - | <code markdown> | ||
| - | --- | ||
| - | description: | ||
| - | mode: primary | ||
| - | permission: | ||
| - | task: | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | permission: | ||
| - | external_directory: | ||
| - | "/ | ||
| - | "/ | ||
| - | --- | ||
| - | </ | ||
| - | |||
| - | Agenta budu volat z různých projektů, tak jsem mu dal i právo přístupu do složky '' | ||
| - | |||
| - | ===== Související článek ===== | ||
| - | |||
| - | Pokud dává větší smysl obecnější MCP server s automatickou optimalizací promptů, quality presety a podporou editace obrázků, viz [[ai: | ||
| - | |||
| - | ===== Bezpečnost a doporučení ===== | ||
| - | |||
| - | * **Neukládám '' | ||
| - | * **'' | ||
| - | * '' | ||
| - | |||
| - | ===== Troubleshooting ===== | ||
| - | |||
| - | * '' | ||
| - | * Server je nakonfigurovaný, | ||
| - | * Autentizace nefunguje: ověřím, že '' | ||
| - | |||
| - | ===== Závěr / Výstupy ===== | ||
| - | |||
| - | Zprovoznil jsem MCP generování obrázků v OpenCode nejdřív přes '' | ||