Bir MCP sunucusu yazdın. Yerelde sorunsuz çalışıyor — ajanın onu çağırıyor, araçlar tetikleniyor, her şey bağlı. Sonra dizüstünü kapatıyorsun ve o gitmiş oluyor. O sunucunun ajanın ihtiyaç duyduğu her an erişilebilir olmasını istiyorsan — başka bir makineden, bir ekip arkadaşının kurulumundan, gece 3'teki zamanlanmış bir işten — her zaman açık, kararlı bir adresi ve HTTPS'i olan bir yerde yaşaması gerekir. Bir VPS bunun içindir.
İşte MCP sunucunu dizüstünden çıkarıp gerçekten kontrol ettiğin bir kutuya nasıl taşıyacağın, çabanın nereye gittiğine dair dürüst notlarla.
Yerel mi uzak mı: "barındırma" gerçekte ne demek
MCP sunucuları iki biçimde gelir.
Bir stdio sunucusu yerel bir süreç olarak çalışır ve aynı makinedeki bir istemciyle standart giriş/çıkış üzerinden konuşur. Geliştirirken mükemmeldir — ama ağ üzerinden hiçbir şey ona ulaşamaz.
Bir uzak sunucu bir URL üzerinden HTTP konuşur (Server-Sent Events ya da daha yeni streamable-HTTP taşıması). URL'yi bilen ve doğru kimlik bilgilerini tutan herhangi bir istemci onu çağırabilir. Kendi MCP sunucunu barındırmak, uzak türü herkese açık ve kararlı bir yerde çalıştırmak demektir.
Neden sadece dizüstünü tünellemiyorsun
Bir ev makinesini bir tünelle teknik olarak açabilirsin ve hızlı bir demo için bu sorun değil. Güvendiğin herhangi bir şey için makinenin sorunlarını miras alırsın: uyur, ISP'n IP'ni döndürür, yükleme hızın yavaştır ve artık gerçek araçlarla dolu bir hizmet, ev ağında her şeyin yanında oturuyor. Bir VPS sana sabit bir genel IP, gerçek bir alan adı, düzgün çalışma süresi ve izolasyon verir. Ayda birkaç dolara "ajanım bağlantıyı neden kaybetti" sorularının tüm kategorisini siler.
Yığın, somut olarak
Küçük bir kutu seç. Bir MCP araç sunucusu çoğunlukla I/O'dur — API'leri, dosyaları ve veritabanlarını bekler; ağır matematik yapmaz. 1–2 GB RAM çoğu için fazlasıyla yeter. (Cevap vermek için satır içi bir model çalıştırmak başka bir hikaye — Ollama ile bir LLM'i kendi kendine barındırmaya bak.)
Sunucunu localhost'a bağlı çalıştır, diyelim Node ya da Python 127.0.0.1:3100'ü dinliyor. Onu doğrudan genel arayüzden uzak tut — proxy bunu halleder.
Önüne bir ters proxy koy ki alan adında TLS'i sonlandırsın. Caddy bunu yaklaşık dört satırda yapar ve ücretsiz bir sertifikayı otomatik alır:
mcp.yourdomain.com {
reverse_proxy 127.0.0.1:3100
}
mcp.yourdomain.com'u VPS IP'ne yönelt, Caddy'yi yeniden yükle ve sunucun https://mcp.yourdomain.com'da streamable-HTTP üzerinden canlı.
Her zaman açık tut
İlk çökmede ya da yeniden başlatmada ölen bir sunucu "barındırılmış" değildir — "şimdilik çalışıyor"dur. Onu bir systemd birimine sar ki çökmede yeniden başlasın ve bir yeniden başlatmadan sonra geri gelsin:
[Unit]
Description=My MCP server
After=network.target
[Service]
ExecStart=/usr/bin/node /opt/mcp/server.js
Restart=always
RestartSec=2
[Install]
WantedBy=multi-user.target
systemctl enable --now my-mcp ve gerçekten her zaman açık. (Aynı desen herhangi bir ajanı ya da botu 7/24 ayakta tutar.)
İnsanların kaçırdığı kısım: erişilebilir bir porta ihtiyacın var
Genel bir MCP uç noktası, internetten erişilebilir bir gelen porta — 443 — ihtiyaç duyar. Bir NAT planında SSH için tam olarak bir yönlendirilmiş port alırsın ve başka bir şey değil; 443'ü dünyaya açamazsın. Genel bir HTTPS MCP sunucusu barındırmak için her portun senin olduğu ve bir alan adını doğrudan kutuya yönlendirebileceğin bir özel IP planı istersin. Bu, "aynı dizüstündeki ajanım ona ulaşabilir" ile "herhangi bir yerdeki herhangi bir istemci" arasındaki farktır.
Kilitle — bu, ayrıcalıkları olan bir API
Bir MCP sunucusu genellikle bir şeyler yapan araçlar sunar: dosya okur, ücretli API'lere gider, para taşır. Bunu açık internete çıplak koyma.
- Her çağrıda bir token iste. Anonim istekleri reddet; herhangi bir araç çalışmadan önce bir bearer token ya da API anahtarını kontrol et.
- 443 dışındaki her şeyi güvenlik duvarıyla kapat ve SSH portunu.
- Yalnızca anahtarla SSH, parola girişi yok. (İşte on dakikalık kontrol listesi.)
Uç noktayı olduğu şey gibi ele al — gerçek yetkisi olan bir API — ve riskin çoğu kaybolur.
Dürüst sınırlar
- Operasyonlar artık senin. İşletim sistemi güncellemeleri, süreci sağlıklı tutmak, logları izlemek. Caddy sertifikayı senin için yeniler ama gerisi senin. Yönetilen bir bulut fonksiyonu bunu gizler; bir VPS onu kontrol ve çok daha düşük bir fatura karşılığında sana verir.
- MCP spesifikasyonu hâlâ hareket halinde. Taşımalar ve kimlik desenleri sürümden sürüme değişir. SDK sürümünü sabitle ve arada bir güncellemeyi bekle.
- Bir CPU kutusu araç sunucuları için doğrudur, yerel bir modelle cevap üretmek için değil. Sunucun yanıt vermek için bir LLM çalıştırıyorsa, bu ayrı, daha ağır bir makinedir — Ollama kılavuzuna bak.
- Yıkıcı araçları asla kimlik doğrulama ve bir onay adımı olmadan açma. Bir şeyleri silen açık bir araç, eninde sonunda her şeyi tarayan bir botla karşılaşır.
Ödeme
Bir e-postayla kaydol ve USDC ya da USDT ile öde — kart yok, kimlik yok. Ve bunu bir ajan için bağlıyorsan, aynı tür kutu programatik olarak kendi MCP sunucumuz üzerinden sipariş edilip ödenebilir — ajan kaydolur, bir bakiye fonlar ve kendi başına sipariş eder.
Sunucuyu bir kez barındır ve araçların, ajan onlara uzandığında orada olsun.
Hazır kurulum: MCP sunucuları için VPS sayfasına bak — önerilen plan ve bir dakikalık kripto dağıtımı.
Yorumlar
Henüz yorum yok. İlk olun.