ai:mcp:klienti:opencode:gemini-mcp

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

ai:mcp:klienti:opencode:gemini-mcp [2026/04/11 10:55] – Věrná migrace článku do nové IA Petr Nosekai: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 ''%%nano-banana-pro%%'' MCP serverem, ale kvůli limitacím se zdrojovými obrázky jsem přešel na ''%%ultimate-gemini-mcp%%''. 
- 
-===== Předpoklady ===== 
- 
-  * Mám nainstalovaný OpenCode a používám konfiguraci ''%%opencode.json%%''. 
-  * Mám přístup ke Gemini API klíči (''%%GEMINI_API_KEY%%''). 
-  * Pro variantu ''%%nano-banana-pro%%'' mám k dispozici ''%%npx%%'' (Node.js). 
-  * Pro variantu ''%%ultimate-gemini-mcp%%'' mám k dispozici ''%%uv%%''/''%%uvx%%''. 
- 
-===== Klíčové Kroky / Konfigurace ===== 
- 
-===== A) Konfigurace nano-banana-pro MCP v opencode.json ===== 
- 
-==== Konfigurace MCP serveru ==== 
- 
-Takto jsem měl nakonfigurovaný MCP server v ''%%opencode.json%%'': 
- 
-<code json> 
-{ 
-  "$schema": "https://opencode.ai/config.json", 
-  "mcp": { 
-      "nano-banana-pro": { 
-        "type": "local", 
-        "command": ["npx", "-y", "@rafarafarafa/nano-banana-pro-mcp@latest"], 
-        "environment": { 
-          "GEMINI_API_KEY": "{file:./gemini.key}" 
-        } 
-      } 
-    } 
-} 
-</code> 
- 
-==== Uložení GEMINI_API_KEY přes {file:./gemini.key} ==== 
- 
-Konfiguraci si zálohuji přes git, proto jsem nechtěl, aby byl klíč přímo v ''%%opencode.json%%''. Použil jsem referenci na soubor: - ''%%"GEMINI_API_KEY": "{file:./gemini.key}"%%'' 
- 
-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 ''%%gemini.key%%'' musí být umístěn ve stejném adresáři jako konfigurační soubor a musí obsahovat čistě API klíč. 
- 
-==== Co přesně se spouští ==== 
- 
-Volání MCP serveru funguje tak, že se zavolá příkaz ''%%npx -y @rafarafarafa/nano-banana-pro-mcp@latest%%'' a zároveň se provede případná aktualizace MCP serveru. 
- 
-==== 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/nano-banana-pro-mcp@latest 
- 
-└  1 server(s) 
-</code> 
- 
-==== 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://github.com/anand-92/ultimate-image-gen-mcp|anand-92/ultimate-image-gen-mcp]] 
- 
-===== C) Instalace uv a spuštění ultimate-gemini-mcp ===== 
- 
-Zdrojový kód MCP serveru: [[https://github.com/anand-92/ultimate-image-gen-mcp|github.com/anand-92/ultimate-image-gen-mcp]] 
- 
-Pro instalaci jsem musel nainstalovat nejdříve uvw a pak nainstalovat MCP server: 
- 
-<code bash> 
-# Install uv if you haven't already 
-curl -LsSf https://astral.sh/uv/install.sh | sh 
- 
-# Install and run the server 
-uvx ultimate-gemini-mcp 
-</code> 
- 
-===== D) Konfigurace ultimate-gemini-mcp v opencode.json ===== 
- 
-Takto vypadá moje konfigurace ''%%opencode.json%%'': 
- 
-<code json> 
-{ 
-  "$schema": "https://opencode.ai/config.json", 
-  "mcp": { 
-      "ultimate-gemini-mcp": { 
-        "type": "local", 
-        "command": ["uvx", "ultimate-gemini-mcp@latest"], 
-        "environment": { 
-          "GEMINI_API_KEY": "{file:./gemini.key}", 
-          "OUTPUT_DIR": "/home/ubuntu/gemini_images" 
-        } 
-      } 
-  }, 
-  "tools": { 
-    "ultimate-gemini-mcp_*": false 
-  } 
-} 
-</code> 
- 
-==== OUTPUT_DIR (proč ho nastavuji a proč volím absolutní cestu) ==== 
- 
-Musel jsem nastavit výstupní složku. Je nastavena na defaultní ''%%~/gemini_images%%'', ale raději jsem ji dal do absolutní cesty a dal jsem informace i agentovi. 
- 
-Prakticky mi to zjednodušuje práci napříč projekty: absolutní cesta neřeší, odkud OpenCode/MCP server běží, a výsledky ukládám konzistentně na jedno místo. 
- 
-==== @latest a automatická aktualizace ==== 
- 
-Tím, že je na konci ''%%latest%%'', tak by se měl MCP server automaticky aktualizovat. 
- 
-===== 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 ''%%tools%%'' v ''%%opencode.json%%'' (pattern ''%%ultimate-gemini-mcp_*%%''). - V konfiguraci konkrétního agenta přístup explicitně povolím (poslední pravidlo přebíjí). 
- 
-Tady je konfigurace agenta: 
- 
-<code markdown> 
---- 
-description: Orchestrates the complete website creation workflow from initial inputs to final HTML, managing 5 specialized subagents through a structured pipeline. Supports both single-page and multi-page websites with shared design system. 
-mode: primary 
-permission: 
-  task: 
-    "*": "deny" 
-    "01-strategicky-analytik": "allow" 
-    "02-informacni-architekt": "allow" 
-    "03-web-design-director": "allow" 
-    "04-konverzni-copywriter": "allow" 
-    "05-frontend-developer": "allow" 
-permission: 
-  external_directory: 
-    "/home/ubuntu/gemini_images": "allow" 
-    "/home/ubuntu/gemini_images/*": "allow" 
---- 
-</code> 
- 
-Agenta budu volat z různých projektů, tak jsem mu dal i právo přístupu do složky ''%%gemini_images%%'', aby se mě pořád neptal na svolení. 
- 
-===== 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:platformy:mcp-image|MCP Image: MCP server pro generování a editaci obrázků přes Gemini]]. Tento zápisek je naopak konkrétní praktická konfigurace pro OpenCode a server ''%%ultimate-gemini-mcp%%''. 
- 
-===== Bezpečnost a doporučení ===== 
- 
-  * **Neukládám ''%%GEMINI_API_KEY%%'' do ''%%opencode.json%%''**; používám ''%%{file:./gemini.key}%%''. 
-  * **''%%gemini.key%%'' nepřidávám do gitu**; typicky ho dávám do ''%%.gitignore%%'' (doporučení) a sdílím ho jen bezpečným kanálem. 
-  * ''%%OUTPUT_DIR%%'' držím mimo repozitář a beru ho jako pracovní výstupní složku. 
- 
-===== Troubleshooting ===== 
- 
-  * ''%%opencode mcp list%%'' neukazuje server: spouštím příkaz v projektové složce, kde mám ''%%opencode.json%%'' (pokud konfiguraci nemám globálně). 
-  * Server je nakonfigurovaný, ale negeneruje výstupy: ověřím, že existuje a je zapisovatelný adresář nastavený v ''%%OUTPUT_DIR%%''. 
-  * Autentizace nefunguje: ověřím, že ''%%gemini.key%%'' leží vedle ''%%opencode.json%%'' a obsahuje pouze samotný API klíč bez dalších znaků. 
- 
-===== Závěr / Výstupy ===== 
- 
-Zprovoznil jsem MCP generování obrázků v OpenCode nejdřív přes ''%%nano-banana-pro%%'' a po narážení na limitace se vstupními obrázky jsem přešel na ''%%ultimate-gemini-mcp%%'' s explicitním ''%%OUTPUT_DIR%%'' a kontrolou přístupů na úrovni agentů. 
  • ai/mcp/klienti/opencode/gemini-mcp.1775904926.txt.gz
  • Poslední úprava: 2026/04/11 10:55
  • autor: Petr Nosek