Ovaj direktorij sadrži kompletne, funkcionalne primjere MCP klijenata u različitim programskim jezicima. Svaki klijent demonstrira punu funkcionalnost opisanu u glavnom README.md vodiču.
- Transport: SSE (Server-Sent Events) preko HTTP-a
- Ciljani Server:
http://localhost:8080 - Značajke:
- Uspostavljanje veze i ping
- Popis alata
- Operacije kalkulatora (zbrajanje, oduzimanje, množenje, dijeljenje, pomoć)
- Rukovanje greškama i izdvajanje rezultata
Za pokretanje:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Transport: Stdio (Standardni Ulaz/Izlaz)
- Ciljani Server: Lokalni .NET MCP server putem dotnet run
- Značajke:
- Automatsko pokretanje servera putem stdio transporta
- Popis alata i resursa
- Operacije kalkulatora
- Parsiranje JSON rezultata
- Sveobuhvatno rukovanje greškama
Za pokretanje:
dotnet run- Transport: Stdio (Standardni Ulaz/Izlaz)
- Ciljani Server: Lokalni Node.js MCP server
- Značajke:
- Potpuna podrška za MCP protokol
- Operacije alata, resursa i upita
- Operacije kalkulatora
- Čitanje resursa i izvršavanje upita
- Robusno rukovanje greškama
Za pokretanje:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Transport: Stdio (Standardni Ulaz/Izlaz)
- Ciljani Server: Lokalni Python MCP server
- Značajke:
- Async/await obrazac za operacije
- Otkrivanje alata i resursa
- Testiranje operacija kalkulatora
- Čitanje sadržaja resursa
- Organizacija temeljena na klasama
Za pokretanje:
python client_example_python.pySvaka implementacija klijenta demonstrira:
-
Upravljanje Vezi
- Uspostavljanje veze s MCP serverom
- Rukovanje greškama veze
- Pravilno čišćenje i upravljanje resursima
-
Otkrivanje Servera
- Popis dostupnih alata
- Popis dostupnih resursa (gdje je podržano)
- Popis dostupnih upita (gdje je podržano)
-
Pozivanje Alata
- Osnovne operacije kalkulatora (zbrajanje, oduzimanje, množenje, dijeljenje)
- Pomoćna naredba za informacije o serveru
- Pravilno prosljeđivanje argumenata i rukovanje rezultatima
-
Rukovanje Greškama
- Greške veze
- Greške pri izvršavanju alata
- Graciozni neuspjeh i povratne informacije korisniku
-
Obrada Rezultata
- Izdvajanje tekstualnog sadržaja iz odgovora
- Formatiranje izlaza za čitljivost
- Rukovanje različitim formatima odgovora
Prije pokretanja ovih klijenata, osigurajte:
- Da odgovarajući MCP server radi (iz
../01-first-server/) - Da su instalirane potrebne ovisnosti za odabrani jezik
- Pravilnu mrežnu povezanost (za transporte temeljene na HTTP-u)
| Jezik | Transport | Pokretanje Servera | Async Model | Ključne Biblioteke |
|---|---|---|---|---|
| Java | SSE/HTTP | Eksterno | Sinkrono | WebFlux, MCP SDK |
| C# | Stdio | Automatski | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | Automatski | Async/Await | Node MCP SDK |
| Python | Stdio | Automatski | AsyncIO | Python MCP SDK |
| Rust | Stdio | Automatski | Async/Await | Rust MCP SDK, Tokio |
Nakon istraživanja ovih primjera klijenata:
- Prilagodite klijente kako biste dodali nove značajke ili operacije
- Kreirajte vlastiti server i testirajte ga s ovim klijentima
- Eksperimentirajte s različitim transportima (SSE vs. Stdio)
- Izgradite složeniju aplikaciju koja integrira MCP funkcionalnost
- Veza odbijena: Provjerite radi li MCP server na očekivanom portu/putanji
- Modul nije pronađen: Instalirajte potrebni MCP SDK za vaš jezik
- Dopuštenje odbijeno: Provjerite dozvole datoteka za stdio transport
- Alat nije pronađen: Provjerite implementira li server očekivane alate
- Omogućite detaljno logiranje u vašem MCP SDK-u
- Provjerite logove servera za poruke o greškama
- Provjerite nazive i potpise alata između klijenta i servera
- Testirajte s MCP Inspectorom kako biste prvo validirali funkcionalnost servera
Odricanje od odgovornosti:
Ovaj dokument je preveden korištenjem AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešna tumačenja koja mogu proizaći iz korištenja ovog prijevoda.