Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| ai:mcp:servery:higgsfield-mcp-v-claude-code-a-opencode [04.05.2026 08:26] – Doplnění: access token vs refresh token, refresh skript pro automatické obnovení, cron setup na Alpine Petr Nosek | ai:mcp:servery:higgsfield-mcp-v-claude-code-a-opencode [09.05.2026 07:17] (aktuální) – Oprava dvojitého escapování URL v tabulce Petr Nosek | ||
|---|---|---|---|
| Řádek 5: | Řádek 5: | ||
| [[https:// | [[https:// | ||
| - | Tento zápisek popisuje konkrétní nasazení v Claude Code a OpenCode běžících v Dockeru. Důležité je hlavně zachytit rozdíl: v Claude Code OAuth proběhl rychle, zatímco v OpenCode se objevily chyby kolem OAuth scope. Nakonec fungovaly dvě cesty: device flow s tokenem platným jen 24 hodin a praktičtější převzetí delšího tokenu z Claude Code. Vedle oficiálního | + | Tento zápisek popisuje konkrétní nasazení v Claude Code a OpenCode běžících v Dockeru. Důležité je hlavně zachytit rozdíl: v Claude Code OAuth proběhl rychle, zatímco v OpenCode se objevily chyby kolem OAuth scope. Nakonec fungovaly dvě cesty: device flow s tokenem platným jen 24 hodin a praktičtější převzetí delšího tokenu z Claude Code. Vedle remote MCP dnes existují i dvě oficiální navazující cesty: [[https:// |
| ===== Výchozí stav ===== | ===== Výchozí stav ===== | ||
| Řádek 15: | Řádek 15: | ||
| Higgsfield na své MCP stránce uvádí, že není potřeba spravovat API klíče. API key a API secret z Higgsfield API proto nejsou totéž jako autentizace pro oficiální MCP endpoint. Pro MCP se používá OAuth přihlášení přes Higgsfield účet. | Higgsfield na své MCP stránce uvádí, že není potřeba spravovat API klíče. API key a API secret z Higgsfield API proto nejsou totéž jako autentizace pro oficiální MCP endpoint. Pro MCP se používá OAuth přihlášení přes Higgsfield účet. | ||
| + | |||
| + | Dnes je dobré rozlišovat tři oficiální vrstvy: | ||
| + | |||
| + | * **remote MCP endpoint** – integrace přes '' | ||
| + | * **Higgsfield CLI** – oficiální terminálový nástroj '' | ||
| + | * **Higgsfield AI Skills** – Markdown skills pro agenty, které obalují práci s Higgsfield CLI a dávají agentovi konkrétní workflow pro generování, | ||
| + | |||
| + | ===== Oficiální Higgsfield CLI ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Důležité: | ||
| + | |||
| + | ==== Instalace ==== | ||
| + | |||
| + | README uvádí několik instalačních cest. | ||
| + | |||
| + | macOS / Linux přes instalační skript: | ||
| + | |||
| + | <code bash> | ||
| + | curl -fsSL https:// | ||
| + | </ | ||
| + | |||
| + | macOS / Linux přes Homebrew: | ||
| + | |||
| + | <code bash> | ||
| + | brew install higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Cross-platform instalace přes npm: | ||
| + | |||
| + | <code bash> | ||
| + | npm install -g @higgsfield/ | ||
| + | </ | ||
| + | |||
| + | Po instalaci se provede přihlášení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | </ | ||
| + | |||
| + | ==== Základní použití ==== | ||
| + | |||
| + | Jednoduché vygenerování obrázku s čekáním na výsledek: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create nano_banana_2 --prompt "a quiet beach at sunrise" | ||
| + | </ | ||
| + | |||
| + | Příklad pro Nano Banana Pro: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create nano_banana_2 \ | ||
| + | --prompt " | ||
| + | --aspect_ratio 16:9 \ | ||
| + | --resolution 2k \ | ||
| + | --wait | ||
| + | </ | ||
| + | |||
| + | Příklad pro video přes Kling v3.0 se vstupním obrázkem: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate create kling3_0 \ | ||
| + | --prompt "slow camera push through a forest clearing at dawn" \ | ||
| + | --start-image ./first.png \ | ||
| + | --duration 5 --mode pro --sound off \ | ||
| + | --wait | ||
| + | </ | ||
| + | |||
| + | ==== Hlavní příkazy ==== | ||
| + | |||
| + | Podle README CLI obsahuje tyto skupiny příkazů: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Praktické flagy: | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Příklad pipeline s JSON výstupem: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield generate list --json | jq -r '.[] | select(.status==" | ||
| + | </ | ||
| + | |||
| + | ==== Vztah k MCP integraci ==== | ||
| + | |||
| + | Pro Claude Code a OpenCode jsou tím pádem tři praktické varianty: | ||
| + | |||
| + | - **MCP endpoint** – nejlepší, pokud MCP klient zvládne OAuth vůči '' | ||
| + | - **Oficiální CLI** – vhodné, pokud agent umí spouštět shell příkazy a stačí mu příkaz '' | ||
| + | - **Neoficiální lokální MCP wrappery** – až fallback, pokud je potřeba MCP rozhraní, ale remote OAuth nefunguje a zároveň nestačí CLI. | ||
| + | |||
| + | ===== Oficiální Higgsfield AI Skills ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Instalace skills ==== | ||
| + | |||
| + | Doporučená cross-agent instalace: | ||
| + | |||
| + | <code bash> | ||
| + | npx skills add higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Alternativa přes GitHub CLI 2.90+: | ||
| + | |||
| + | <code bash> | ||
| + | gh skill install higgsfield-ai/ | ||
| + | </ | ||
| + | |||
| + | Instalace přes Claude Code marketplace: | ||
| + | |||
| + | < | ||
| + | /plugin marketplace add higgsfield-ai/ | ||
| + | /plugin install higgsfield@higgsfield | ||
| + | </ | ||
| + | |||
| + | Fallback přes clone repozitáře: | ||
| + | |||
| + | <code bash> | ||
| + | git clone --depth 1 https:// | ||
| + | cd skills | ||
| + | ./setup | ||
| + | </ | ||
| + | |||
| + | ==== Dostupné skills ==== | ||
| + | |||
| + | Repozitář aktuálně popisuje čtyři hlavní skills: | ||
| + | |||
| + | ^ Skill ^ Vyvolání ^ Účel ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Důležitý princip: skills neřeší jen jednorázový příkaz. Dávají agentovi workflow – například nejdřív natrénovat Soul ID a potom ho použít v generování nebo v Marketing Studio jobech. | ||
| + | |||
| + | ==== Kdy použít skills místo přímého MCP ==== | ||
| + | |||
| + | Skills dávají smysl hlavně tehdy, když: | ||
| + | |||
| + | * agent umí načíst Markdown skills a spouštět shell příkazy | ||
| + | * je potřeba agentovi dát konkrétní pracovní postup místo ručního skládání parametrů | ||
| + | * stačí CLI workflow a není nutné mít každý Higgsfield endpoint jako samostatný MCP tool | ||
| + | * jde o opakované úlohy typu produktové fotky, marketplace karty, Soul ID nebo branded ad video | ||
| + | |||
| + | Pro čisté MCP workflow dál platí sekce níže. Pro agentní práci, kde je povolené volání terminálu, je ale oficiální kombinace **Higgsfield CLI + Higgsfield AI Skills** preferovaná před komunitními lokálními wrappery. | ||
| ===== Claude Code ===== | ===== Claude Code ===== | ||
| Řádek 91: | Řádek 252: | ||
| Claude Code použil předregistrovaného OAuth klienta pro Higgsfield. V uložených credentials bylo vidět, že Claude Code měl pro Higgsfield uložené: | Claude Code použil předregistrovaného OAuth klienta pro Higgsfield. V uložených credentials bylo vidět, že Claude Code měl pro Higgsfield uložené: | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| - | * '' | + | * '' |
| * scope včetně '' | * scope včetně '' | ||
| Řádek 119: | Řádek 280: | ||
| Ani poslední úprava nezabrala. V mém setupu zůstal problém v OAuth toku OpenCode: buď se požadoval nepovolený scope '' | Ani poslední úprava nezabrala. V mém setupu zůstal problém v OAuth toku OpenCode: buď se požadoval nepovolený scope '' | ||
| - | |||
| - | ===== Alternativní cesta: lokální MCP servery nad API key/API secret ===== | ||
| - | |||
| - | Vedle oficiálního remote endpointu existují také neoficiální lokální MCP servery, které neřeší OAuth proti '' | ||
| - | |||
| - | V diskusi jsem porovnával hlavně dva repozitáře od stejného autora: | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | |||
| - | Oba projekty používají lokální Python server a credentials z Higgsfield API. Prakticky to znamená, že OpenCode by nepřipojoval '' | ||
| - | |||
| - | ==== Rozdíl mezi oběma repozitáři ==== | ||
| - | |||
| - | ^ Oblast ^ '' | ||
| - | | Zaměření | Jednodušší MCP server pro základní image/video workflow. | Širší MCP server s více parametry a více typy nástrojů. | | ||
| - | | Framework | FastMCP. | Oficiální low-level '' | ||
| - | | Credentials | '' | ||
| - | | Instalace podle README | Clone repozitáře a instalace závislostí přes '' | ||
| - | | Nástroje | Jednodušší názvy jako '' | ||
| - | | Parametry | Méně voleb, rychlejší na pochopení. | Více voleb: rozměry, batch size, seed, reference image, webhooky, motion strength, start/end frame. | | ||
| - | | Video | Image-to-video přes DoP/motion preset. | Image-to-video přes DoP, motions array, end frame. | | ||
| - | | Speech/ | ||
| - | | Character management | Vytvoření a listování character references. | Vytvoření, | ||
| - | | Resources/ | ||
| - | |||
| - | ==== Kdy dává smysl který projekt ==== | ||
| - | |||
| - | '' | ||
| - | |||
| - | '' | ||
| - | |||
| - | ==== Důležitý konflikt názvů ==== | ||
| - | |||
| - | Oba repozitáře používají stejný Python import namespace i stejný command/ | ||
| - | |||
| - | < | ||
| - | higgsfield_mcp | ||
| - | higgsfield-mcp | ||
| - | </ | ||
| - | |||
| - | Proto je nedává smysl instalovat vedle sebe do stejného Python prostředí. Pokud by se testovaly oba, je lepší použít oddělené virtualenv/ | ||
| - | |||
| - | ==== Princip konfigurace v OpenCode ==== | ||
| - | |||
| - | Pro lokální MCP server by konfigurace v OpenCode nebyla remote OAuth konfigurace, | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | U projektu '' | ||
| - | |||
| - | <code json> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ==== Výhody a nevýhody lokálních wrapperů ==== | ||
| - | |||
| - | Výhody: | ||
| - | |||
| - | * obejdou problematické OAuth flow v OpenCode | ||
| - | * používají běžné API key/API secret, které se dají uložit přes '' | ||
| - | * běží lokálně a dají se případně upravit | ||
| - | |||
| - | Nevýhody: | ||
| - | |||
| - | * nejsou to oficiální Higgsfield MCP endpointy | ||
| - | * mohou pokrývat jen část funkcí oficiálního MCP konektoru | ||
| - | * je potřeba řešit instalaci Python prostředí a závislostí | ||
| - | * oba porovnávané projekty kolidují názvem balíčku/ | ||
| - | * bezpečnost API key/API secret je na lokální konfiguraci | ||
| ===== Alternativní funkční cesta: device flow pro OpenCode ===== | ===== Alternativní funkční cesta: device flow pro OpenCode ===== | ||
| Řádek 209: | Řádek 287: | ||
| [[https:// | [[https:// | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| Pro device flow je důležitý server '' | Pro device flow je důležitý server '' | ||
| Řádek 445: | Řádek 523: | ||
| Při dalším startu systému se crond spustí automaticky. | Při dalším startu systému se crond spustí automaticky. | ||
| + | |||
| + | ===== Okrajová alternativa: | ||
| + | |||
| + | Vedle oficiálního remote endpointu, oficiálního CLI a oficiálních skills existují také neoficiální lokální MCP servery, které neřeší OAuth proti '' | ||
| + | |||
| + | V diskusi jsem porovnával hlavně dva repozitáře od stejného autora: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Oba projekty používají lokální Python server a credentials z Higgsfield API. Prakticky to znamená, že OpenCode by nepřipojoval '' | ||
| + | |||
| + | ==== Rozdíl mezi oběma repozitáři ==== | ||
| + | |||
| + | ^ Oblast ^ '' | ||
| + | | Zaměření | Jednodušší MCP server pro základní image/video workflow. | Širší MCP server s více parametry a více typy nástrojů. | | ||
| + | | Framework | FastMCP. | Oficiální low-level '' | ||
| + | | Credentials | '' | ||
| + | | Instalace podle README | Clone repozitáře a instalace závislostí přes '' | ||
| + | | Nástroje | Jednodušší názvy jako '' | ||
| + | | Parametry | Méně voleb, rychlejší na pochopení. | Více voleb: rozměry, batch size, seed, reference image, webhooky, motion strength, start/end frame. | | ||
| + | | Video | Image-to-video přes DoP/motion preset. | Image-to-video přes DoP, motions array, end frame. | | ||
| + | | Speech/ | ||
| + | | Character management | Vytvoření a listování character references. | Vytvoření, | ||
| + | | Resources/ | ||
| + | |||
| + | ==== Kdy dává smysl který projekt ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ==== Důležitý konflikt názvů ==== | ||
| + | |||
| + | Oba repozitáře používají stejný Python import namespace i stejný command/ | ||
| + | |||
| + | < | ||
| + | higgsfield_mcp | ||
| + | higgsfield-mcp | ||
| + | </ | ||
| + | |||
| + | Proto je nedává smysl instalovat vedle sebe do stejného Python prostředí. Pokud by se testovaly oba, je lepší použít oddělené virtualenv/ | ||
| + | |||
| + | ==== Princip konfigurace v OpenCode ==== | ||
| + | |||
| + | Pro lokální MCP server by konfigurace v OpenCode nebyla remote OAuth konfigurace, | ||
| + | |||
| + | <code json> | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | U projektu '' | ||
| + | |||
| + | <code json> | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Výhody a nevýhody lokálních wrapperů ==== | ||
| + | |||
| + | Výhody: | ||
| + | |||
| + | * obejdou problematické OAuth flow v OpenCode | ||
| + | * používají běžné API key/API secret, které se dají uložit přes '' | ||
| + | * běží lokálně a dají se případně upravit | ||
| + | |||
| + | Nevýhody: | ||
| + | |||
| + | * nejsou to oficiální Higgsfield MCP endpointy | ||
| + | * po existenci oficiálního CLI a skills jsou méně preferovaná cesta | ||
| + | * mohou pokrývat jen část funkcí oficiálního MCP konektoru nebo CLI | ||
| + | * je potřeba řešit instalaci Python prostředí a závislostí | ||
| + | * oba porovnávané projekty kolidují názvem balíčku/ | ||
| + | * bezpečnost API key/API secret je na lokální konfiguraci | ||
| ===== Ověření ===== | ===== Ověření ===== | ||
| Řádek 461: | Řádek 623: | ||
| * znovu provést přihlášení v Claude Code přes ''/ | * znovu provést přihlášení v Claude Code přes ''/ | ||
| * použít device flow, ale počítat s platností tokenu jen 24 hodin a bez možnosti tichého refreshe | * použít device flow, ale počítat s platností tokenu jen 24 hodin a bez možnosti tichého refreshe | ||
| + | |||
| + | Pro oficiální CLI se dá základní funkčnost ověřit samostatně: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | higgsfield model list | ||
| + | higgsfield generate create nano_banana_2 --prompt "test image" --wait | ||
| + | </ | ||
| ===== Rychlý troubleshooting pro budoucí řešení ===== | ===== Rychlý troubleshooting pro budoucí řešení ===== | ||
| Řádek 474: | Řádek 644: | ||
| Význam: OpenCode vytvořil nebo použil OAuth klienta, který nemá povolený scope '' | Význam: OpenCode vytvořil nebo použil OAuth klienta, který nemá povolený scope '' | ||
| - | Rychlé řešení: Nepokračovat laděním API key/API secret. U oficiálního Higgsfield MCP jde o OAuth. Pokud OpenCode OAuth stále selhává, použít token z Claude Code jako Bearer header. Alternativně lze použít device flow, ale získaný token má jen 24hodinovou platnost a bez refresh tokenu. | + | Rychlé řešení: Nepokračovat laděním API key/API secret. U oficiálního Higgsfield MCP jde o OAuth. Pokud OpenCode OAuth stále selhává, použít token z Claude Code jako Bearer header. Alternativně lze použít device flow, ale získaný token má jen 24hodinovou platnost a bez refresh tokenu. Pokud není nutné MCP rozhraní, zvážit oficiální Higgsfield CLI a případně Higgsfield AI Skills. |
| ==== Chyba: redirect_uri nesedí ==== | ==== Chyba: redirect_uri nesedí ==== | ||
| Řádek 484: | Řádek 654: | ||
| </ | </ | ||
| - | Význam: Použitý OAuth klient má předregistrovaný jiný callback než ten, který posílá OpenCode. V mém případě Claude Code používal '' | + | Význam: Použitý OAuth klient má předregistrovaný jiný callback než ten, který posílá OpenCode. V mém případě Claude Code používal '' |
| Rychlé řešení: Nepoužívat Claude Code '' | Rychlé řešení: Nepoužívat Claude Code '' | ||
| Řádek 495: | Řádek 665: | ||
| Rychlé řešení: publikovat port '' | Rychlé řešení: publikovat port '' | ||
| + | |||
| + | ==== CLI hlásí Session expired nebo Not authenticated ==== | ||
| + | |||
| + | Příznak: | ||
| + | |||
| + | < | ||
| + | Session expired | ||
| + | Not authenticated | ||
| + | </ | ||
| + | |||
| + | Význam: CLI token expiroval nebo není uložené platné přihlášení. | ||
| + | |||
| + | Rychlé řešení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield auth login | ||
| + | </ | ||
| + | |||
| + | ==== CLI nezná model ==== | ||
| + | |||
| + | Příznak: | ||
| + | |||
| + | < | ||
| + | Unknown model " | ||
| + | </ | ||
| + | |||
| + | Význam: použitý název modelu není v aktuálním katalogu CLI. | ||
| + | |||
| + | Rychlé řešení: | ||
| + | |||
| + | <code bash> | ||
| + | higgsfield model list | ||
| + | </ | ||
| ===== Poznámky k bezpečnosti ===== | ===== Poznámky k bezpečnosti ===== | ||
| Řádek 504: | Řádek 707: | ||
| * Refresh token může být zneplatněn ze strany Higgsfield (změna hesla, odvolání přístupu) – v takovém případě je nutné provést nový OAuth flow v Claude Code. | * Refresh token může být zneplatněn ze strany Higgsfield (změna hesla, odvolání přístupu) – v takovém případě je nutné provést nový OAuth flow v Claude Code. | ||
| * U lokálních wrapperů nad Higgsfield API neukládat API key/API secret přímo do konfigurace; | * U lokálních wrapperů nad Higgsfield API neukládat API key/API secret přímo do konfigurace; | ||
| + | * Při použití CLI a skills neukládat tokeny ani výstupy s citlivými URL do repozitáře. Pokud se používá '' | ||
| ===== Shrnutí ===== | ===== Shrnutí ===== | ||
| - | Claude Code fungoval, protože použil předregistrovaný OAuth flow a callback '' | + | Claude Code fungoval, protože použil předregistrovaný OAuth flow a callback '' |
| ===== Zdroje ===== | ===== Zdroje ===== | ||
| Řádek 513: | Řádek 717: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||