RE:NODE

Připoj Claude ke svému hernímu serveru nebo aplikaci přes MCP

Text: Tým RE:NODE
15 min čtení


Abys připojil Claude k serveru RE:NODE, přidáš jedinou adresu - https://panel.renode.space/api/client/mcp - jako vzdálený MCP server a pak jednou v prohlížeči schválíš připojení. V Claude Code je to jeden příkaz claude mcp add, v Claude.ai vlastní konektor se stejnou adresou. Nic se neinstaluje ani na tvém počítači, ani na serveru. Na stránce se souhlasem vybereš, ke kterým serverům asistent smí a na jaké úrovni: Files (čtení a úpravy souborů, čtení konzole) nebo Manage (totéž plus start, stop, restart a příkazy do konzole). Databáze, zálohy, plánované úlohy, uživatelé, startovací nastavení a hesla zůstávají mimo dosah, ať zvolíš cokoli.

Pokud chceš pomoc jen s jedním serverem v jedné konverzaci, existuje kratší cesta: tlačítko Connect AI nad konzolí vytvoří sdílený odkaz, který vložíš do chatu. Obě cesty jsou popsané níže, stejně jako to, co asistent skutečně vidí, co mu zůstává skryté a co dělat, když se spojení nepodaří. Nic z toho není vázané na hry - server pro Valheim, bot pro Discord i aplikace v Next.js vypadají pro asistenta stejně.

Co je MCP, v jednom odstavci#

Model Context Protocol je standardní způsob, jak může AI asistent volat nástroje, které žijí jinde. MCP server zveřejňuje seznam nástrojů se jmény a argumenty - read_file, tail_console, power - a asistent sám rozhoduje, kdy který zavolá, přečte výsledek a pokračuje. Vzdálený MCP server je takový, ke kterému se připojuješ přes HTTPS, místo aby běžel jako lokální program. Ten náš mluví protokolem Streamable HTTP, což je to, co současní klienti Claude od vzdáleného serveru čekají, takže není co instalovat, na tvém počítači nepotřebuješ Node.js ani Python a nemusíš nic udržovat aktuální.

Praktický rozdíl oproti vkládání logů do chatu je, že asistent přestane hádat. Místo abys kopíroval posledních 40 řádků konzole a popisoval strukturu složek, vypíše si adresář sám, přečte server.properties nebo package.json, projde konzoli a řekne ti, co našel. Na úrovni Manage pak může server restartovat a sledovat, jak naběhne.

Dvě cesty dovnitř: MCP endpoint, nebo sdílený odkaz#

Dveře jsou dvoje a hodí se na různou práci.

CestaNejlepší proPlatnost
MCP endpoint + OAuthPrůběžnou práci napříč tvými serveryZůstává připojené, dokud se používá
Sdílený odkaz (Connect AI)Jeden server, jedna konverzace7 dní nečinnosti (čtení), 24 hodin nečinnosti (ovládání)

MCP endpoint s OAuth je to, co si nastav, pokud Claude používáš pravidelně. Připojíš se jednou, vybereš servery a úroveň a asistent si přístup udržuje sám: přístupové tokeny platí hodinu a obnovují se na pozadí, obnovovací token se při každém použití posune o 30 dní. Asistent, kterého otevřeš jednou za měsíc, tě nikdy nepožádá o nové přihlášení. Dostane také nástroj list_servers, takže můžeš říct „ten minecraftový“ místo vkládání ID.

Sdílený odkaz platí pro jediný server a je to něco, co předáváš, ne něco, kam se přihlašuješ. Funguje v každém asistentovi, který umí otevřít URL - Claude, ChatGPT nebo cokoli jiného - protože v nejjednodušším případě je to stránka v markdownu popisující server. Odkaz vytvořený pro účel Manage this server umí i jednat a má vlastní MCP adresu, kterou můžeš přidat do Claude jako konektor.

Pokud váháš, začni s OAuth v tom klientovi Claude, který používáš nejčastěji. Sdílené odkazy si nech na rychlou jednorázovou věc nebo pro asistenta, který vzdálené MCP vůbec nepodporuje.

Připojení Claude Code#

Claude Code je agent pro příkazovou řádku a nastavuje se nejrychleji. V libovolném terminálu:

bash
$ claude mcp add --transport http renode https://panel.renode.space/api/client/mcp

