Direktori ini mengandungi contoh lengkap dan berfungsi untuk klien MCP dalam pelbagai bahasa pengaturcaraan. Setiap klien menunjukkan fungsi penuh seperti yang diterangkan dalam tutorial README.md utama.
- Pengangkutan: SSE (Server-Sent Events) melalui HTTP
- Pelayan Sasaran:
http://localhost:8080 - Ciri-ciri:
- Penubuhan sambungan dan ping
- Senarai alat
- Operasi kalkulator (tambah, tolak, darab, bahagi, bantuan)
- Pengendalian ralat dan pengekstrakan hasil
Untuk menjalankan:
# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java- Pengangkutan: Stdio (Input/Output Standard)
- Pelayan Sasaran: Pelayan MCP .NET tempatan melalui dotnet run
- Ciri-ciri:
- Permulaan pelayan automatik melalui pengangkutan stdio
- Senarai alat dan sumber
- Operasi kalkulator
- Penguraian hasil JSON
- Pengendalian ralat yang menyeluruh
Untuk menjalankan:
dotnet run- Pengangkutan: Stdio (Input/Output Standard)
- Pelayan Sasaran: Pelayan MCP Node.js tempatan
- Ciri-ciri:
- Sokongan penuh protokol MCP
- Operasi alat, sumber, dan prompt
- Operasi kalkulator
- Pembacaan sumber dan pelaksanaan prompt
- Pengendalian ralat yang kukuh
Untuk menjalankan:
# First compile TypeScript (if needed)
npm run build
# Then run the client
npm run client
# or
node client_example_typescript.js- Pengangkutan: Stdio (Input/Output Standard)
- Pelayan Sasaran: Pelayan MCP Python tempatan
- Ciri-ciri:
- Corak async/await untuk operasi
- Penemuan alat dan sumber
- Ujian operasi kalkulator
- Pembacaan kandungan sumber
- Organisasi berasaskan kelas
Untuk menjalankan:
python client_example_python.pySetiap implementasi klien menunjukkan:
-
Pengurusan Sambungan
- Menubuhkan sambungan ke pelayan MCP
- Mengendalikan ralat sambungan
- Pembersihan dan pengurusan sumber yang betul
-
Penemuan Pelayan
- Menyenaraikan alat yang tersedia
- Menyenaraikan sumber yang tersedia (jika disokong)
- Menyenaraikan prompt yang tersedia (jika disokong)
-
Pelaksanaan Alat
- Operasi kalkulator asas (tambah, tolak, darab, bahagi)
- Perintah bantuan untuk maklumat pelayan
- Penghantaran argumen dan pengendalian hasil yang betul
-
Pengendalian Ralat
- Ralat sambungan
- Ralat pelaksanaan alat
- Kegagalan yang terkawal dan maklum balas kepada pengguna
-
Pemprosesan Hasil
- Mengekstrak kandungan teks daripada respons
- Memformat output untuk kebolehbacaan
- Mengendalikan format respons yang berbeza
Sebelum menjalankan klien ini, pastikan anda mempunyai:
- Pelayan MCP yang sepadan sedang berjalan (dari
../01-first-server/) - Kebergantungan yang diperlukan dipasang untuk bahasa pilihan anda
- Sambungan rangkaian yang betul (untuk pengangkutan berasaskan HTTP)
| Bahasa | Pengangkutan | Permulaan Pelayan | Model Async | Pustaka Utama |
|---|---|---|---|---|
| Java | SSE/HTTP | Luaran | Sync | WebFlux, MCP SDK |
| C# | Stdio | Automatik | Async/Await | .NET MCP SDK |
| TypeScript | Stdio | Automatik | Async/Await | Node MCP SDK |
| Python | Stdio | Automatik | AsyncIO | Python MCP SDK |
| Rust | Stdio | Automatik | Async/Await | Rust MCP SDK, Tokio |
Selepas meneroka contoh klien ini:
- Ubah suai klien untuk menambah ciri atau operasi baharu
- Cipta pelayan anda sendiri dan uji dengan klien ini
- Eksperimen dengan pengangkutan yang berbeza (SSE vs. Stdio)
- Bina aplikasi yang lebih kompleks yang mengintegrasikan fungsi MCP
- Sambungan ditolak: Pastikan pelayan MCP sedang berjalan pada port/laluan yang dijangka
- Modul tidak dijumpai: Pasang MCP SDK yang diperlukan untuk bahasa anda
- Kebenaran ditolak: Semak kebenaran fail untuk pengangkutan stdio
- Alat tidak dijumpai: Sahkan pelayan melaksanakan alat yang dijangka
- Aktifkan log verbose dalam MCP SDK anda
- Semak log pelayan untuk mesej ralat
- Sahkan nama dan tandatangan alat sepadan antara klien dan pelayan
- Uji dengan MCP Inspector terlebih dahulu untuk mengesahkan fungsi pelayan
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.