====== MCP Inspector: základní přehled a spuštění v mém prostředí ====== ===== Úvodní Kontext ===== Potřeboval jsem rychle otestovat a ladit MCP servery přes grafické rozhraní místo ručního posílání požadavků. Pro tento účel jsem použil projekt MCP Inspector: https://github.com/modelcontextprotocol/inspector. Z oficiální dokumentace jsem si ověřil, že jde o nástroj pro testování a debugging MCP serverů. Prakticky kombinuje webové rozhraní pro interaktivní práci a proxy vrstvu, která se stará o připojení k MCP serverům. ===== Co je MCP Inspector ===== MCP Inspector používám jako vývojářský nástroj pro rychlou kontrolu toho, zda se MCP server spustí, zpřístupní nástroje a vrací očekávané odpovědi. Hodí se ve chvíli, kdy potřebuji ověřit konfiguraci serveru, zkontrolovat komunikaci nebo reprodukovat problém mimo konkrétního MCP klienta. Základní výhoda je v tom, že dostanu přehledné UI a nemusím si psát vlastní pomocné skripty jen kvůli testování. Oficiální projekt je dostupný na GitHubu: https://github.com/modelcontextprotocol/inspector. ===== Ukázka jak s MCP Inspectorem pracovat ===== Vycházel jsem z tohoto zdroje: https://www.dokuwiki.org/plugin:mcp Samotný print screen napoví: {{.:pasted:20260307-125542.png}} ===== Klíčové Kroky ===== ==== Základní spuštění ==== Inspector jsem spustil tímto příkazem: npx @modelcontextprotocol/inspector Podle projektu tím standardně naběhne klientské rozhraní na portu ''%%6274%%'' a proxy server na portu ''%%6277%%''. Právě port ''%%6277%%'' byl v mém prostředí důležitý pro samotné připojení k MCP serverům. ==== Problém s připojením k MCP serverům ==== Po spuštění jsem narazil na problém, kdy se Inspector nedařilo korektně připojit k MCP serverům. Samotné spuštění proběhlo, ale komunikace nefungovala správně. Ukázalo se, že v mém prostředí nebyl na hostitelském počítači povolený port ''%%6277%%''. Dokud jsem tento port neotevřel na firewallu, Inspector se k MCP serverům nepřipojil tak, jak jsem potřeboval. V Dockeru jsem ale navíc zjistil ještě jednu zvláštnost: po spuštění Inspectoru jsem musel nejdříve zavolat endpoint ''%%/health%%'', aby se proxy server skutečně "aktivoval": curl http://127.0.0.1:6277/health Zatím jsem nepřišel na to, proč je to potřeba a jak to rozumně zjednodušit. Beru to zatím jako workaround. Důležité je, že tento krok nepomáhal na hostitelském počítači - volání muselo proběhnout uvnitř Dockeru. Jakmile jsem to udělal v Dockeru, začalo to následně fungovat i na hostitelském počítači. ==== Oprava na firewallu ==== Pomohlo mi povolit příchozí TCP provoz na port ''%%6277%%'' pro rozhraní ''%%docker0%%'': ufw allow in on docker0 to any port 6277 proto tcp Po přidání tohoto pravidla začalo spojení fungovat správně. ===== Důležitá Nastavení ===== * **Projekt:** https://github.com/modelcontextprotocol/inspector * **Start příkaz:** ''%%npx @modelcontextprotocol/inspector%%'' * **UI port:** ''%%6274%%'' * **Proxy port:** ''%%6277%%'' * **Aktivace proxy v Dockeru:** ''%%curl http://127.0.0.1:6277/health%%'' * **Firewall pravidlo:** ''%%ufw allow in on docker0 to any port 6277 proto tcp%%'' V mém případě bylo kritické si uvědomit, že samotné spuštění Inspectoru ještě neznamená funkční síťovou komunikaci směrem k MCP serverům. Rozhodující bylo povolení správného portu na hostitelském firewallu a v Dockeru navíc ruční aktivace proxy přes ''%%/health%%''. ===== Praktický Postup, Který Mi Fungoval ===== Nejprve jsem spustil Inspector příkazem ''%%npx @modelcontextprotocol/inspector%%''. Následně jsem ověřil, že problém není ve startu aplikace, ale v navázání spojení k MCP serverům. Pokud Inspector běžel v Dockeru, zavolal jsem uvnitř kontejneru ještě: curl http://127.0.0.1:6277/health Teprve potom se proxy server korektně aktivoval. Samotné zavolání stejného endpointu na hostitelském počítači mi nepomohlo. Potom jsem na hostitelském stroji přidal UFW pravidlo pro port ''%%6277%%'' na rozhraní ''%%docker0%%'': ufw allow in on docker0 to any port 6277 proto tcp Po této změně už Inspector fungoval správně a připojení k MCP serverům bylo v pořádku. ===== Závěr / Výstupy ===== MCP Inspector mi posloužil jako jednoduchý nástroj pro základní testování a debugging MCP serverů. V mém nasazení nebyl problém jen v samotném nástroji, ale i v tom, že bylo potřeba explicitně povolit port ''%%6277%%'' na firewallu hostitelského počítače a v Dockeru ručně aktivovat proxy voláním ''%%curl http://127.0.0.1:6277/health%%''. Zatím to beru jako praktický workaround, protože přesný důvod tohoto chování jsem ještě nedohledal.