renode je jen jméno, které bude server mít uvnitř Claude Code - pojmenuj ho, jak chceš. Příkaz server zaregistruje, ale ještě tě nepřihlásí. Spusť Claude Code a zadej /mcp. U položky renode uvidíš, že vyžaduje ověření; vyber ji a Claude Code otevře v prohlížeči stránku se souhlasem na panelu.

  1. Pokud nejsi do panelu přihlášený, nejdřív se přihlásíš (s dvoufázovým kódem, pokud ho máš) a hned potom se vrátíš na stránku se souhlasem.
  2. Zkontroluj, kam se schválení vrací. U Claude Code je to adresa localhost a stránka na to upozorní - u CLI je to očekávané, protože prohlížeč předává kód programu na tvém vlastním počítači.
  3. Vyber All my servers, nebo konkrétní servery.
  4. Vyber úroveň: Files nebo Manage.
  5. Schval. Kartu prohlížeče můžeš zavřít; Claude Code teď nástroje má.

Zpátky v Claude Code se zeptej na něco, co si vynutí volání nástroje: „Vypiš moje servery RE:NODE a řekni mi, které z nich běží.“ Pokud odpoví skutečnými jmény tvých serverů, spojení funguje.

Pár podrobností o Claude Code, které se hodí znát:

  • Ve výchozím stavu claude mcp add zaregistruje server jen pro aktuální projekt. Přidej --scope user, aby byl dostupný v každém projektu na tvém počítači, nebo --scope project, aby se zapsal do souboru .mcp.json v repozitáři a kolegové měli stejný záznam (každý se přesto přihlašuje sám za sebe).
  • claude mcp list ukáže, co je zaregistrované a zda se každý server připojí. claude mcp remove renode odstraní záznam na tvé straně.
  • Odstranění záznamu neruší oprávnění na panelu. Abys přístup ukončil řádně, odpoj ho také v panelu - viz oddíl o odebrání přístupu níže.

Místo toho API klíč

Pokud už pro skripty používáš klientský API klíč, funguje dál a prohlížeč nepotřebuje:

bash
$ claude mcp add --transport http renode https://panel.renode.space/api/client/mcp \    --header "Authorization: Bearer ptlc_your_key_here"

Tohle je méně úhledná varianta. Klíč má plný dosah klientského API tvého účtu, sám nikdy nevyprší a leží jako prostý text v konfiguraci Claude Code. Případný seznam povolených IP adres u klíče a vynucené dvoufázové ověření platí dál, stejně jako u každého volání klientského API. Dej přednost OAuth, pokud k tomu nemáš důvod - třeba stroj bez prohlížeče, ve kterém by se dalo schválit.

Připojení Claude.ai a Claude Desktop#

V Claude.ai se stejný endpoint přidává jako vlastní konektor. Přesné názvy v nabídce se mění, jak Anthropic aplikaci aktualizuje, ale cesta vede přes Settings, pak Connectors a možnost přidat vlastní konektor.

  1. Dej mu jméno, třeba RE:NODE.
  2. Jako URL vlož https://panel.renode.space/api/client/mcp. Pole pro OAuth client ID a secret nech prázdná - panel podporuje dynamickou registraci, takže se Claude zaregistruje sám.
  3. Ulož a stiskni Connect. V prohlížeči se otevře stránka se souhlasem na panelu.
  4. Vyber servery a úroveň a schval.

Stránka se souhlasem ukazuje jméno aplikace, která žádá o přístup, a adresu, na kterou se schválení vrací. U Claude.ai by to měla být adresa Anthropicu, ne něco, co nepoznáváš. Pokud stránka uvádí, že jméno klienta „nikdo neověřil“, je to pravda: kdokoli může zaregistrovat klienta a pojmenovat ho jakkoli, a právě proto stránka ukazuje i adresu návratu. Přečti si ji, než schválíš.

Po připojení konektor v konverzaci zapni (v nabídce nástrojů pod polem pro zprávu) a požádej Claude, aby vypsal tvé servery.

Claude Desktop používá konektory z tvého účtu Claude, takže konektor přidaný v Claude.ai by se měl objevit i tam. Zda jsou vlastní konektory vůbec dostupné, záleží na tvém tarifu Claude - to je věc, kterou ti řeknou nápovědné stránky Anthropicu, ne my. Endpoint jsme postavili a otestovali proti Claude Code a vlastním konektorům v Claude.ai. Řídí se specifikací MCP, takže by měli fungovat i další klienti podporující vzdálené MCP s OAuth, ale ChatGPT ani Cursor jsme s ním netestovali a nic neslibujeme.

Lišta Connect AI v konzoli#

