Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| ai:mcp:klienti:higgsfield-mcp-v-claude-code-a-opencode [02.05.2026 08:04] – Nový článek o nasazení Higgsfield MCP v Claude Code a OpenCode Petr Nosek | ai:mcp:klienti:higgsfield-mcp-v-claude-code-a-opencode [02.05.2026 08:23] (aktuální) – Doplnění alternativních komunitních MCP serverů pro Higgsfield 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 a nakonec pomohlo použít token získaný | + | 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ší |
| ===== Výchozí stav ===== | ===== Výchozí stav ===== | ||
| Řádek 120: | Řádek 120: | ||
| 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 '' | ||
| - | ===== Funkční workaround: token z Claude Code pro OpenCode ===== | + | ===== 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 ===== | ||
| + | |||
| + | Později jsem našel pokyn pro OpenClaw, že Higgsfield MCP podporuje OAuth device flow. To je pro OpenCode zajímavé, protože device flow nepotřebuje lokální '' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Pro device flow je důležitý server '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ==== Ruční spuštění device flow ==== | ||
| + | |||
| + | Získání device kódu: | ||
| + | |||
| + | <code bash> | ||
| + | curl -s https:// | ||
| + | -X POST \ | ||
| + | -H ' | ||
| + | -d ' | ||
| + | </ | ||
| + | |||
| + | Odpověď má tvar: | ||
| + | |||
| + | <code json> | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Uživatel otevře '' | ||
| + | |||
| + | <code bash> | ||
| + | curl -s https:// | ||
| + | -X POST \ | ||
| + | -H ' | ||
| + | -d ' | ||
| + | </ | ||
| + | |||
| + | Po úspěšném potvrzení se vrátí Bearer token: | ||
| + | |||
| + | <code json> | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Tento token je možné uložit do stejného souboru, který používá OpenCode: | ||
| + | |||
| + | <code bash> | ||
| + | install -m 600 /dev/null / | ||
| + | # do souboru zapsat pouze access_token, | ||
| + | </ | ||
| + | |||
| + | OpenCode konfigurace zůstává stejná jako u Bearer workaroundu: | ||
| + | |||
| + | <code json> | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Nevýhoda device flow ==== | ||
| + | |||
| + | Device flow se podařilo dokončit a token fungoval, ale v odpovědi byl parametr: | ||
| + | |||
| + | < | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | To znamená platnost jen 24 hodin. Pro běžné používání OpenCode je to příliš krátké, protože by bylo nutné device flow opakovat každý den nebo řešit automatické obnovování. Proto jsem se po testu vrátil k tokenu převzatému z Claude Code credentials, | ||
| + | |||
| + | ===== Preferovaný | ||
| Protože Claude Code už měl vůči Higgsfield úspěšně získaný OAuth token, nejrychlejší funkční řešení bylo: | Protože Claude Code už měl vůči Higgsfield úspěšně získaný OAuth token, nejrychlejší funkční řešení bylo: | ||
| Řádek 189: | Řádek 358: | ||
| </ | </ | ||
| - | Pokud se později začne vracet '' | + | Pokud se později začne vracet '' |
| + | |||
| + | * znovu provést přihlášení v Claude Code přes ''/ | ||
| + | * použít device flow, ale počítat s platností tokenu jen 24 hodin | ||
| ===== Rychlý troubleshooting pro budoucí řešení ===== | ===== Rychlý troubleshooting pro budoucí řešení ===== | ||
| Řádek 203: | Řádek 375: | ||
| 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. | + | 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. |
| ==== Chyba: redirect_uri nesedí ==== | ==== Chyba: redirect_uri nesedí ==== | ||
| Řádek 215: | Řádek 387: | ||
| 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 '' |
| ==== Claude Code auth link se otevře, ale callback neprojde ==== | ==== Claude Code auth link se otevře, ale callback neprojde ==== | ||
| Řádek 230: | Řádek 402: | ||
| * Soubor '' | * Soubor '' | ||
| * Token v článku, logu ani chatu nevypisovat. | * Token v článku, logu ani chatu nevypisovat. | ||
| - | * Pokud token expiruje nebo je kompromitovaný, | + | |
| + | | ||
| + | * U lokálních wrapperů nad Higgsfield API neukládat API key/API secret přímo do konfigurace; | ||
| ===== 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 240: | Řádek 414: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| * [[ai: | * [[ai: | ||