Panduan

Panggilan tool MCP timeout? Periksa dulu sebelum coba lagi

7 menit bacaOleh tim Delta MCP

AI Anda mengirim perubahan ke sebuah tool, tetapi jalan balik untuk balasannya putus dan ditandai tanda tanya, di sebelah label No reply dan Check first.

Jawaban singkat

Saat panggilan tool MCP timeout, Anda tidak bisa memastikan apakah perubahannya terjadi. AI Anda mungkin kehilangan balasannya, bukan pekerjaannya. Periksa dulu sebelum mencoba lagi: lihat di tool apa yang coba dibuat. Coba lagi hanya jika perubahannya tidak ada. Jangan pernah mencoba lagi sebuah pengiriman dengan sendirinya.

Dalam panduan ini

Mengapa timeout tidak memberi tahu apakah perubahannya terjadi?

AI Anda meminta sebuah tool membuat perubahan, lalu menunggu. Tidak ada balasan, jadi aplikasi AI Anda berhenti menunggu dan melaporkan kegagalan. Label itu menggambarkan waktu tunggunya, bukan perubahannya. Jika Anda mencoba lagi perubahan yang sudah terjadi, Anda mendapat dua tiket, dua halaman, atau dua pesan.

Developer menyebut perubahan semacam itu operasi write. Ada tiga kemungkinan yang bisa terjadi.

Apa yang mungkin terjadi saat panggilan tool MCP timeout, dan apa akibat mencoba lagi di tiap kasus
Yang terjadiApakah perubahannya ada di tool?Jika Anda mencoba lagi
Permintaannya tidak pernah sampai. Tidak. Langkah yang benar: perubahannya dibuat sekali.
Tool masih bekerja. Belum. Ia muncul setelah AI Anda menyerah. Perubahannya dibuat dua kali, kecuali mengulanginya tidak berbahaya.
Tool selesai, tetapi balasannya hilang. Ya. Perubahannya dibuat dua kali, kecuali mengulanginya tidak berbahaya.

Spesifikasi MCP memang mengantisipasi hal ini. Klien sebaiknya memasang timeout pada setiap permintaan dan, saat waktunya habis, membatalkan permintaan itu dan berhenti menunggu. Pembatalan bukan jaminan. Server bisa mengabaikannya saat pekerjaannya sudah selesai atau tidak bisa dihentikan. Pembatalan juga bisa sampai setelah balasan terkirim.

Panduan API Stripe mengatakan hal yang sama: setelah koneksi gagal, Anda mungkin tidak tahu apakah permintaannya dijalankan. Panduan itu juga meminta Anda memperlakukan kesalahan server sebagai hasil yang tidak diketahui.

Apa yang sebaiknya Anda lakukan setelah timeout, berurutan?

Kerjakan berurutan. Dua langkah pertama memakan waktu satu menit.

  1. Hentikan coba lagiSekarang

    Beri tahu AI Anda untuk tidak mengulang panggilan: “Jangan coba lagi. Periksa dulu apakah sudah dibuat.” Coba lagi begitu saja adalah cara sebuah perubahan terbuat dua kali.

  2. Periksa di tool-nya, bukan di chat1 menit

    Buka tool-nya langsung: halaman Notion, issue GitHub, folder itu. Cari judul atau ID yang Anda minta. Chat hanya tahu bahwa panggilannya gagal.

  3. Baca apa yang Anda temukan2 menit

    Ditemukan dan lengkap: perubahannya sudah dibuat. Lanjutkan dan jangan mengulanginya.
    Ditemukan, setengah jadi: selesaikan bagian yang kurang dengan update, bukan create baru.
    Tidak ditemukan: permintaannya tidak pernah sampai, atau masih berjalan. Tunggu semenit dan periksa lagi.

  4. Coba lagi sekali, dan hanya untuk panggilan yang amanKemudian

    Jika masih tidak ada, coba lagi sekali. Tabel di bawah menunjukkan panggilan mana yang aman diulang. Sebelum pengiriman, lihat ke mana ia sampai.

  5. Jika terus timeout, perbaiki penyebabnyaSetelahnya

    Panggilan yang selalu timeout punya batas yang terlalu pendek atau pekerjaan yang terlalu besar. Naikkan batas untuk server itu, atau minta lebih sedikit per panggilan.

Panggilan mana yang aman dicoba lagi?

Sebuah panggilan aman dicoba lagi jika melakukannya dua kali menghasilkan hasil yang sama seperti sekali. Membaca termasuk. Banyak perubahan tidak. Standar HTTP menganggap PUT (mengatur sebuah nilai) dan DELETE aman diulang, dan baris-baris di bawah mengikutinya. Petunjuk idempotentHint atau deskripsi tool itu sendiri lebih utama daripada tabel ini.