Na kartě Console každého serveru, nad terminálem, je lišta s názvem Work on this server with AI. Zobrazuje se i na kartě Startup. Vidí ji každý, kdo smí číst startovací nastavení serveru, tedy vlastník a většina poduživatelů.

Má jednu rozbalovací nabídku, What the assistant is for, a jedno tlačítko, Connect AI. Účely jsou:

ÚčelCo dostaneš
GeneralOdkaz pro čtení, aby asistent pochopil server
Set up a new projectOdkaz pro čtení s pokyny k nastavení
Fix my repositoryOdkaz pro čtení zaměřený na repozitář
Server won't startPrompt s koncem konzole, bez odkazu
Connect a databaseOdkaz pro čtení s kroky pro databázi
Add a domainOdkaz pro čtení s kroky pro doménu
Manage this serverOvládací odkaz, který umí jednat

Stiskni Connect AI a panel vytvoří odkaz ve tvaru https://panel.renode.space/ai/rnai_... a zkopíruje ho do schránky. Zobrazí se jen tentokrát - panel si uchovává hash, ne odkaz - takže si ho někam vlož, než dialog zavřeš. Vlož ho do chatu s větou o tom, co chceš, a asistent ho otevře a získá markdownový popis serveru: runtime, startovací příkaz, pořadí startu, adresu a port serveru, nálezy z kontroly před startem z repozitáře, pokud je připojený, a pokyny pro zvolený účel.

Server won't start je výjimka. Místo odkazu zkopíruje hotový prompt s nejnovějším výstupem konzole, protože při pádu je nejužitečnější poslední obrazovka logu a nemá čekat, až si ji asistent stáhne. Použij ho na kartě Console, aby se řádky konzole přibalily. Pokud pád není jednorázový, ale smyčka, náš průvodce smyčkami pádů vysvětluje, co výstup obvykle znamená.

Odkaz Manage this server ukáže druhou adresu, URL MCP serveru, končící na /mcp. Vlož ji do Claude.ai jako vlastní konektor, nebo ji přidej v Claude Code:

bash
$ claude mcp add --transport http renode-link https://panel.renode.space/ai/rnai_xxx/mcp

Žádné přihlášení se tu neděje - přihlašovacím údajem je samotný odkaz. V tom je jeho smysl a také důvod, proč je postavený tak, aby rychle zanikl.

Co asistent vidí a co může dělat#

Přes MCP endpoint má asistent tyto nástroje. Které fungují, záleží na schválené úrovni a na tvých vlastních oprávněních k danému serveru; obojí se kontroluje při každém volání.

NástrojCo děláÚroveň
list_serversTvé servery pokryté oprávněnímFiles
get_server_contextRuntime, start, adresa, poznámkyFiles
get_resourcesAktuální využití paměti, CPU a diskuFiles
get_setup_promptPokyny k úkolu pro tento serverFiles
tail_consolePoslední výstup konzoleFiles
list_filesVýpisy adresářůFiles
read_fileObsah souboru, tajné údaje skrytyFiles
write_fileVytvoří nebo přepíše textový souborFiles
set_envNastaví klíče v .env bez jeho čteníFiles
send_commandZadá příkaz do konzoleManage
powerStart, stop, restart nebo killManage

Než se na to začneš spoléhat, hodí se znát několik chování:

  • tail_console vrací nejvýše posledních 100 řádků, protože tolik drží v bufferu démon serveru. U starší chyby nech asistenta přečíst soubor s logem - například logs/latest.log v Minecraftu.
  • write_file zapisuje text v UTF-8 do velikosti 1 MB. Nezapíše nic pod .git/, protože .git/hooks je kód, který se spustí při dalším fetchi.
  • Nástroje jsou vždy vypsané, i ty, které tvá úroveň nedovoluje. Odmítnuté volání se vrátí jako srozumitelná chyba, které asistent rozumí, takže připojení na úrovni Files, které požádáš o restart, ti řekne, že to nemůže, místo aby tiše selhalo.
  • Power akce, příkazy do konzole a zápisy souborů se zaznamenávají do protokolu aktivity serveru pod tvým účtem, s označením, že přišly přes OAuth se jménem klienta, nebo přes odkaz. Restart provedený asistentem se počítá jako záměrný restart, ne jako pád.

