Kodlama ajanının Docker'dan beklentileri
Gerçek bir projede çalışan ajan sürekli aynı soruları sorar: neler çalışıyor, 3000 portunda hangi uygulama var, bu konteyner neden kapandı, loglar ne diyor, testleri geçici bir ortamda çalıştırabilir miyim? Yalnızca shell erişimiyle docker ps, docker inspect ve docker logs çalıştırıp dönen her satırı okuyarak yanıtlar. Bu yöntem çalışır, ama yavaş ve maliyetlidir: her turda ham JSON ve yüzlerce log satırı modelin bağlamına girer.
MCP sunucusu bu soruları, doğrudan yanıt döndüren araçlara dönüştürür. Oxcart araçları Docker API uç noktalarına değil, sorulara göre tasarlanmıştır; böylece tek çağrı bir komut zincirinin yerini alır.
13 araç
| Amaç | Araçlar | Listelendikleri en düşük düzey |
|---|---|---|
| Görme | status, projects, ports, images, logs | Read only |
| Açıklama | diagnose: çıkış kodları, OOM sonlandırmaları, başarısız sağlık denetimleri, port sorunları ve önemli log satırları | Read only |
| Eylem | container (başlatma, durdurma, yeniden başlatma), exec, compose (up, down), ağsız sandbox | Manage |
| Değiştirme ve temizlik | build, remove, cleanup (önce önizleme), ağ erişimli sandbox | Full |
status, her Compose projesini klasörü, Git dalı ve localhost URL'leriyle gösterir; böylece “3000 portundaki uygulama” siz ve ajanınız için aynı şeyi ifade eder. Kaynaklara abone olan istemciler çökmeyi, OOM sonlandırmasını veya sağlık durumundaki değişikliği yoklama yapmadan, gerçekleştiği anda öğrenir.
Daha küçük yanıtlar, daha ucuz oturumlar
Ajanın her soruyu yanıtlamak için Oxcart üzerinden okuduğu içerik ile aksi durumda okuyacağı docker CLI çıktısı; aynı anda aynı konteynerlerde ölçüldü:
| Soru | Oxcart MCP | docker CLI karşılığı | docker CLI | Küçülme oranı |
|---|---|---|---|---|
| Bu konteyner neden durdu? | 159 | inspect + logs --tail 300 | 2,014 | 13× |
| Son 500 log satırında hata var mı? | 39 | logs --tail 500 | 703 | 18× |
| Neler çalışıyor? | 106 | ps -a + stats --no-stream + compose ls -a | 332 | 3,1× |
Beş test konteyneri (çöken, sağlıksız, OOM ile sonlandırılmış, Compose projesi, yayınlanan port). Loglar ne kadar uzarsa uzasın diagnose ve logs aynı boyutta kalır. Araç listesinin kendisi oturum başına bir kez salt okunur düzeyde (6 araç) 510 token, 13 aracın tümüyle 1.463 token tutar.
Tam oturumlar da aynı tabloyu gösteriyor. Claude Opus 5.5 kullanan Claude Code, günlük iki soruyu bir kez yalnızca docker CLI ile, bir kez Oxcart'ın MCP sunucusuyla yanıtladı. Her iki koşulda da iki yanıt doğruydu.
| Görev | Süre | Maliyet | Token | Tur |
|---|---|---|---|---|
“worker hata veriyor mu? Hatayı göster.” | 4.2 s / 31.0 s | $0.022 / $0.157 | 10,686 / 52,266 | 2 / 8 |
“api konteynerim sürekli kapanıyor. Neden?” | 8.5 s / 14.9 s | $0.036 / $0.070 | 11,283 / 19,510 | 2 / 4 |
Oxcart ile ve Oxcart olmadan görev başına bir oturum, sentetik test konteynerleri, Oxcart 0.1.0: yalnızca fikir verir. Maliyet prompt önbelleğine bağlıdır ve çalıştırma sırası dönüşümlü uygulanmamıştır.
Oxcart MCP sunucusunu herhangi bir kodlama ajanında kurun
- Oxcart'ı kurun. Oxcart'ı indirin (Apple silicon, macOS 26 veya üstü) ve açın. Kurulum çevrimdışı çalışır ve saniyeler sürer.
- Kurulum cümlesini kopyalayın. Oxcart'ın kenar çubuğunda MCP Integrations bölümünü açın ve şu cümleyi kopyalayın: “Oxcart'ın MCP sunucusunu benim için kur:
/Applications/Oxcart.app/Contents/Helpers/oxcart agent setupçalıştır ve talimatlarını izle.” - Ajanınıza yapıştırın. Claude Code, Codex, Cursor veya komut çalıştırabilen herhangi bir ajana yapıştırın. Ajan komutu çalıştırır, kendisi için adımları okur ve
oxcartadlı sunucuyu kaydeder. - Konteynerlerinizi sorun. “Neler çalışıyor?” veya “
apineden durdu?” diye sorun. Ajan, MCP Integrations sayfasında salt okunur olarak görünür; her çağrı etkinlik günlüğüne yazılır. - İsterseniz düzeyi yükseltin. Başlatma, durdurma, komut çalıştırma ve Compose için ajanı Manage; derleme, kaldırma ve temizlik için Full düzeyine ayarlayın. Block tüm çağrıları reddeder.
Ajanınız komut çalıştıramıyorsa (Claude Desktop, LM Studio ve benzer uygulamalar) Oxcart, uygulamanın MCP ayarlarına eklenecek bir JSON parçası gösterir. Claude Code için doğrudan komut:
claude mcp add -s user oxcart -- /Applications/Oxcart.app/Contents/Helpers/oxcart mcp --client claude-code Codex için codex mcp add oxcart -- /Applications/Oxcart.app/Contents/Helpers/oxcart mcp --client codex, sunucuyu Codex CLI ve IDE uzantısına kaydeder.
Ajan başına belirlediğiniz izin düzeyleri
| Düzey | Ajanın yapabildikleri |
|---|---|
| Read only (varsayılan) | Konteynerleri, logları, portları, projeleri ve imajları görme; hataları teşhis etme |
| Manage | Ayrıca başlatma, durdurma, yeniden başlatma, komut çalıştırma, Compose up ve down, ağsız sandbox çalıştırma |
| Full | Ayrıca derleme, kaldırma, temizlik ve sandbox'lara ağ erişimi verme |
| Block | Hiçbir şey: araçlar listelenmez, tüm çağrılar reddedilir ve ajana nedeni bildirilir |
Ajanın düzeyinin üzerindeki araçlar hiç listelenmez; bu, bağlamını da küçültür. Her çağrı Mac'inizde kaydedilir ve MCP Integrations sayfasında gösterilir; hiçbir şey Mac'ten çıkmaz. Düzeyler, Oxcart araçlarının ajan için neler yapacağını belirler. Sandbox değildir: shell komutları çalıştırabilen ajan docker komutunu kendisi de çalıştırabilir; bu yüzden bunları ajanın kendi komut izinleriyle birlikte kullanın.
Kurulum adımları sunulan ajanlar
Claude Code, Claude Desktop, Codex, Cursor, Copilot'lu VS Code, Devin Desktop, Zed, Gemini CLI, GitHub Copilot CLI, OpenCode, Cline, Junie, JetBrains AI Assistant, Goose, Kiro, Amp, Warp ve LM Studio; ayrıca diğer tüm MCP istemcileri için genel adım. Adımlar, Mac'inizin gerçek yollarıyla kurulu Oxcart kopyanızdan (oxcart agent setup) gelir; bu yüzden çevrimdışı çalışır ve sürümünüzle eşleşir.
MCP dışındaki ajan iş akışları için konteynerler
- Dev Containers: shell'i, araçları ve ağı proje konteynerinde kalsın diye ajanı Dev Container içinde çalıştırın. Oxcart, Dev Containers CLI'ı çalıştırır; Mac'te Dev Containers ve Testcontainers rehberine bakın.
- Hızlı geliştirme döngüsü: ajanlar sürekli konteyner başlatır ve kaldırır. Oxcart,
docker run --rmiçin 42 ms, 20 konteyneri durdurup kaldırmak için 77 ms ölçüldü; test ettiğimiz üç çalışma zamanı arasında en hızlısıydı (karşılaştırmalar). - Compose yığınları: ajanın
composearacı Manage düzeyinde projeleri başlatır ve kaldırır; Apple silicon üzerinde Docker Compose rehberine bakın.
Sorular
Mac'teki Docker konteynerleri için MCP sunucusu var mı?
Evet. Oxcart, durum, teşhis, loglar, portlar, imajlar, komut çalıştırma, Compose, derlemeler, sandbox'lar ve temizlik için 13 araçlı yerel stdio MCP sunucusu oxcart mcp içerir. Ağ portu dinlemez ve token gerektirmez.
Claude Code'u Docker konteynerlerime nasıl bağlarım?
Oxcart'ın kurulum cümlesini Claude Code'a yapıştırın veya claude mcp add -s user oxcart -- /Applications/Oxcart.app/Contents/Helpers/oxcart mcp --client claude-code çalıştırın. Claude Code artık oxcart sunucusunu listeler ve araçlarını çağırabilir.
Codex, Cursor ve Copilot'lu VS Code ile çalışır mı?
Oxcart; Codex, Cursor, Copilot'lu VS Code, Claude Desktop, Zed, Gemini CLI, GitHub Copilot CLI, Cline, Goose, Kiro, Amp, Warp ve LM Studio dahil 18 istemci için kurulum adımları ve diğer MCP istemcileri için genel adım sunar. Uçtan uca çalıştırılan istemci Claude Code'dur.
Ajan konteynerlerimi veya birimlerimi silebilir mi?
Varsayılan olarak hayır. Her ajan salt okunur başlar. Her birini Manage veya Full düzeyine yükseltebilir ya da Block ile engelleyebilirsiniz. Full düzeyinde cleanup önce önizleme ve token döndürür, yalnızca önizlemede listelenenleri siler. Düzeyler Oxcart araçlarını yönetir; sandbox değildir, dolayısıyla shell erişimli ajan docker CLI'ı doğrudan çalıştırabilir.
Neden ajanın docker komutlarını çalıştırmasına izin vermeyelim?
Çalışır, ama ajan çok fazla ham çıktı okur. “Bu konteyner neden durdu?” sorusunun yanıtı Oxcart'ın diagnose aracıyla 159 token, docker inspect ve docker logs --tail 300 ile 2.014 token tuttu: 13× daha küçük. Görev başına tek Claude Code oturumunda (fikir vermek amacıyla), loglarda hata bulmak 31.0 s yerine 4.2 s sürdü.
MCP sunucusu verilerimi bir yere gönderir mi?
Hayır. Yalnızca yerel motor soketiyle konuşur ve kendisi ağ bağlantısı kurmaz. Her çağrı Mac'inizde etkinlik günlüğüne yazılır. Bir araç imaj gerektiren bir şeyi başlattığında veya derlediğinde, docker run gibi imajları kayıt depolarından çekmeye devam eder.
Ajanım geçici konteynerde kod çalıştırabilir mi?
Evet, sandbox aracıyla: ajan Full düzeyinde olup ağ istemedikçe ağsız, 2 GiB bellek ve 1.024 süreçle sınırlı geçici konteyner.
Kaynaklar ve yöntem
- Yanıt boyutları: 2026-10-10 tarihinde beş test konteyneriyle ölçüldü; token tahmini karakter ÷ 4.
- Oturumlar:
claude-opus-5-5ile Claude Code 2.1.296, Oxcart 0.1.0, görev ve koşul başına bir çalıştırma. - Hız verileri: Oxcart 0.1.2, 2026-10-10, Apple M5 Max, 8 CPU ve 12 GiB; karşılaştırılan çalışma zamanları aynı günün daha erken saatlerinde, aynı Mac ve test düzeneğinde docker 29.4 istemcisiyle ölçüldü.