Jenis panggilan tool MCP mana yang aman dicoba lagi setelah timeout, dan cara memeriksanya lebih dulu
PanggilanCoba lagi apa adanya?Periksa dulu dengan
Baca: cari, daftar, buka Ya. Tidak mengubah apa pun. Tidak ada yang perlu diperiksa.
Atur sebuah nilai: status, judul, label Biasanya. Mengatur nilai yang sama dua kali menghasilkan hasil yang sama, seperti HTTP PUT. Membaca kolom itu. Jika seseorang mengubahnya sejak itu, coba lagi akan menimpa suntingannya.
Tambahkan ke sesuatu: komentar, baris, baris teks Tidak. Dua kali berarti ditambahkan dua kali. Membuka item itu dan mencari tambahan Anda.
Buat: halaman, issue, file Tidak. Coba lagi membuat yang kedua. Mencari berdasarkan judul atau ID yang Anda berikan. Coba lagi hanya jika tidak ada yang cocok.
Hapus Biasanya, jika ia menyebut satu item yang pasti, seperti HTTP DELETE. Bukan “yang terbaru”: panggilan kedua mengenai item lain. Mencari item itu. Hilang berarti selesai.
Kirim: pesan, email, notifikasi Tidak pernah dengan sendirinya. Pengiriman tidak bisa ditarik kembali. Memeriksa ke mana ia sampai: daftar terkirim, channel, pihak di seberang. Jika Anda tidak bisa memastikan, tanyakan dulu sebelum mengirim lagi.

Bisakah idempotency key mencegah duplikat?

Kadang bisa. Idempotency key adalah label unik yang dikirim bersama sebuah permintaan. Jika label yang sama datang dua kali, layanan itu mengerjakannya sekali dan mengulang jawaban pertamanya. Ia dibuat untuk permintaan yang tidak mendapat balasan.

  • Cara kerja key di Stripe. API v1-nya menerima key pada permintaan POST. Ia menyimpan hasil pertama, bahkan jika itu error, dan mengembalikannya lagi untuk coba lagi dengan key yang sama. Key disimpan minimal 24 jam. Key yang sama dengan parameter lain ditolak.
  • Apa yang harus dilakukan saat coba lagi. Kirim key yang sama dan parameter yang sama. Stripe menyarankan agar tidak mencoba lagi dengan key baru sebelum Anda tahu hasil yang pertama. Key baru di tiap usaha tidak memberi perlindungan.
  • Yang diberikan MCP. Permintaan tools/call membawa nama tool dan argumennya. Skema spesifikasi tidak mendefinisikan idempotency key untuknya. Sebuah tool tetap bisa menerimanya sebagai argumen tersendiri, jadi baca argumennya.
  • Apa yang boleh dinyatakan tool. idempotentHint menyatakan bahwa memanggil tool lagi dengan argumen yang sama tidak punya efek tambahan. Ia hanya petunjuk. Spesifikasi menyebut klien sebaiknya tidak pernah mendasarkan keputusan pada petunjuk dari server yang tidak mereka percaya.

Jadi key adalah bonus, bukan rencana. Jika tool tidak menawarkannya, pemeriksaan di atas yang melindungi Anda.

Bagaimana cara mengubah timeout MCP?

Batas yang terlalu pendek memotong pekerjaan yang jujur. Batas yang terlalu panjang membuat Anda menunggu. Di mana Anda mengaturnya bergantung pada aplikasi AI Anda. Berikut pengaturan Claude Code.

Pengaturan Claude Code yang membatasi panggilan tool MCP, apa yang dibatasinya, dan nilai bawaannya
PengaturanYang dibatasiBawaan
MCP_TOOL_TIMEOUT Berapa lama satu panggilan tool boleh berjalan, dalam milidetik. 100000000 ms, sekitar 28 jam
timeout di .mcp.json Sama, untuk satu server. Ia menimpa variabel itu untuk server tersebut. Batas keras: notifikasi kemajuan tidak memperpanjangnya. Nilai variabelnya
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT Berapa lama sebuah panggilan boleh diam, tanpa balasan dan tanpa kemajuan, sebelum dihentikan. 0 mematikan pemeriksaan. 5 menit untuk server jaringan, 30 menit untuk stdio
MCP_TIMEOUT Saat memulai sebuah server. Untuk server jarak jauh, ia juga dihitung dalam pengatur waktu per permintaan di bawah. 30000 ms, 30 detik
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS Saat panggilan yang masih berjalan di percakapan utama dipindahkan ke tugas latar belakang. 0 mematikannya. Versi 2.1.212 atau lebih baru. 120000 ms, 2 menit

