Ta mapa vsebuje popolne, delujoče primere MCP odjemalcev v različnih programskih jezikih. Vsak odjemalec prikazuje celotno funkcionalnost, opisano v glavnem vodiču README.md.
- Transport: SSE (Server-Sent Events) prek HTTP
- Ciljni strežnik:
http://localhost:8080 - Funkcionalnosti:
- Vzpostavitev povezave in ping
- Seznam orodij
- Operacije kalkulatorja (seštevanje, odštevanje, množenje, deljenje, pomoč)
- Obdelava napak in pridobivanje rezultatov
Za zagon:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Transport: Stdio (Standardni vhod/izhod)
- Ciljni strežnik: Lokalni .NET MCP strežnik prek ukaza
dotnet run - Funkcionalnosti:
- Samodejni zagon strežnika prek stdio transporta
- Seznam orodij in virov
- Operacije kalkulatorja
- Parsiranje rezultatov v JSON formatu
- Celovita obdelava napak
Za zagon:
dotnet run- Transport: Stdio (Standardni vhod/izhod)
- Ciljni strežnik: Lokalni Node.js MCP strežnik
- Funkcionalnosti:
- Popolna podpora MCP protokolu
- Operacije z orodji, viri in pozivi
- Operacije kalkulatorja
- Branje virov in izvajanje pozivov
- Zanesljiva obdelava napak
Za zagon:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Transport: Stdio (Standardni vhod/izhod)
- Ciljni strežnik: Lokalni Python MCP strežnik
- Funkcionalnosti:
- Vzorec async/await za operacije
- Odkritje orodij in virov
- Testiranje operacij kalkulatorja
- Branje vsebine virov
- Organizacija na osnovi razredov
Za zagon:
python client_example_python.pyVsaka implementacija odjemalca prikazuje:
-
Upravljanje povezave
- Vzpostavitev povezave z MCP strežnikom
- Obdelava napak pri povezavi
- Pravilno čiščenje in upravljanje virov
-
Odkritje strežnika
- Seznam razpoložljivih orodij
- Seznam razpoložljivih virov (kjer je podprto)
- Seznam razpoložljivih pozivov (kjer je podprto)
-
Izvajanje orodij
- Osnovne operacije kalkulatorja (seštevanje, odštevanje, množenje, deljenje)
- Ukaz za pomoč za informacije o strežniku
- Pravilno posredovanje argumentov in obdelava rezultatov
-
Obdelava napak
- Napake pri povezavi
- Napake pri izvajanju orodij
- Prijazno obveščanje uporabnika ob napakah
-
Obdelava rezultatov
- Pridobivanje besedilne vsebine iz odgovorov
- Oblikovanje izhodnih podatkov za boljšo berljivost
- Obdelava različnih formatov odgovorov
Pred zagonom teh odjemalcev poskrbite za:
- Zagon ustreznega MCP strežnika (iz
../01-first-server/) - Namestitev potrebnih odvisnosti za izbrani programski jezik
- Ustrezno omrežno povezljivost (za transporte na osnovi HTTP)
| Jezik | Transport | Zagon strežnika | Async model | Ključne knjižnice |
|---|---|---|---|---|
| Java | SSE/HTTP | Zunanji | Sinhrono | WebFlux, MCP SDK |
| C# | Stdio | Samodejno | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | Samodejno | Async/Await | Node MCP SDK |
| Python | Stdio | Samodejno | AsyncIO | Python MCP SDK |
| Rust | Stdio | Samodejno | Async/Await | Rust MCP SDK, Tokio |
Po raziskovanju teh primerov odjemalcev:
- Prilagodite odjemalce, da dodate nove funkcionalnosti ali operacije
- Ustvarite svoj strežnik in ga preizkusite s temi odjemalci
- Eksperimentirajte z različnimi transporti (SSE proti Stdio)
- Zgradite bolj zapleteno aplikacijo, ki vključuje MCP funkcionalnosti
- Povezava zavrnjena: Prepričajte se, da MCP strežnik deluje na pričakovanem portu/poti
- Modul ni najden: Namestite zahtevani MCP SDK za vaš jezik
- Dostop zavrnjen: Preverite dovoljenja za datoteke pri stdio transportu
- Orodje ni najdeno: Preverite, ali strežnik podpira pričakovana orodja
- Omogočite podrobno beleženje v vašem MCP SDK
- Preverite dnevnike strežnika za sporočila o napakah
- Preverite imena in podpise orodij, da se ujemajo med odjemalcem in strežnikom
- Najprej preizkusite z MCP Inspectorjem, da preverite funkcionalnost strežnika
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve AI za prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.