Tento adresář obsahuje kompletní, funkční příklady MCP klientů v různých programovacích jazycích. Každý klient demonstruje plnou funkcionalitu popsanou v hlavním návodu README.md.
- Transport: SSE (Server-Sent Events) přes HTTP
- Cílový server:
http://localhost:8080 - Funkce:
- Navázání spojení a ping
- Výpis nástrojů
- Operace kalkulačky (sčítání, odčítání, násobení, dělení, nápověda)
- Zpracování chyb a extrakce výsledků
Jak spustit:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Transport: Stdio (Standardní vstup/výstup)
- Cílový server: Lokální .NET MCP server přes dotnet run
- Funkce:
- Automatické spuštění serveru přes stdio transport
- Výpis nástrojů a zdrojů
- Operace kalkulačky
- Parsování výsledků v JSON formátu
- Komplexní zpracování chyb
Jak spustit:
dotnet run- Transport: Stdio (Standardní vstup/výstup)
- Cílový server: Lokální Node.js MCP server
- Funkce:
- Plná podpora MCP protokolu
- Operace s nástroji, zdroji a výzvami
- Operace kalkulačky
- Čtení zdrojů a provádění výzev
- Robustní zpracování chyb
Jak spustit:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Transport: Stdio (Standardní vstup/výstup)
- Cílový server: Lokální Python MCP server
- Funkce:
- Vzor async/await pro operace
- Objevování nástrojů a zdrojů
- Testování operací kalkulačky
- Čtení obsahu zdrojů
- Organizace založená na třídách
Jak spustit:
python client_example_python.pyKaždá implementace klienta demonstruje:
-
Správa spojení
- Navázání spojení s MCP serverem
- Zpracování chyb při spojení
- Správné uvolnění zdrojů
-
Objevování serveru
- Výpis dostupných nástrojů
- Výpis dostupných zdrojů (pokud je podporováno)
- Výpis dostupných výzev (pokud je podporováno)
-
Volání nástrojů
- Základní operace kalkulačky (sčítání, odčítání, násobení, dělení)
- Příkaz nápovědy pro informace o serveru
- Správné předávání argumentů a zpracování výsledků
-
Zpracování chyb
- Chyby při spojení
- Chyby při provádění nástrojů
- Elegantní selhání a zpětná vazba uživateli
-
Zpracování výsledků
- Extrakce textového obsahu z odpovědí
- Formátování výstupu pro čitelnost
- Zpracování různých formátů odpovědí
Před spuštěním těchto klientů se ujistěte, že máte:
- Běžící odpovídající MCP server (z
../01-first-server/) - Nainstalované požadované závislosti pro zvolený jazyk
- Správné síťové připojení (pro transporty založené na HTTP)
| Jazyk | Transport | Spuštění serveru | Async model | Klíčové knihovny |
|---|---|---|---|---|
| Java | SSE/HTTP | Externí | Sync | WebFlux, MCP SDK |
| C# | Stdio | Automatické | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | Automatické | Async/Await | Node MCP SDK |
| Python | Stdio | Automatické | AsyncIO | Python MCP SDK |
| Rust | Stdio | Automatické | Async/Await | Rust MCP SDK, Tokio |
Po prozkoumání těchto příkladů klientů:
- Upravte klienty, abyste přidali nové funkce nebo operace
- Vytvořte vlastní server a otestujte ho s těmito klienty
- Experimentujte s různými transporty (SSE vs. Stdio)
- Vytvořte komplexnější aplikaci, která integruje MCP funkcionalitu
- Spojení odmítnuto: Ujistěte se, že MCP server běží na očekávaném portu/cestě
- Modul nenalezen: Nainstalujte požadovaný MCP SDK pro váš jazyk
- Přístup odepřen: Zkontrolujte oprávnění souborů pro stdio transport
- Nástroj nenalezen: Ověřte, že server implementuje očekávané nástroje
- Povolte podrobné logování ve vašem MCP SDK
- Zkontrolujte logy serveru pro chybové zprávy
- Ověřte názvy a podpisy nástrojů, že odpovídají mezi klientem a serverem
- Nejprve otestujte pomocí MCP Inspector, abyste ověřili funkčnost serveru
Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.