U sdíleného odkazu je sada užší. Odkaz pro čtení dostane kontext, pokyny k úkolům, využití zdrojů, konec konzole a výpisy adresářů - ale ne obsah souborů, protože odkaz pro čtení zůstává platný týden nečinnosti a často skončí v historii chatu, a v .env bývají tajné údaje. Ovládací odkaz přidává čtení a zápis souborů, příkazy do konzole a power akce. list_servers není přes odkaz nikdy dostupný: odkaz zná přesně jeden server.

Co zůstává mimo dosah#

Některé věci nedosáhne žádná úroveň ani odkaz. Přes MCP endpoint nikdy: databáze a jejich hesla, zálohy, plánované úlohy, poduživatelé, startovací příkaz a proměnné, nastavení serveru. Přes odkaz nikdy: mazání nebo přejmenování souborů, přeinstalace, změny startu a proměnných, databáze, zálohy, plánované úlohy, uživatelé, údaje k SFTP nebo API klíče.

Tajné údaje se řeší zvlášť. Každý bajt, který těmito nástroji odejde - kontext, konzole, obsah souborů - projde redaktorem, který pracuje ve třech vrstvách:

  1. Podle jména. Každá proměnná, která se jmenuje třeba TOKEN, PASSWORD, KEY, SECRET, AUTH nebo SALT, má hodnotu skrytou.
  2. Podle tvaru. Řetězce, které vypadají jako klíče GitHub, Slack, OpenAI nebo AWS, JWT, hesla uvnitř URL nebo dlouhé náhodně vypadající řetězce, se skryjí, ať se jmenují jakkoli.
  3. Podle hodnoty. Skutečné tajné hodnoty serveru a hesla jeho databází se sesbírají a z hotového výstupu se vymažou, což zachytí heslo vložené do proměnné pojmenované NOTES.

Právě kvůli redakci existuje set_env. Kdyby asistent přečetl soubor .env a zapsal ho zpět, každé heslo by se vrátilo jako zástupný text a aplikace by přestala fungovat. set_env místo toho na straně panelu nahradí nebo připojí pojmenované klíče, zachová každý další bajt souboru a vrátí jen jména klíčů. Můžeš Claude říct „nastav DATABASE_URL v .env na tuto hodnotu“ a nic z odpovědi ji neopakuje. Funguje jen na soubory pojmenované .env nebo začínající .env. Víc o tom, kam tajné údaje patří, najdeš v článku proměnné prostředí a tajné údaje.

Limity, vypršení a odebrání přístupu#

Připojení přes OAuth a sdílené odkazy stárnou různě.

  • OAuth: přístupové tokeny platí 1 hodinu a obnovují se automaticky. Obnovovací tokeny platí 30 dní a s každou obnovou se posouvají. Pokud se někdy znovu předloží už spotřebovaný token - znamení, že byl zkopírován - celé oprávnění se zruší a budeš muset schválit znovu.
  • Odkazy pro čtení: každé použití prodlouží odkaz na 7 dní nečinnosti, nejvýše do 90 dní od vytvoření.
  • Ovládací odkazy: každé použití prodlouží odkaz na 24 hodin nečinnosti, nejvýše do 30 dní od vytvoření.
  • Server má nejvýše pět aktivních odkazů, z toho dva ovládací. Vytvoření nového odkazu pro stejný účel nahradí předchozí.
  • Každý odkaz povoluje 60 požadavků za minutu, 20 akcí za minutu a 6 power akcí za minutu.
  • Odkaz přestane fungovat ve chvíli, kdy jeho tvůrce ztratí přístup k serveru. Prošlý, zrušený nebo odmítnutý odkaz odpoví prostým 404, takže neprozradí, zda vůbec někdy existoval.

Přístup ukončíš dřív v panelu přes Account, then Connected AI. Vypisuje každé připojení OAuth s tlačítkem Disconnect a každý aktivní sdílený odkaz, který jsi vytvořil, na kterémkoli serveru, s tlačítkem Revoke. Tady se uklízí, když zmizí notebook nebo odejde kolega - a kolegy je stejně lepší řešit jako poduživatele s úzkými oprávněními, jak vysvětluje článek poduživatelé a nejnižší nutná oprávnění. Pozor: „All my servers“ na stránce se souhlasem znamená servery, které vlastníš, plus servery, kde jsi aktuální poduživatel, a tvá oprávnění poduživatele omezují, co tam asistent smí.

Ukázka z praxe: server, který se zastaví při startu#

Tady je typická relace s Claude Code připojeným na úrovni Manage, na aplikaci v Node.js, která spadne po aktualizaci. Zadání:

