Tüm makaleler

Her açılışta zaman aşımına düşen bir MCP sunucusu

1 dk okumaNotlar

nitrateX Ajanlarla üretiyorum

Kodlama ajanımın MCP sunucularından biri bağlanırken sürekli zaman aşımına düşüyordu. Çözüm, onu her açılışta yeniden indirmekten vazgeçmekti.

Belirti

Ajan istemcisi her MCP sunucusunu bir alt süreç olarak başlatıyor ve yanıt vermesi için sınırlı bir süre bekliyor. Masaüstü ve terminal araçları sunan bir sunucu neredeyse her seferinde CONNECT_TIMEOUT ile başarısız oluyordu. Elle çalıştırdığımda ise hatasız açılıyordu.

Sebep

Eklenti ayarı sunucuyu şöyle başlatıyordu:

npx -y @wonderwhy-er/desktop-commander@latest

@latest ile npx, bir şey çalıştırmadan önce paket deposunu kontrol ediyor, gerekirse paketi indirip açıyor. Yavaş bir ağda ya da boş bir önbellekte bu, istemcinin beklemeye razı olduğu süreyi kolayca aşıyor. Sunucu sağlamdı; sadece zamanında hazır olamıyordu.

Çözüm

Sabit bir sürümü bir kez, sudo gerektirmeyen bir klasöre kurmak:

npm install -g --prefix ~/.local @wonderwhy-er/desktop-commander@0.2.52

Ardından sunucu ayarını npx yerine kurulu dosyayı gösterecek şekilde değiştirmek:

"command": "/home/me/.local/bin/desktop-commander",
"args": []

Eklentileri yeniden yükledikten sonra ilk denemede bağlandı ve o günden beri anında açılıyor.

Bilinmesi gerekenler

  • Sürümü sabitlemek, güncelliği hıza değişmek demek. Güncellemeler artık kendiliğinden gelmiyor; aynı kurulum komutuyla yeni sürümü bilerek kurmak gerekiyor.
  • Eklenti eşitlemesi bunu geri alabilir. Benim kurulumumda eklenti ayar dosyası kaynağından yeniden üretilebiliyor ve npx geri geliyor. Zaman aşımı geri dönerse önce o dosyaya bakın.
  • Genel kural: npx -y paket@latest ile başlatılan her MCP sunucusu her açılışta bir indirme kontrolü yapıyor. Bir sunucu yalnızca bazen zaman aşımına düşüyorsa, sunucudan şüphelenmeden önce soğuk başlangıç süresini ölçün.

X'te paylaş

nitrateX Ajanlarla üretiyorum

Yeni makaleleri e-postayla alın

Yalnızca yeni bir makale çıktığında. Reklam yok. Ayrıntılar →