Bawaan 60 detik untuk server jarak jauh. Server yang dihubungi lewat HTTP, SSE, atau sebagai konektor claude.ai punya pengatur waktu kedua. Ia berjalan di setiap permintaan sampai byte respons pertama dari server. Ia berlangsung 60 detik, kecuali MCP_TOOL_TIMEOUT, timeout server, atau MCP_TIMEOUT diatur lebih tinggi. Server stdio lokal tidak punya pengatur waktu per permintaan.

Untuk mengaturnya untuk satu server, tambahkan "timeout": 600000 ke entrinya di .mcp.json. Itu sepuluh menit.

Panggilan yang lambat tidak selalu gagal. Mulai versi 2.1.212, Claude Code memindahkan panggilan MCP di percakapan utama Anda ke tugas latar belakang setelah dua menit. Hasilnya dikirim saat panggilan selesai.

Dokumentasi MCP Cursor tidak menjelaskan pengaturan timeout. Spesifikasi MCP tidak menyebut angka apa pun. Spesifikasi menyatakan SDK sebaiknya memungkinkan Anda mengatur timeout per permintaan, dan klien sebaiknya selalu menyimpan batas maksimum.

Untuk pekerjaan yang memakan menit, server bisa memakai MCP Tasks. Ia langsung mengembalikan handle, dan klien melakukan polling untuk hasilnya, bahkan setelah tersambung ulang. Kedua sisi harus mendukungnya, dan dukungan klien berbeda-beda.

Apa yang dilakukan Delta MCP saat balasan hilang?

Delta MCP adalah aplikasi gratis di komputer Anda, di antara AI Anda dan tool-nya. Saat sebuah perubahan tidak mendapat balasan, ia tidak menebak dan tidak sekadar mencoba lagi. Ia membaca tool-nya.

Sebelum perubahan keluar, Delta MCP memilih satu pembacaan yang bisa menunjukkan apakah perubahan itu terjadi. Pembacaan itu adalah membaca ulang objeknya, atau membaca ulang daftarnya. Jika tidak ada balasan, ia langsung menjalankan pembacaan itu. Apa yang ditampilkan pembacaan itu yang menentukan:

Apa yang dilakukan Delta MCP saat perubahan tidak mendapat balasan, menurut apa yang ditampilkan pembacaan
Pembacaan menampilkanDelta MCP
Perubahannya sudah dibuat. Tugas dilanjutkan, dan balasannya menyatakan bahwa ia sudah diperiksa.
Perubahannya belum dibuat. Ia mengirim perubahan itu sekali lagi, dengan argumen yang sama. Ia tidak pernah melakukannya dengan sendirinya untuk pesan atau pengiriman lain. Untuk itu, balasannya menyatakan bahwa ia belum terlihat, mungkin masih akan muncul, dan tugasnya berhenti.
Tidak jelas, atau tidak ada yang bisa dibaca untuk memastikannya. Balasannya menyatakan “outcome unknown”, beserta alasannya. Tugasnya berhenti. Periksa tool-nya sebelum perubahan itu dibuat ulang.

Panggilan tool yang dijalankan apa adanya tidak bisa diurungkan oleh Delta MCP. Jika panggilan sebelumnya berhasil, ia tetap terjadi, dan balasannya mencatatnya agar AI Anda tidak mengulanginya. Tiap tugas yang mengubah sesuatu disimpan di Activity, dengan setiap perubahan sebelum dan sesudahnya.

Cara sebuah tugas diperiksa dan diterapkan

Pertanyaan

Apakah aman mencoba lagi panggilan tool MCP setelah timeout?

Membaca aman. Perubahan tidak, sampai Anda memeriksanya. Timeout hanya berarti tidak ada balasan: tool mungkin tetap membuat perubahannya. Cari di tool, dan coba lagi hanya jika perubahannya tidak ada. Jangan pernah mencoba lagi sebuah pengiriman dengan sendirinya.

Apakah operasi write MCP saya berhasil jika permintaannya timeout?

Anda tidak bisa memastikannya dari timeout. Permintaannya mungkin tidak pernah sampai, tool mungkin masih bekerja, atau ia selesai dan balasannya hilang. Buka tool dan cari perubahannya.

Bagaimana cara menaikkan timeout tool MCP di Claude Code?