code
My RE:NODE server "shop-api" stopped starting after this morning's deploy.Find out why, fix it, restart it and confirm it stays up.

Asistent zavolá list_servers, aby přeložil „shop-api“ na ID, a pak get_server_context, aby zjistil runtime, startovací příkaz a port. Zavolá tail_console a vidí, že aplikace se váže na port 3000, ačkoli port serveru je jiný. Zavolá read_file na package.json a vstupní soubor, najde napevno zadaný port a pomocí write_file ho změní tak, aby četl process.env.PORT a vázal se na 0.0.0.0 místo localhost. Restartuje přes power, znovu projde konzoli a nahlásí, co změnil.

Každý krok je vidět v konverzaci a každý zápis i restart skončí v protokolu aktivity serveru. Prohlédni si diff, než ho přijmeš - zásady z článku AI kódovací agenti pro práci se servery platí tady úplně stejně jako na jakémkoli jiném stroji. Stejný postup funguje i u hry: „server pro Valheim je v seznamu, ale nikdo se nemůže připojit“ asistenta provede konzolí, startovacími parametry, které umí přečíst, a soubory světa, ale startovací proměnné sám změnit nemůže a řekne ti, kterou hodnotu máš změnit na kartě Startup.

Řešení potíží s připojením#

V Claude Code se nikdy neotevře prohlížeč. Spusť /mcp, vyber server a zvol ověření. Na vzdáleném stroji bez prohlížeče zkopíruj URL, kterou Claude Code vypíše, do prohlížeče na svém počítači; přesměrování zpět na localhost se dokončí jen na stroji, na kterém Claude Code běží, takže pro stroj bez displeje je jednodušší API klíč.

Stránka se souhlasem ukazuje chybu místo formuláře. Panel zobrazuje chyby na stránce a nepřesměrovává, dokud neověří klienta a jeho návratovou adresu. Konektor odstraň a přidej znovu, aby se klient zaregistroval načisto.

Claude říká, že nástroje existují, ale každé volání selže. Zkontroluj úroveň. Oprávnění Files odmítne power a send_command. Pak zkontroluj svá vlastní oprávnění: na serveru, kde jsi poduživatel bez přístupu ke konzoli, ho nemá ani asistent.

Sdílený odkaz vrací 404. Vypršel, byl nahrazen novějším odkazem pro stejný účel, byl zrušen, nebo jsi ztratil přístup k serveru. Vytvoř nový z lišty v konzoli.

Asistent vidí zástupný text tam, kde čekal hodnotu. To pracuje redaktor. Pokud potřebuje změnit tajný údaj, požádej ho, ať použije set_env; pokud potřebuje znát hodnotu, nedostane ji.

Výzvy k dvoufázovému ověření při přihlášení. To je v pořádku. Stránka se souhlasem je za stejnou dvoufázovou kontrolou jako zbytek panelu - viz dvoufázové ověření na účtu v panelu.

FAQ#

Provozuje RE:NODE AI model, nebo vidí moje konverzace?

Ne. Žádný model neprovozujeme. MCP endpoint a sdílené odkazy jsou dveře pro tvého vlastního asistenta; Claude běží na straně Anthropicu pod tvým účtem Claude a panel vidí jen volání nástrojů, která asistent provede, a ta se zaznamenávají k tvým serverům.

Může Claude smazat můj svět nebo soubory?

Těmito nástroji ne. MCP endpoint nemá žádný nástroj pro mazání a odkazy mazání i přejmenování rovnou odmítají. Soubor ale může na obou úrovních přepsat přes write_file, takže před relací, ve které se upravují konfigurace, měj čerstvou zálohu.

Mohu Claude připojit jen k jednomu serveru?

Ano. Na stránce se souhlasem vyber ten server místo All my servers, nebo použij sdílený odkaz z karty Console toho serveru, který může dosáhnout vždy jen na tento jeden server.

Funguje to s ChatGPT nebo Cursorem?

Sdílený odkaz funguje v ChatGPT, protože je to URL. MCP endpoint a OAuth jsou postavené a otestované proti Claude; další klienti podporující vzdálené MCP by měli fungovat, ale ChatGPT ani Cursor jsme s nimi neověřovali.

Co se stane, když to nějakou dobu nepoužívám?

Připojení OAuth přežije až 30 dní bez použití; potom tě Claude požádá o nové schválení. Odkaz pro čtení vyprší po 7 dnech nečinnosti a ovládací odkaz po 24 hodinách, bez jakéhokoli úklidu z tvé strany.

Pomohlo vám to?