Tento adresár obsahuje kompletné, funkčné príklady MCP klientov v rôznych programovacích jazykoch. Každý klient demonštruje plnú funkcionalitu popísanú v hlavnom návode README.md.
- Transport: SSE (Server-Sent Events) cez HTTP
- Cieľový server:
http://localhost:8080 - Funkcie:
- Zriadenie spojenia a ping
- Zoznam nástrojov
- Operácie kalkulačky (sčítanie, odčítanie, násobenie, delenie, pomoc)
- Spracovanie chýb a extrakcia výsledkov
Spustenie:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Transport: Stdio (Štandardný vstup/výstup)
- Cieľový server: Lokálny .NET MCP server cez dotnet run
- Funkcie:
- Automatické spustenie servera cez stdio transport
- Zoznam nástrojov a zdrojov
- Operácie kalkulačky
- Parsovanie výsledkov vo formáte JSON
- Komplexné spracovanie chýb
Spustenie:
dotnet run- Transport: Stdio (Štandardný vstup/výstup)
- Cieľový server: Lokálny Node.js MCP server
- Funkcie:
- Plná podpora MCP protokolu
- Operácie s nástrojmi, zdrojmi a promptmi
- Operácie kalkulačky
- Čítanie zdrojov a vykonávanie promptov
- Robustné spracovanie chýb
Spustenie:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Transport: Stdio (Štandardný vstup/výstup)
- Cieľový server: Lokálny Python MCP server
- Funkcie:
- Vzor async/await pre operácie
- Objavovanie nástrojov a zdrojov
- Testovanie operácií kalkulačky
- Čítanie obsahu zdrojov
- Organizácia na báze tried
Spustenie:
python client_example_python.pyKaždá implementácia klienta demonštruje:
-
Správa spojenia
- Zriadenie spojenia s MCP serverom
- Spracovanie chýb spojenia
- Správne ukončenie a správa zdrojov
-
Objavovanie servera
- Zoznam dostupných nástrojov
- Zoznam dostupných zdrojov (ak je podporované)
- Zoznam dostupných promptov (ak je podporované)
-
Vykonávanie nástrojov
- Základné operácie kalkulačky (sčítanie, odčítanie, násobenie, delenie)
- Príkaz pomoc pre informácie o serveri
- Správne odovzdávanie argumentov a spracovanie výsledkov
-
Spracovanie chýb
- Chyby spojenia
- Chyby pri vykonávaní nástrojov
- Elegantné zlyhanie a spätná väzba pre používateľa
-
Spracovanie výsledkov
- Extrakcia textového obsahu z odpovedí
- Formátovanie výstupu pre čitateľnosť
- Spracovanie rôznych formátov odpovedí
Pred spustením týchto klientov sa uistite, že máte:
- Spustený príslušný MCP server (z
../01-first-server/) - Nainštalované požadované závislosti pre zvolený jazyk
- Správne sieťové pripojenie (pre transporty založené na HTTP)
| Jazyk | Transport | Spustenie servera | Async model | Kľúčové knižnice |
|---|---|---|---|---|
| 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 preskúmaní týchto príkladov klientov:
- Upravte klientov na pridanie nových funkcií alebo operácií
- Vytvorte vlastný server a otestujte ho s týmito klientmi
- Experimentujte s rôznymi transportmi (SSE vs. Stdio)
- Vytvorte komplexnejšiu aplikáciu, ktorá integruje MCP funkcionalitu
- Spojenie odmietnuté: Uistite sa, že MCP server beží na očakávanom porte/ceste
- Modul nenájdený: Nainštalujte požadovaný MCP SDK pre váš jazyk
- Prístup odmietnutý: Skontrolujte oprávnenia súborov pre stdio transport
- Nástroj nenájdený: Overte, že server implementuje očakávané nástroje
- Povoľte podrobné logovanie vo vašom MCP SDK
- Skontrolujte logy servera pre chybové hlásenia
- Overte názvy a podpisy nástrojov, či sa zhodujú medzi klientom a serverom
- Najskôr otestujte s MCP Inspector, aby ste overili funkcionalitu servera
Upozornenie:
Tento dokument bol preložený pomocou služby na automatický preklad Co-op Translator. Hoci sa snažíme o presnosť, upozorňujeme, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre dôležité informácie odporúčame profesionálny ľudský preklad. Nezodpovedáme za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.