Atur MCP_TOOL_TIMEOUT dalam milidetik, atau tambahkan kolom timeout ke entri server di .mcp.json. Untuk server jarak jauh, atur di atas 60000 untuk mencabut pengatur waktu 60 detik per permintaan. MCP_TIMEOUT adalah waktu tunggu saat memulai, bukan batas panggilan tool.

Bagaimana cara mengubah timeout MCP di Cursor?

Dokumentasi MCP Cursor tidak menjelaskan pengaturan timeout. Dokumentasi itu menyebut panggilan yang gagal ditandai gagal di chat, dan Anda bisa mencoba lagi atau memeriksa log. Periksa dulu apa yang sudah ada di tool.

Apakah MCP punya idempotency key?

Tidak. Panggilan tool membawa nama tool dan argumen, dan skema spesifikasi tidak mendefinisikan idempotency key untuknya. Sebuah tool bisa menerima key sendiri sebagai argumen. Ia juga bisa mengatur idempotentHint, yang hanya petunjuk.

Apa yang dilakukan Delta MCP saat panggilan tool tidak mendapat balasan?

Ia langsung membaca tool untuk melihat apakah perubahannya terjadi. Sudah dibuat: tugas dilanjutkan. Belum dibuat: ia mengirim perubahan itu sekali lagi. Pesan atau pengiriman lain tidak pernah dikirim ulang dengan sendirinya. Tidak jelas: balasannya menyatakan “outcome unknown” dan tugasnya berhenti.

Sumber

  1. Model Context Protocol, Cancellation Klien sebaiknya mengatur timeout, membatalkan, dan berhenti menunggu; pembatalan bisa sampai setelah pekerjaan selesai (revisi 2026-07-28).
  2. Model Context Protocol, Schema Reference Panggilan tool membawa nama dan argumen, tanpa idempotency key; anotasi idempotentHint, dan anotasi hanya petunjuk (revisi 2026-07-28).
  3. Model Context Protocol, Tasks Handle tahan lama untuk operasi panjang, dibaca berkala (polling) dan diambil setelah tersambung ulang; kedua sisi harus ikut serta.
  4. Claude Code, Connect Claude Code to tools via MCP Timeout per server, pengatur waktu 60 detik per permintaan untuk server jarak jauh, jendela idle, dan pemindahan ke latar belakang setelah dua menit.
  5. Claude Code, Environment variables MCP_TOOL_TIMEOUT, MCP_TIMEOUT, CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT, dan CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS, beserta nilai bawaannya.
  6. Cursor, Model Context Protocol (MCP) Panggilan MCP yang gagal ditandai gagal di chat; coba lagi atau periksa log; tidak ada pengaturan timeout yang dijelaskan.
  7. Stripe, Idempotent requests Cara kerja idempotency key: hasil pertama disimpan dan dikembalikan lagi; key bertahan minimal 24 jam; parameter lain ditolak.
  8. Stripe, Advanced error handling Setelah koneksi gagal, Anda mungkin tidak tahu apakah permintaannya dijalankan; kesalahan server adalah hasil yang tidak diketahui; tidak ada key baru sebelum hasilnya diketahui.
  9. IETF, RFC 9110: HTTP Semantics Metode idempoten (metode aman, PUT, dan DELETE), dan tidak mengulang permintaan non-idempoten kecuali Anda yakin yang pertama belum pernah diterapkan.
  10. Delta MCP, Writing a task Apa yang dilakukan Delta MCP saat perubahan tidak mendapat balasan: dibuat, belum dibuat, atau hasil tidak diketahui; pengiriman tidak dikirim ulang dengan sendirinya.
  11. Delta MCP, Activity and Undo Tiap tugas yang mengubah sesuatu disimpan di Activity, dengan setiap perubahan sebelum dan sesudahnya.

Lanjut membaca

Coba Delta MCP pada tugas Anda sendiri

Gratis, siap dalam dua menit, dan Anda bisa mengembalikan semuanya dengan satu klik.

Unduh untuk Mac Tersedia juga untukWindowsLinux
Unduh untuk Windows Tersedia juga untukMacLinux
Unduh untuk Linux Tersedia juga untukMacWindows

Gratis · Tanpa akun · Chip Apple atau Intel

Gratis · Tanpa akun

Gratis · Tanpa akun

Ikuti peluncurannya

Untuk Mac, Windows, dan Linux. Tidak perlu akun.

Segera hadir

Delta MCP hampir tiba

Aplikasi gratis untuk Mac, Windows, dan Linux segera hadir. Tinggalkan email Anda dan Anda langsung tahu begitu aplikasinya rilis. Tidak perlu akun.

Email hanya untuk memberi tahu Anda sekali saat Delta MCP rilis. Tanpa newsletter. Kebijakan privasi