0Pricing
MCP Academy · Pelajaran

Mengirim Kemajuan untuk Tugas Panjang

Alirkan pembaruan persentase penyelesaian kepada klien.

Mengirim Kemajuan untuk Tugas Panjang adalah pelajaran MCP Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar MCP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus MCP Academy mencakup 4 pelajaran total.

Mengapa Kemajuan Penting

Ketika alat membutuhkan waktu beberapa detik atau menit, klien tidak seharusnya hanya terdiam. MCP memungkinkan peladen Anda mengirim pembaruan kemajuan agar pengguna melihat perkembangan.

Token Kemajuan

Klien menyatakan ikut serta dengan menyertakan progressToken pada permintaan. Tanpa token tersebut, peladen Anda cukup melewati pengiriman pembaruan.

Mengakses Objek Konteks

Dalam SDK Python, sebuah alat menerima objek Konteks. Objek ini adalah pegangan Anda untuk berkomunikasi kembali dengan klien selama pemanggilan, termasuk mengirim kemajuan.

from mcp.server.fastmcp import Context

@mcp.tool()
async def crunch(n: int, ctx: Context) -> str:
    return "done"

Memanggil report_progress

Untuk mengirim pembaruan, Anda memanggil ctx.report_progress. Setiap pemanggilan memberi tahu klien seberapa jauh pekerjaan telah berlangsung.

await ctx.report_progress(progress=3, total=10)

Kemajuan dan Total

Argumen total adalah titik selesai. Klien dapat membagi kemajuan dengan total untuk menampilkan bilah persentase penyelesaian kepada pengguna.

await ctx.report_progress(progress=5, total=10)  # 50%

Perbarui di Dalam Perulangan

Tempat yang wajar untuk melaporkan kemajuan adalah di dalam perulangan pekerjaan Anda. Setelah setiap bagian selesai, kirim satu pembaruan agar bilah meningkat secara bertahap.

for i, item in enumerate(items):
    process(item)
    await ctx.report_progress(i + 1, len(items))

Kemajuan Tanpa Total

Terkadang Anda tidak dapat mengetahui total sejak awal. Anda boleh menghilangkannya; klien kemudian menampilkan pemutar tak tentu, bukan bilah yang tepat.

await ctx.report_progress(progress=42)  # total unknown

Tambahkan Pesan Opsional

Banyak versi SDK memungkinkan Anda menyertakan pesan singkat pada pemanggilan kemajuan, seperti "Mengindeks berkas", sehingga pengguna memperoleh konteks manusiawi yang mudah dipahami.

await ctx.report_progress(2, 5, message="Fetching pages")

Ini adalah Notifikasi

Kemajuan dikirim sebagai notifikasi JSON-RPC, sehingga tidak memiliki balasan dan tidak pernah memblokir. Alat Anda tetap bekerja sementara pembaruan terus dikirim.

Jaga agar Pembaruan Tetap Wajar

Jangan membanjiri klien dengan ribuan pembaruan kecil. Laporkan pada langkah-langkah yang bermakna agar alirannya tetap berguna dan ringan.

Kemajuan Beserta Hasil

Notifikasi kemajuan terpisah dari nilai pengembalian alat Anda. Anda mengalirkan pembaruan selama proses berlangsung, lalu mengembalikan hasil akhir pada penghujungnya.

await ctx.report_progress(10, 10)
return "index built"

Pemeriksaan Singkat

Uji pemahaman Anda tentang bagaimana pelaporan kemajuan dimulai.

Ringkasan: Kemajuan

Anda telah mempelajari cara memanggil ctx.report_progress dengan kemajuan dan total, melakukan perulangan untuk pembaruan, serta membiarkan klien menggambar bilah langsung. Kerja bagus!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengirim Kemajuan untuk Tugas Panjang” gratis?

Ya — teks lengkap “Mengirim Kemajuan untuk Tugas Panjang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus MCP Academy, upgrade ke CoddyKit PRO. Kursus MCP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengirim Kemajuan untuk Tugas Panjang”?

Alirkan pembaruan persentase penyelesaian kepada klien. Kamu berlatih MCP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai MCP Academy?

Tidak diperlukan pengalaman sebelumnya. MCP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Mengirim Kemajuan untuk Tugas Panjang” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran MCP Academy ini?

Ya. Setiap pelajaran MCP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengirim Kemajuan untuk Tugas Panjang
  2. Menangani Permintaan Pembatalan
  3. Logging Terstruktur ke Klien
  4. Mengatur Level Log Saat Runtime
← Kembali ke MCP Academy