AI Ajanları ile Bağlantı (MCP)#
Babel balığının güzelliği, kimseye yeni bir dil öğretmeden herkesi anlaşılır kılmasıydı. MCP (Model Context Protocol) de aynı işi yapar: Claude Desktop gibi bir uygulama, VeriTeknik'i öğrenmek zorunda kalmadan hesabınıza soru sorabilir, sunucularınızı görebilir, bir destek talebi açabilir.
Balığı kulağınıza siz koyarsınız, istediğiniz an çıkarırsınız. Bağlantıyı siz kurar, kapsamını siz belirler ve tek tıkla iptal edersiniz.
Ne işe yarar?#
Bağlantı kurulduktan sonra Claude Desktop'ta şunları yazabilirsiniz:
- "VeriTeknik'teki sunucularımı listele, hangileri çalışıyor?"
- "web-01'in disk ve bellek değerleri neydi?"
- "Ödenmemiş faturam var mı?"
- "
sirketiniz.com.trne zaman bitiyor, DNS kayıtları neler?" - "Şu hata için bir destek talebi aç ve loglardan bir özet yaz."
Claude, sorunuzu VeriTeknik'e taşır, cevabı okur ve size anlatır. Arada yeni bir panel, yeni bir şifre ya da kopyala-yapıştır turu yoktur.
MCP tam olarak nedir?
Uygulamaların bir hizmete bağlanmak için kullandığı ortak bir protokol. Bizim tarafımızda https://veriteknik.com/api/mcp adresinde yaşayan bir uç var; Claude Desktop, claude.ai ve tarayıcı içinde çalışan diğer MCP istemcileri bu adrese bağlanabilir. Yani "Claude Desktop entegrasyonu" değil, standart bir kapı - Claude Desktop şu an o kapıyı en çok çalan misafir.
Başlamadan Önce#
Üç şey gerekiyor:
- Şirketiniz için MCP erişimi açık olmalı. Özellik firma bazında açılır ve varsayılan olarak kapalıdır. Şirket sahibi ya da yöneticisi Ayarlar > Ajan Bağlantıları > AI Ajanı Erişimi (MCP) kartından MCP erişimini etkinleştir anahtarını açar. Kartı her aktif üye görür; anahtarı yalnızca sahip veya yönetici değiştirebilir ve kart bunu salt okunur olduğunu söyleyen bir notla belirtir.
- Bir şirkete bağlı hesabınız olmalı. Bağlantı her zaman bir şirket adına kurulur; hesabınız henüz bir şirkete bağlı değilse onay ekranı sizi nazikçe geri çevirir.
- İki adımlı doğrulama (2FA) - şart değil ama şiddetle önerilir. 2FA açıksa, onay ekranından geçen her bağlantı - ilk kurduğunuz dahil - sizden taze bir doğrulama kodu ister; aynı kod bir bağlantıyı genişletirken ve geri alınamaz bir işlemi onaylarken de istenir. Doğruladıktan sonra iki saat boyunca tekrar sorulmaz.
Anahtarı kapatmak bağlantıyı silmez
MCP erişimini etkinleştir anahtarını kapatmak, bağlı tüm uygulamaların erişimini anında keser. Yeniden açtığınızda erişim yeni bir onay istemeden geri gelir. Yani bu anahtar bir sigorta, bir imha düğmesi değil.
Kurulum: istemciler#
Bağlantı adresi her istemci için aynıdır ve Ayarlar > Ajan Bağlantıları > AI Ajanı Erişimi (MCP) kartındaki Bağlantı bilgileri bölümünden kopyalanabilir:
https://veriteknik.com/api/mcp
Yapılandırmasını bir dosyadan okuyan istemcilerin çoğu şu kalıbı kabul eder (type satırını Claude Code şart koşar, Cursor ve diğerleri görmezden gelir):
{
"mcpServers": {
"veriteknik": {
"type": "http",
"url": "https://veriteknik.com/api/mcp"
}
}
}
Hangi istemci olursa olsun sıra aynıdır: adresi tanımlarsınız, ilk araç çağrısında tarayıcınızda VeriTeknik onay ekranı açılır (şirket, izin grupları, aylık tavan, 90 gün), onayladıktan sonra aynı bağlantı süresi dolana ya da siz iptal edene kadar yeniden sorulmaz.
İstemcinin OAuth desteklemesi gerekir
VeriTeknik uzun ömürlü sabit jeton (statik token) vermez. Bağlanacak istemcinin OAuth 2.1 ve dinamik istemci kaydını (DCR) desteklemesi gerekir - Claude Desktop, Claude Code ve Cursor destekler. Desteklemeyen bir istemci bugün bağlanamaz: kopyalayıp bir kutuya yapıştıracağınız bir anahtar yok.
Nerede: Ayarlar > Bağlayıcılar.
- Claude Desktop'ı açın ve Ayarlar > Bağlayıcılar bölümüne gidin.
- Özel bağlayıcı ekle seçeneğini kullanıp adresi yapıştırın:
https://veriteknik.com/api/mcp - İstenildiğinde oturum açıp bağlantıyı onaylayın.
Üçüncü adımda tarayıcınız açılır ve sizi VeriTeknik onay ekranına götürür. Zaten giriş yapmışsanız doğrudan oraya düşersiniz; yapmamışsanız önce giriş yaparsınız.
Nerede: terminal.
claude mcp add --transport http veriteknik https://veriteknik.com/api/mcp
Ya da proje kökündeki .mcp.json dosyasına yazın (hub'daki bağlantı kartının sizin için kopyaladığı blok budur; Claude Code type satırı olmadan kabul etmez):
{
"mcpServers": {
"veriteknik": {
"type": "http",
"url": "https://veriteknik.com/api/mcp"
}
}
}
Sonra bir oturum başlatıp /mcp yazın ve veriteknik için oturum açın; tarayıcıda onay ekranı açılır. Claude Code OAuth akışını kendisi yürütür, jeton istemez.
Nerede: Ayarlar > Bağlayıcılar (Connectors) > Oluştur.
Önce geliştirici modu açılmalıdır (Ayarlar > Güvenlik ve giriş); kurumsal alanlarda bunu bir yönetici açar. Bağlayıcı oluştururken ad, açıklama ve MCP sunucu adresi sorulur; adres alanına https://veriteknik.com/api/mcp yazın.
Özel bağlayıcılar her planda açık değildir (ücretsiz planda yoktur). OpenAI 2026'da menü adlarını değiştirdi; ekranınız birebir aynı değilse ayarlarda "connector" ya da "MCP" araması yapın.
Nerede: ~/.cursor/mcp.json (tüm projeler) ya da proje kökünde .cursor/mcp.json.
{
"mcpServers": {
"veriteknik": {
"url": "https://veriteknik.com/api/mcp"
}
}
}
Kaydettikten sonra Cursor sunucuyu Needs login diye işaretler; üzerine tıkladığınızda tarayıcıda onay ekranı açılır.
Nerede: proje kökünde .vscode/mcp.json.
{
"servers": {
"veriteknik": {
"type": "http",
"url": "https://veriteknik.com/api/mcp"
}
}
}
Anahtar mcpServers değil servers, ve "type": "http" yazılır. Copilot'u agent modunda ilk kez çağırdığınızda oturum açmanız istenir.
Nerede: ~/.codeium/windsurf/mcp_config.json (Cascade > MCP panelinden de açılır).
{
"mcpServers": {
"veriteknik": {
"serverUrl": "https://veriteknik.com/api/mcp"
}
}
}
Uzak sunucularda alan adı url değil serverUrl. Windsurf her taşıma tipi için OAuth destekler; ilk çağrıda tarayıcıda onay ekranı açılır.
Nerede: Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add, açılan pencereye JSON yapıştırılır.
{
"mcpServers": {
"veriteknik": {
"url": "https://veriteknik.com/api/mcp"
}
}
}
Adresle tanımlanan uzak sunucular için 2025.3 ve sonrası gerekir. Dikkat: JetBrains'in kendi belgeleri uzak MCP sunucuları için bir OAuth oturum akışından söz etmiyor; AI Assistant tarayıcıda onay ekranını açamıyorsa bağlantı kurulamaz, çünkü elle yapıştırılacak bir jeton vermiyoruz. Denediyseniz sonucu bize yazın.
Nerede: Ayarlar > Agent Behaviour > MCP Servers, ya da doğrudan ~/.config/kilo/kilo.jsonc (proje için .kilo/kilo.jsonc).
{
"mcp": {
"veriteknik": {
"type": "remote",
"url": "https://veriteknik.com/api/mcp"
}
}
}
Sunucu OAuth destekliyorsa Kilo Code akışı bağlanırken kendiliğinden başlatır.
Roo Code, korumalı bir uzak MCP sunucusunda OAuth akışını başlatmıyor (açık geliştirme talebi #8119; depo Mayıs 2026'da salt okunur hâle geldi). Sabit jeton vermediğimiz için bugün VeriTeknik'e bağlanamaz.
Aynı aileden ve bakımı süren Kilo Code OAuth destekliyor; sekmesindeki adımlar aynı kurulumu verir.
Nerede: terminal ya da ~/.config/devin/mcp_config.json.
devin mcp add veriteknik https://veriteknik.com/api/mcp
devin mcp login veriteknik
login komutu tarayıcıda VeriTeknik onay ekranını açar. Elle yapılandırmak isterseniz:
{
"mcpServers": {
"veriteknik": {
"url": "https://veriteknik.com/api/mcp",
"transport": "http"
}
}
}
Devin bir 4xx görürse SSE'ye düşmeyi dener; bizim uç standart Streamable HTTP konuştuğu için bu düşüşe gerek kalmaz.
Nerede: ~/.gemini/settings.json.
{
"mcpServers": {
"veriteknik": {
"httpUrl": "https://veriteknik.com/api/mcp"
}
}
}
Alan adı url değil httpUrl. Sonra oturum içinde /mcp auth ile veriteknik sunucusunda oturum açın; Gemini CLI dinamik istemci kaydını destekler ve jetonu kendi saklar.
Nerede: terminal ya da ~/.codex/config.toml.
codex mcp add veriteknik --url https://veriteknik.com/api/mcp
codex mcp login veriteknik
Elle yazmak isterseniz:
[mcp_servers.veriteknik]
url = "https://veriteknik.com/api/mcp"
Aynı config.toml Codex CLI, IDE eklentisi ve masaüstü uygulaması tarafından paylaşılır. Bağlantıyı /mcp ile doğrulayın.
Uygulamadan eklemek isterseniz: sağ üstteki hesap menüsünden Settings > Plugins > sağ üstteki Add > Add MCP server. Açılan formda Type olarak Streamable HTTP seçin, URL alanına https://veriteknik.com/api/mcp yazın ve Save deyin. Ad alanına ne yazdığınız size kalmış; sunucu listesinde onu göreceksiniz.
Bearer token ve başlık alanlarını boş bırakın. Bu sunucu elle taşınan bir anahtarla değil, tarayıcıdan onayladığınız bir bağlantıyla çalışıyor: MCPs sekmesinde satırın yanındaki Authenticate düğmesine bastığınızda tarayıcınız açılır, VeriTeknik hesabınıza girer ve hangi izinleri verdiğinizi seçersiniz. Onaydan sonra uygulama araçları görmeye başlar.
Nerede: sağ kenar çubuğunda Integrations > Install > mcp.json düzenleme.
{
"mcpServers": {
"veriteknik": {
"type": "http",
"url": "https://veriteknik.com/api/mcp"
}
}
}
Kaydettikten sonra sunucunun yanındaki Authenticate düğmesine basın; tarayıcı açılır, onay ekranından geçersiniz ve "Authentication Successful" görürsünüz.
LM Studio uzak MCP sunucuları için OAuth desteğini 0.4.10 sürümüyle (Nisan 2026) ekledi; daha eski bir sürümdeyseniz önce güncelleyin.
Nerede: Cline panelinde MCP Servers ikonu > Configure > Configure MCP Servers.
{
"mcpServers": {
"veriteknik": {
"type": "streamableHttp",
"url": "https://veriteknik.com/api/mcp"
}
}
}
type değeri camelCase yazılmalıdır: streamable-http yazarsanız Cline SSE'ye düşer ve 405 alırsınız. Cline'ın belgeleri uzak sunucular için OAuth oturumundan söz etmiyor; denediyseniz sonucu bize yazın.
Listede olmayan bir istemcide önce yukarıdaki genel kalıbı (mcpServers + url) deneyin. İstemci bir taşıma tipi soruyorsa Streamable HTTP seçin; uç https://veriteknik.com/api/mcp adresinde tek bir HTTP ucudur, ayrı bir SSE adresi yoktur.
Tek şart OAuth: istemci tarayıcıda onay ekranını açamıyorsa bağlanamaz, çünkü elle yapıştırılacak sabit bir jeton vermiyoruz.
Doğruladığımız istemciler#
| İstemci | Durum |
|---|---|
| Claude Desktop | Bizzat test ettik |
| MCP Inspector | Bizzat test ettik |
| Devin | Kullanıcı tarafından doğrulandı (kullanıcı raporu, Eylül 2026) |
| Claude Code | Bizzat test ettik (26 aracın tamamı, Eylül 2026) |
| ChatGPT | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| Cursor | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| VS Code / GitHub Copilot | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| Windsurf | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| JetBrains AI Assistant | Belgelerine göre yazıldı, OAuth desteği belirsiz |
| Kilo Code | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| Roo Code | Belgelerine göre: OAuth yok, bugün bağlanamaz |
| Gemini CLI | Belgelerine göre yazıldı, deneyiminizi bize yazın |
| Codex (uygulama ve CLI) | Bizzat test ettik (Eylül 2026) |
| LM Studio | Bizzat test ettik (Eylül 2026) |
| Cline | Belgelerine göre yazıldı, OAuth desteği belirsiz |
İstemciler ayda bir menü değiştiriyor. Bir adım tutmadıysa destek talebi oluşturun; hem sizi bağlarız hem bu sayfayı düzeltiriz.
Onay Ekranı: Zarfı Siz Çizersiniz#
Onay ekranı bir "kabul et" düğmesinden ibaret değil. Burada o bağlantının güvenlik zarfını çiziyorsunuz: neye dokunabilecek, ayda en fazla ne kadar harcayabilecek, ne kadar süre yaşayacak.
Şirket#
Şirket seçin listesinden bağlantının hangi şirket adına kurulacağını belirlersiniz. Bir bağlantı tek bir şirkete bağlıdır; ikinci bir şirket için ikinci bir bağlantı kurarsınız.
İzin grupları#
İzinler tek tek değil, anlamlı gruplar hâlinde verilir:
| Grup | Ne verir | Varsayılan |
|---|---|---|
| Sunucular: oku | VPS, sunucu ve izleme durumunu görüntüleme; sunucunun anlık sağlığını okuma: uptime, yük, bellek, diskler, hangi servisler koşuyor ya da çökmüş, container'lar ve dinlenen portlar | Açık |
| Sunucular: yönet | Sunucuyu başlatma, durdurma, yeniden başlatma ve anlık görüntü alma | Kapalı |
| Sunucu inceleme | Sunucu loglarını ve dosyalarını okuma, dizin listeleme, dosya içinde arama ve yedek envanterini görme (salt okunur) | Kapalı |
| Sunucular: aç ve sil | Bakiyeden sunucu oluşturma ve MCP ile açılmış bir sunucuyu tam hostname onayıyla silme | Kapalı |
| Sunucular: görev çalıştır | SSL kurulumu, statik site yayımlama ve güvenli komut çalıştırma | Kapalı |
| Sunucular: yönetici komutu | Paket kurma, servis yapılandırma/yeniden başlatma, dosya yazma gibi değiştiren komutlar; sunucunun kendi BIOS, sınıflandırma ve özerklik kuralları geçerli, yıkıcı sınıf hiç çalışmaz, her toplu komut sonrası bildirim | Kapalı |
| Alan adları: oku | Alan adı ve DNS kayıtlarını görüntüleme | Açık |
| DNS: yönet | DNS kayıtlarını ekleme, düzenleme ve silme | Kapalı |
| Alan adları: kaydet ve yönet | Bakiyeden yeni alan adı kaydetme | Kapalı |
| Faturalama: görüntüle | Faturaları, sözleşmeleri ve teklifleri görüntüleme | Açık |
| Destek: kendi taleplerini görüntüle | Kendi açtığınız destek taleplerini görüntüleme | Açık |
| Destek: talep aç ve yanıtla | Destek talebi açma ve mevcut taleplere yanıt yazma | Açık |
| Ekip: görüntüle | Ekip üyelerini görüntüleme | Açık |
Bu liste bugün MCP'de gerçekten bir aracı olan grupları gösterir. Bir işlemin aracı yoksa grubu onay ekranında hiç görünmez: kullanamayacağı bir yetkiyi onaylatmak, zarfı olduğundan geniş gösterir. O işlem MCP'ye açıldığı gün grup listeye kendiliğinden geri gelir - Sunucular: aç ve sil ve Alan adları: kaydet ve yönet grupları böyle geldi.
Her anahtarın altında o grubun açtığı araçların adları küçük etiketler hâlinde yazar (stop_vps, register_domain gibi).
Etiketler, uygulamanızın göreceği araç listesiyle aynı kaynaktan türer; bir grubun altında etiket yoksa o grubun araçları o an kapalıdır ve anahtarı açmak size hiçbir şey kazandırmaz.
Rolünüzün taşımadığı bir grup kilitli gelir ve yanında "Mevcut rolünüz bu izne sahip değil" yazar. Kimse kendinde olmayan bir yetkiyi bir uygulamaya veremez - zarf sizin rolünüzün tavanını aşamaz.
Hiçbir grup seçmeden devam edemezsiniz: "En az bir izin grubu seçin. Hiçbir şey yapamayan bir bağlantı kurmanın anlamı yok."
Aylık harcama tavanı#
Aylık harcama tavanı (USD) bağlantının bir takvim ayında harcayabileceği tutardır; varsayılan 20,00 USD. Bu ay harcanan, UTC takvim ayının başından itibaren bu bağlantıyla açılmış siparişlerin kayıtlı brüt USD fiyatını gösterir. İade cüzdan bakiyesini artırır, bu aylık toplamı azaltmaz. Cüzdan ve maliyet araçları yalnız okur; sunucu oluşturma ve silme ayrıca yaşam döngüsü izni ister.
90 gün#
Bağlantı onay tarihinden itibaren 90 gün geçerlidir ve sonunda kendiliğinden sona erer. Aynı uygulamayla yeniden bağlandığınızda süre sıfırlanır ve o anki zarf yeniden onayınıza sunulur. Kalıcı bir anahtar vermiyoruz; yenilenen bir randevu veriyoruz.
"Kimliği doğrulanmadı" uyarısı#
Bazı uygulamalar kendilerini bize anonim olarak kaydeder. Böyle bir uygulamada onay ekranında şu uyarıyı görürsünüz: "Bu uygulama {tarih} tarihinde anonim olarak kaydedildi; kimliği doğrulanmadı. Yalnızca tanıdığınız bir uygulamaya izin verin."
Uyarı bir suçlama değil, bir bilgi: o uygulamanın kim olduğunu bizim doğrulama yolumuz yok. Kendi başlattığınız bir bağlantıysa sorun yok. Başlatmadığınız bir onay ekranı karşınıza çıktıysa Reddet deyin.
Reddet dediğinizde bağlantı kurulmaz: uygulama "izin verilmedi" cevabıyla geri döner, hesabınızda hiçbir bağlantı ya da yetki oluşmaz ve tek bir veri satırı bile okunmaz. Kararın kendisi denetim kaydına yazılır - reddetmek de bir güvenlik olayıdır.
Ajanınız Bugün Neler Yapabiliyor?#
Katalogda 45 araç var; bir bağlantı yalnız zarfının izin verdiklerini görür. Bir grubu vermediyseniz o gruba ait araçlar uygulamanın listesinde bile görünmez.
Sunucular
- Sunucularınızı listeleme; tek bir sunucunun tüm ayrıntısını okuma (IP'ler, işletim sistemi, CPU/RAM/disk/bant genişliği)
- Anlık görüntüleri listeleme ve yeni bir anlık görüntü alma
- Anlık görüntü alınamadıysa (sunucuda zaten 3 anlık görüntü varsa ya da düğümde anlık görüntü deposu yoksa) sonuç başarı değil, sebebiyle birlikte hatadır; güç komutlarında
taskIdboş dönebilir, bu bir hata değildir - durumuget_vps_detailsile okuyun - Sunucuyu başlatma, durdurma, yeniden başlatma
- Bir sunucunun CPU, bellek, ağ ve disk kullanımını zaman içinde okuma
- Bant genişliği kullanımını, dahil kotayı ve varsa aşımı okuma
- Bir sunucunun çalışma süresi izlemesini okuma: şu an ayakta olup olmadığı, 24 saat / 7 gün / 30 gün çalışma yüzdesi, ortalama ping ve son olaylar
- İzlenen sunucu ve alan adlarının anlık ayakta/kapalı durumu
- Satıştaki fiziksel (dedicated) sunucuların listesi ve fiyatları
Alan adları ve DNS
- Alan adlarınızı, durumlarını ve bitiş tarihlerini listeleme
- Bir adın müsait olup olmadığını sorgulama, uzantı fiyatlarını öğrenme
- Yeni bir alan adını bakiyeden kaydetme (aşağıda ayrı bölüm)
- Bir alan adının DNS bölgesini ve tüm kayıtlarını okuma
- Alan adı izleyicilerinizi listeleme ve tek bir izleyicinin durumunu (sertifika ömrü dâhil) okuma
Faturalama
- Faturalarınızı ve tek bir faturanın kalemlerini okuma
- Sözleşmelerinizi ve tek bir sözleşmenin kalemleriyle yenileme koşullarını okuma
Destek
- Taleplerinizi listeleme, bir talebin yazışma geçmişini okuma
- Yeni talep açma ve mevcut bir talebe yanıt yazma
Ekip
- Şirket üyelerinizi, rollerini ve durumlarını listeleme
Sunucunuzun içi (aşağıdaki bölüme bakın)
- Bir sunucunun anlık sağlık fotoğrafı: yük, bellek, disk, koşan ve çöken servisler, container'lar, dinlenen portlar
- Bilinen bir logun son satırları ve içinde arama
- Bir dizinin içeriği, bir metin dosyasının belli satırları
- Bir dizin altında metin arama
- Yedek durumu: en yeni yedek ne zaman alınmış, ne kadar yer tutuyor, bir zamanlama var mı
Cüzdan ve VPS maliyeti#
| Araç | Döndürdüğü bilgi | İzin grubu |
|---|---|---|
get_balance |
Kullanılabilir bakiye, ayrılmış avans, faturalanmamış tüketim, para birimi, bağlantı bütçesi ve sunucu saati (serverTime, UTC) |
Faturalar: oku |
estimate_cost |
Aylık tavan, saatlik USD fiyatı, kurulum, vergi, ayrılacak avans ve bakiye yeterliliği | Sunucular: oku |
Fiyat için güncel VPS kataloğundaki değerlerden vcpu, MB cinsinden ram, GB cinsinden disk ve isteğe bağlı ips (varsayılan: 1) verilir.
Önizleme firmanızın fatura para birimini ve vergi profilini kullanır, sipariş oluşturmaz.
balanceCovers ayrılacak avansı kullanılabilir cüzdan bakiyesiyle karşılaştırır; bağlantının kalan sipariş bütçesi ayrı olarak remainingUsd alanındadır.
balance harcanabilir tutardır: çalışan sunucular için ayrılan avans oradan çıkarılmış ve reservedBalance alanında gösterilir (sunucu açılışı bakiyeyi anında avans kadar düşürür); uninvoicedUsage o avansın şimdiye kadar tüketilen kısmıdır, ek bir borç değildir. Cüzdanın tamamı balance + reservedBalance toplamıdır.
Yeni MCP VPS'lerde aylık tavan ve kurulum avans olarak ayrılır; açılışta aylık fatura kesilmez.
Saatlik bedel aylık fiyatın 720'ye bölümüdür; başlayan saat yukarı yuvarlanır, aylık tavan korunur ve kurulum bir kez eklenir.
Kaynak ve dönem başına net tüketim bir kez kuruşa yukarı yuvarlanır, ardından vergi hesaplanır.
Tüketim UTC takvim ayı sonunda firma ve para birimi bazında birleştirilir; fatura eşiği 10 USD'dir.
Zorunlu fatura son tarihi eşiği geçersiz kılar; hizmeti silmek ay sonundan önce fatura gerektirebilir.
Mevcut aylık hizmetler kendi modelinde kalır.
Mevcut bağlantıda bakiye aracını görmek için Faturalar: oku iznini yeniden onaylamak gerekebilir.
Dönem bitimine 48 saat kala sonraki dönem avansını karşılayamayan bakiye için dönem başına bir uyarı hazırlanır; günlük kontrolün kesintisiz çalışması bu pencerede uyarı fırsatı sağlar. Panelden bakiye yükleyebilirsiniz. Bakiye yetersizliğinde sunucu gerçekten askıya alındıktan sonra bildirim alırsınız; yeterli bakiye yüklendiğinde sonraki günlük kontrolde sunucu yeniden açılır ve ayrıca bildirilir. Bu bildirimler faturaya değil sunucuya bağlanır. Kur okunamadığında müşteriye bakiye uyarısı gönderilmez, teknik ekip bilgilendirilir.
VPS sipariş seçeneklerini keşfetme#
Sunucu fiyatlamadan veya oluşturmadan önce ajanınız list_vps_catalog çağırmalıdır.
Araç VPS sayfasıyla aynı kataloğu okur ve Sunucular: oku izni gerektirir.
Tüm katalog için kind alanını boş bırakın; tek bölüm için plans, images veya applications seçin.
| Bölüm | Dönen bilgiler |
|---|---|
plans |
Seçilebilir vcpu, ram (MB), disk (GB) ve ips dizileri. Emekli boyutlar dışlanır. MCP siparişlerinde ek disk şimdilik sıfırdır. |
images |
İşletim sistemi adı, sürümü, osImageVersionId olarak gönderilecek id ve minimumRamMb. Seçilen işletim sistemi için yeterli RAM seçin. |
applications |
Uygulama adı, slug, kategori ve kullanılabilirlik. Yalnız availability: "mcp" olanlar applicationSlug ile sipariş edilebilir. |
hub_configuration_required uygulamalar VPS sayfasındaki formun doldurulmasını gerektirir; unavailable uygulamalar siparişe hazır değildir.
Tam bir işletim sistemi sürümü veya bir uygulama seçin, plans içindeki kaynak değerleriyle estimate_cost çağırın ve create_vps öncesi fiyatı inceleyin.
Katalog değerleri ve imaj kimlikleri değişebilir; sipariş sırasında yeniden doğrulanır.
İstenen katalog kaynağına erişilemezse araç hatayı boş katalog gibi göstermez.
Alan adı kaydetme#
Alan adları: kaydet ve yönet grubunu onaylayın; register_domain aracı bununla gelir. Personel araç anahtarı da açık olmalıdır.
| Araç | Davranış |
|---|---|
register_domain |
domainName ve isteğe bağlı period (1-10 yıl) alır. Önce search_domain ile müsaitlik ve fiyat sorulur. Birden çok yılda ilk yıl kayıt fiyatından, sonraki yıllar yenileme fiyatından hesaplanır; promosyon yalnız ilk yıl içindir. Ücret yalnız bakiyeden düşer; kart hiçbir koşulda çekilmez. Kayıt kuruluşu reddederse tutar bakiyeye döner. |
Tescil sahibi bilgileri uydurulmaz: ad, e-posta ve doğrulanmış telefon sipariş veren kullanıcıdan, adres ve ülke firmanın fatura profilinden gelir; dördü de (tescil sahibi, yönetici, teknik, fatura) aynı kişidir.
Fatura adresinde posta kodu yoksa ajan postalCode ile verebilir ya da adrese ekleyin; eksik başka bir alan panelde profil tamamlama isteği olarak döner ve sipariş oluşmaz.
.tr uzantısında tescil sahibi kimliği (bireyselde TCKN, kurumsalda VKN ve vergi dairesi) firma profilinden okunur; eksikse aynı şekilde panele yönlendirilir.
Kaydedilen alan adı VeriTeknik ad sunucularına yönlendirilir, bu yüzden add_dns_record hemen çalışır.
Aynı bağlantıda başka bir sipariş sürüyorsa (örneğin bir sunucu açılışı) ikincisi onun bitmesini bekler; bu, aylık harcama tavanının her siparişi ayrı ayrı görmesi içindir.
VPS oluşturma ve silme#
Sunucular: oluştur ve sil grubunu onayladığınızda create_vps ve delete_vps kullanılabilir. Personelin araç anahtarı da açık olmalıdır.
| Araç | Davranış |
|---|---|
create_vps |
hostname, vcpu, ram (MB), disk (GB), isteğe bağlı ips ve tam bir OS sürümü veya uygulama slug'ı alır. Aylık tavan ve kurulum yalnız bakiyeden avans olarak ayrılır; tüketim daha sonra faturalanır. Morpheus erişimi (sunucu araçlarının bağlandığı kapı) varsayılan olarak açılır ve sunucu boot olunca otomatik kurulur; firmanın CogMem-AI ek maddesini bir kez kabul etmiş olması gerekir, yoksa para çekilmeden accept_cogmem_contract adımı döner. morpheusAccess: false sunucuyu Morpheus'suz açar. |
get_vps_details |
IP bekleniyorsa Solus'tan tamamlar. MCP kökenli sunucuda createdViaMcp ve aynı silme otoritesinden refundIfDeletedNow döner. Her sunucuda morpheus.access sunucu araçlarının erişip erişemeyeceğini söyler: active, pending (açılış sonrası otomatik kurulum sürüyor), failed (bir günde tamamlanmadı, panelden açın), not_enabled (hiç açılmadı), unreachable (kimlik bilgisi var ama sunucuya şu an ulaşılamıyor), disabled (kimlik bilgisi devre dışı bırakılmış; panelden yeniden açın). |
delete_vps |
Önce vpsId ile hostname ve iade önizlemesi alınır. Sonra tam confirmHostname ve yeni requestId ile kalıcı silme yapılır. |
Her oluşturma/silme çağrısı benzersiz UUID requestId ister. Tamamlanmış aynı çağrının on dakika içindeki tekrarı ilk sonucu verir.
Oluşturma sonucunda ipAddress: null ve provisioning: true gelirse adres için get_vps_details çağırın.
monthlyUsd aylık USD tavanıdır; hourlyUsd saatlik USD fiyatını gösterir.
reservedFromBalance ayrılan avanstır; geriye uyumluluk alanı chargedFromBalance aynı tutarı firmanızın currency para biriminde döndürür.
Bu tutar, o anda faturalanmış tüketim anlamına gelmez.
Eksik bakiye için top_up, firma bilgisi için complete_company, doğrulama için verify_phone panel adımı döner. Kart verisi gönderilmez.
MCP yalnız aynı firmanın MCP üzerinden açılmış sunucusunu silebilir. Açan bağlantı iptal edilmiş olsa da firmanın başka yetkili bağlantısı silebilir. Panelden açılmış sunucular panelden silinir. Hostname uyuşmazlığı yeni bir onay önizlemesidir; ayrıca Hub onay tıkı gerekmez. Yeni saatlik hizmet silindiğinde yalnız kullanılmayan avans bakiyeye döner; tüketilmiş kısım toplu faturalamaya kalır. Avansın çözülmesi bağlantının aylık brüt sipariş bütçesini yeniden açmaz. Saatlik hizmette yapılandırma değişikliği veya yeniden oluşturma için gereken özelliklerle yeni sunucu siparişi verilir.
Bir oluşturma sonucu belirsizse review_order veya reconciliationRequired görünür. Yeni requestId ile tekrar sipariş vermeyin; sunucu/sipariş kimlikleriyle destekten inceleme isteyin.
Bu durumda bağlantının yeni siparişleri inceleme tamamlanana kadar bekletilir; bakiye okuma ve uygun sunucuyu silme devam eder.
Sunucunuzun İçine Bakma#
Bir uygulama hata verdiğinde asıl soru genellikle "sunucum ayakta mı" değil, "sunucumda ne oldu"dur. Bu altı araç Claude'un sunucunuzun içine salt okunur bakmasını sağlar: log okur, dosya okur, servis durumuna bakar, yedeklerinizi sayar. Hiçbiri bir şey değiştirmez, bir servisi durdurmaz, bir dosyaya yazmaz.
Sağlık fotoğrafı (servis ayakta mı, disk ne kadar kaldı, ne dinliyor) Sunucular: oku grubuna dahildir - büyük ihtimalle onu zaten verdiniz. Diğer beşi - log okuma, dosya okuma, dizin listeleme, dosya içinde arama, yedek envanteri - dosya İÇERİĞİ döndürür, o yüzden Sunucu inceleme grubunu ister ve o grup siz açmadıkça kapalıdır.
Bunu destekleyen bir uygulamada sağlık fotoğrafı sohbetin içinde etkileşimli bir pano olarak açılır ve panodaki Yenile düğmesiyle tazelenebilir; desteklemeyen bir uygulamada aynı veri her zamanki gibi metin olarak gelir. Hangi uygulamanın panoyu açtığını biz seçmiyoruz, bu istemcinin kendi desteğine bağlıdır.
Önce Morpheus SSH erişimini açmanız gerekiyor
Bu araçlar sunucunuza SSH ile bağlanır ve o kapıyı siz açarsınız: Hub > Sunucular > ilgili sunucu > Morpheus sekmesinden Morpheus'u Etkinleştir deyin. Tek tıkla uygulama (app) ile kurulmuş sunucularda, etkinleştirdikten sonra ekranda gösterilen kurulum (bootstrap) komutunu sunucuda bir kez çalıştırmanız gerekir.
Bağlı uygulamadan create_vps ile açtığınız sunucuda bu kapı sizin için otomatik açılır: sunucu boot olunca Morpheus erişimi kurulur (genellikle birkaç dakika), get_vps_details içindeki morpheus.access önce pending sonra active olur. O sırada çağrılan bir sunucu aracı "otomatik kuruluyor, bir dakika sonra tekrar deneyin" der. Tek şart, firmanızın CogMem-AI ek maddesini bir kez kabul etmiş olmasıdır.
Erişim açık değilse araç size düz bir cümleyle bunu söyler ve nereden açacağınızı yazar. Bir şey denemez, bir şey tahmin etmez.
Bağlantı kurulduktan sonra Claude Desktop'ta şunları yazabilirsiniz:
- "MySQL çalışıyor mu?"
- "nginx error log'unun son 200 satırını göster"
- "/var/www/app içinde 'TypeError' geçen yerleri bul"
Nereye bakabilir, nereye bakamaz#
Okuyabildiği yerler bellidir ve liste kısadır: /var/log, /var/www, /srv, /opt, /home ve web/PHP/veritabanı yapılandırma dizinleri (/etc/nginx, /etc/apache2, /etc/httpd, /etc/php, /etc/mysql, /etc/postgresql). /etc'in tamamı listede değildir.
Bu dizinlerin içinde bile açılmayan dosyalar var:
.envve bütün türevleri (.env.local,.env-production,app.env)- özel anahtarlar ve sertifika depoları:
*.pem,*.key,*.p12,*.pfx,*.ppk,*.kdbx,*.jks,*.keystore,id_rsaailesi - parola ve hesap dosyaları:
shadow,.htpasswd,.netrc,.pgpass,.my.cnf,debian.cnf,.git-credentials,.npmrc,.pypirc,credentials,secrets.yml/.yaml/.json - veritabanı dosyaları:
*.sqlite,*.sqlite3,*.db - ve şu dizinlerin tamamı:
.ssh,.gnupg,.aws,.docker
Bunları Claude bir dizin listesinde görür - sunucunuzu olduğu gibi tarif etmek için - ama içini açmayı reddeder. Arama aracı da öyle: /var/www altında arama yaparken bir .env dosyasında eşleşme bulursa o satırları size vermez, yalnız kaç tanesini sakladığını söyler.
wp-config.php bilinçli olarak okunabilir - "sitem neden çöktü"nün klasik dosyası odur. İçindeki parolalar maskeleyicinin işidir.
Ayrıca:
- Bir log sorduğunuzda cevap hangi dosyayı okuduğunu söyler. Aynı log dağıtıma göre farklı yerlerde durur (Debian'da
/var/log/apache2/error.log, RHEL'de/var/log/httpd/error_log); Claude sırayla dener ve size denediğini değil, bulduğunu bildirir. Hiçbiri yoksa bunu da açıkça söyler. - Çıkan her satır bir maskeleyiciden geçer: parola, API anahtarı, token ya da özel anahtar gibi görünen değerler
[REDACTED:...]olarak gelir ve kaç tanesinin maskelendiği size söylenir. Maskeleyici bir kalıp listesidir, yani elinden gelenin en iyisi - bir kimlik bilgisi dosyasını "acaba maskeliyor mu" diye sohbete yapıştırarak sınamayın; o yüzden o dosyalar zaten hiç açılmıyor. - Bir yedek dosyasının içi asla okunmaz.
check_backupsyalnız sayar, tartar ve tarihe bakar. - Bir cevap 64 KB'yi geçmez; kesildiyse bunu açıkça söyler.
- Sağlık fotoğrafı hangi güvenlik duvarı servisinin açık olduğunu söyler (
firewall) ve her arayüze bağlı bir veritabanı ya da önbellek portu varsa (MySQL 3306, PostgreSQL 5432, Redis 6379 gibi) bunuwarnings'e yazar: güvenlik duvarı açıksa "kuralların engellediğini doğrulayın", kapalıysa "üst akışta bir filtre yoksa internetten erişilebilir" der - sunucunun kendi güvenlik duvarına bakar, bulut güvenlik grubunu ya da üst güvenlik duvarını göremez. Kuralların kendisini de okumaz; o soru içinrun_commandilesudo -n firewall-cmd --list-allsorulur. - Bir servisi hangi adla sorduğunuz önemli değildir:
sshilesshd,apache2ilehttpd,mysqlilemariadb,php-fpmilephp8.x-fpmbirlikte denenir ve cevap hangi birimin cevap verdiğini (unit) söyler. - Bir çağrı 30 saniyeden uzun sürmez; sürerse elindekini ve "eksik" uyarısını döner.
Özerklik seviyeniz bu okumaları engellemez
Sunucular > Morpheus sekmesindeki özerklik (autonomy) seviyesi sizindir ve yerinde durur - ama bu altı aracın ürettiği her komut salt okunur olduğu için, en katı seviyede bile (confirm_all, hatta observe_only) okuma yapılabilir. Kod istenen şey bir şeyi değiştiren komutlardır ve bu araçlar hiçbir şeyi değiştirmez. Hub sohbetinde bu okumalar zaten kodsuz çalışıyordu; artık bağlı uygulamada da öyle.
Tek istisna hesabınızla ilgili: sunucunuz confirm_all ya da safe_auto seviyesindeyse, hesabınızda iki adımlı doğrulamanın açık olması gerekir. Bu kural kanaldan bağımsızdır - aynı sunucuda hub sohbeti de aynı şeyi ister - ve full_auto seviyesinde hiç sorulmaz.
Yapamadıkları#
Bazı işler MCP'ye bilerek açılmadı:
- Fatura ödeme, bakiye yükleme ve kart yönetimi. Bunlar panelden yapılır. MCP yalnız mevcut bakiyeden, bağlantının harcama tavanı içinde VPS siparişi verebilir.
- Sunucuyu yeniden kurma, root şifresi sıfırlama ve yeniden boyutlandırma. Bunlar panele özeldir. Silme yalnız aynı firmaya ait, MCP üzerinden açılmış VPS için ve birebir hostname doğrulamasıyla mümkündür; panelden açılmış VPS silinemez.
- Personel yetkisiyle iş görme. Bugünkü bağlantılar yalnızca müşteri kimliğiyle çalışır.
Yeni yetenekler için bağlantı izinlerini gözden geçirin
Onay ekranı yalnız aracı bulunan grupları gösterir. Sunucular: aç ve sil, DNS: yönet ve sunucu görevleri artık teklif edilir; bu gruplar varsayılan seçilmez. Önceki sürümlerde araç karşılığı olmayan izinler eski bağlantılardan temizlendi; yeni yetenek için bağlantının zarfını açıkça genişletin. Mevcut log/dosya okuma izni sunucu görevlerine erişim vermez. Eski bir bağlantıdaki tekil canlı izinler Bağlı Uygulamalar (MCP) kartında ayrı etiket olarak görünür ve Düzenle bunları korur. Bu tekil izinleri kaldırmak için bağlantıyı iptal edip yeniden bağlanın.
Fark Edeceğiniz Güvenlik Şeritleri#
Aynı isteğin iki kez gitmesi ikinci bir işlem açmaz. Durum değiştiren her çağrı bir istek numarası taşır (bunu uygulama üretir, sizin bir şey yapmanız gerekmez). Ağ koptu diye tekrarlanan bir istek, ilk çağrının cevabını geri verir; ikinci bir destek talebi ya da ikinci bir anlık görüntü oluşmaz. Bu koruma on dakika boyunca geçerlidir.
Sunucu silme, köken ve hostname doğrulaması ister. Yalnız aynı firmanın MCP üzerinden açılmış VPS'si silinebilir. Hostname eksik veya farklıysa uygulama silmeden önce doğru adı ve iade önizlemesini gösterir; birebir doğrulamayla yapılan çağrı siler. Bu araç ayrıca hub/e-posta onay bağlantısı üretmez. Diğer geri alınamaz araçlar için genel tek işlem onay kapısı hazırdır; bugünkü katalogda bu genel kapıyı kullanan araç yoktur.
Bekleyen onaylar sınırlıdır. Bir bağlantı aynı anda en fazla üç onay bekletebilir. Kararsız bir uygulamanın e-posta kutunuzu doldurmasına gerek yok.
Zarfı değiştirmek anında geçerlidir. Bir grubu kapattığınızda uygulamanın bir sonraki çağrısı zaten dar zarfla karşılanır; oturum bitmesini, jetonun ölmesini kimse beklemez.
Bağlantı 90 günde biter. Süresi dolan bir bağlantı sessizce çalışmaya devam etmez; uygulamaya "bu bağlantının süresi doldu, yeniden bağlanın" der.
Onay bağlantısı tek kullanımlıktır ve 15 dakika yaşar
Size gelen onay bağlantısı yalnız bir kez harcanır ve 15 dakika sonra geçersiz olur. Bilerek kısa: bir onay, cebinizde bekleyen açık çek olmamalı. Süre dolduysa uygulamadan aynı işi tekrar isteyin, yeni bir onay gelir. Bağlantı sizden başkasının elinde işe yaramaz - başka bir hesapla açıldığında var olmayan bir sayfa gibi davranır.
Bağlantılarınızı Yönetme#
Ayarlar > Ajan Bağlantıları > Bağlı Uygulamalar (MCP) kartında bağlı her uygulamayı görürsünüz:
- Uygulamanın adı ve kimliğinin doğrulanıp doğrulanmadığı (Kimliği doğrulanmadı rozeti)
- Verdiğiniz izin grupları
- Aylık tavan: {tutar} USD ve Bu ay harcanan: {tutar} USD
- Şu tarihe kadar geçerli: {tarih}
İki işlem yapabilirsiniz:
Düzenle - grupları ve tavanı değiştirip Kaydet dersiniz. Daraltmak anında uygulanır ve hiçbir şey sormaz. Genişletmek (yeni bir grup vermek ya da tavanı yükseltmek) 2FA'sı açık hesaplarda taze bir doğrulama kodu ister; doğruladıktan sonra iki saat boyunca tekrar sorulmaz.
Erişimi iptal et - bağlantıyı ve jetonlarını anında geçersiz kılar.
Don't Panic: iptal etmek bir şeyi bozmaz
Erişimi iptal et dediğinizde uygulama bir sonraki denemesinde kapıda kalır ve sizden yeniden bağlanmanızı ister. Sunucunuz çalışmaya, faturanız kesilmeye, alan adınız çözülmeye devam eder - iptal ettiğiniz tek şey bir uygulamanın sizin adınıza soru sorma hakkıdır. Fikriniz değişirse istemcinizden yeniden bağlanır, onay ekranından geçer ve kaldığınız yerden devam edersiniz.
Bir Şeyler Ters Gittiğinde#
Uygulama bir sorunla karşılaştığında size düz bir cümle döner. En sık görülenler:
| Gördüğünüz mesaj | Anlamı | Ne yapmalı |
|---|---|---|
| MCP access is disabled for this company | Şirketiniz için MCP erişimi kapalı | Şirket sahibi ya da yöneticisi AI Ajanı Erişimi (MCP) kartından açsın |
| This connection has expired | 90 gün doldu | İstemcinizden yeniden bağlanın; onay ekranı yeni bir 90 gün başlatır |
| step_up_required / "Devam etmeden önce kimliğinizi doğrulamanız gerekiyor" | Genişletme ya da onay için taze doğrulama gerekiyor | 2FA kodunuzu girin; sonraki iki saat boyunca tekrar sorulmaz |
| This connection lacks the permission ... | Zarfta o izin grubu yok | Bağlı Uygulamalar (MCP) kartında Düzenle ile ilgili grubu açın |
| Monthly cap ... USD | Aylık tavan aşıldı | Tavanı Düzenle ile yükseltin |
| requestId already used with different arguments | Uygulama aynı istek numarasını farklı bir çağrı için kullandı | Uygulama tarafında bir kusur; isteği yeniden başlatın, tekrarlıyorsa bize bir talep açın |
| Identity arguments are never accepted over MCP | Uygulama hangi şirket adına konuştuğunu kendisi söylemeye çalıştı | Bir şey yapmanıza gerek yok; şirket bilgisi her zaman bağlantının kendisinden okunur, uygulamanın söylediğinden değil |
| Morpheus SSH access is not enabled on this server | O sunucuda Morpheus SSH erişimi kapalı | Hub > Sunucular > ilgili sunucu > Morpheus sekmesinden açın; app ile kurulan sunucularda kurulum komutunu bir kez çalıştırın |
| The Morpheus DevOps agent is switched off for this server | Sunucuda ajan devre dışı | Aynı Morpheus sekmesinden açın |
| That path is a credential ... and is never readable | Açılmayan bir dosya ya da dizin istendi (.env, anahtar, parola ya da veritabanı dosyası; .ssh, .gnupg, .aws, .docker altındaki her şey) |
Doğru davranış budur; içeriğe ihtiyacınız varsa sunucuya kendiniz bakın |
| This server's autonomy level ... / two-factor authentication | Sunucu komut öncesi kod istiyor, hesabınızda ise iki adımlı doğrulama kapalı | Hesabınızda iki adımlı doğrulamayı açın ya da sunucunun özerklik seviyesini full_auto yapın |
The server has no file utility |
Araç o makinede metni ikiliden ayırt edemiyor, o yüzden hiçbir şey okumuyor | Sunucuya file paketini kurun ve tekrar deneyin |
| The server could not be reached | Makine cevap vermedi | Çalıştığından ve Morpheus SSH erişiminin hâlâ açık olduğundan emin olun; biraz sonra tekrar deneyin |
Uygulama hiç bağlanamıyorsa sırasıyla şunlara bakın: şirketinizde MCP erişimi açık mı, adresi doğru yapıştırdınız mı (https://veriteknik.com/api/mcp), ve tarayıcıda VeriTeknik oturumunuz açık mı.
Mesajlar İngilizcedir: MCP yüzeyinin tamamı - araç adları, açıklamalar, hata cümleleri - tek dil konuşur ve ajanınız bunları size Türkçe aktarır. Tek istisna, sebebi yalnızca aracın kendisinin bildiği genel hatalar ve kota mesajlarıdır; orada aracın kendi cümlesi olduğu gibi taşınır, çünkü elimizdeki tek bilgi odur.
Bağlı uygulamalar arşivlenen hesapta yaşamaz
Bir müşteri hesabı arşivlendiğinde o hesabın bağlı uygulamaları da iptal edilir. Bağlı bir uygulama oturum değildir - kimsenin bir şeye basması gerekmeden aylarca çalışabilir, bu yüzden hesabın kapanması bağlantının da kapanması demektir.
Aklınıza takılan olursa destek talebi oluşturun. Cevaplarız - hem de yedi buçuk milyon yıl beklemeden.
Sunucuda görev çalıştırma#
Bağlantıda Sunucular: görev çalıştır iznini ayrıca seçin.
Eski log ve dosya okuma onayı bu izni vermez.
setup_ssl önce alan adınızın yetkili A kaydının VPS'nin birincil IP'sine baktığını doğrular, sonra nginx ve sertifika kurar.
deploy_static_site, dosyaları /var/www/<domain>/ altına yazar ve nginx yapılandırmasını kontrol edip yeniden yükler; mevcut TLS bloğunu korur.
Bu iki şablon Debian/Ubuntu ve sudo erişimi kullanır; sunucunun Morpheus, BIOS, otonomi ve OTP ayarları geçerlidir.
| Araç | Girdi |
|---|---|
add_dns_record |
zoneName, name, type, content; isteğe bağlı ttl, priority |
update_dns_record |
Aynı alanlar ve değiştirilecek previousContent |
delete_dns_record |
Tek kaydın content değeri; yüksek etkili silmede confirm:true |
setup_ssl |
vpsId, domain; isteğe bağlı email (varsayılan: bağlantıyı yetkilendiren kullanıcının e-postası) |
deploy_static_site |
vpsId, domain, files:[{path,content}] |
run_command |
vpsId, command, isteğe bağlı timeoutSec (1-60) |
DNS araçları DNS: yönet grubunu ister; firma sahipliği ve kurumsal değişiklik yönetimi kapıları korunur.
Dosya yolları göreli olmalıdır; .., mutlak yol ve NUL kabul edilmez.
En çok 50 UTF-8 metin dosyası, dosya başı 512 KiB ve toplam 5 MiB gönderilebilir; ikili dosya kapsam dışıdır.
run_command yalnız güvenli sınıflandırılmış komutları çalıştırır, her çıktı akışını 16 KiB'a sınırlar ve truncated alanını bildirir.
Komut çalışıp sıfır dışı çıkış kodu verdiyse bu bir hata değil cevaptır (systemctl status durmuş servis için 3 döner); sonuç exitCode ile gelir, yalnız hiç sonuç dönmeyen komut hata sayılır.
Güvenlik duvarı ve soket okumaları da kabul edilir: firewall-cmd --state / --list-* / --get-*, nft list ..., iptables -L -n, ufw status, ss -tlnp. Bunlar root ister, o yüzden başına sudo -n yazılabilir; sudo yalnız root isteyen ailelerde geçer (aşağıdaki liste).
ss filtre ifadeleri de geçer: ss -tnp state established (kim bağlı), ss -tn sport = :22 or dport = :443, ss -tn dst 10.0.0.5, ss -tn sport lt :1024; parantez, tırnak, köşeli parantez ve </> işaretleri (kabukta yönlendirme) kabul edilmez, karşılaştırma için =, == ya da eq neq lt gt le ge sözcükleri kullanılır.
Ubuntu'da ufw, iptables -L çıktısında görünenden fazlasını söyler: geçerli politikayı sudo -n ufw status verbose ile, nftables tabanlı sistemlerde sudo -n nft list ruleset ile okuyun; iptables -L yalnız eski (legacy) tabloları gösterir ve boş görünmesi güvenlik duvarının kapalı olduğu anlamına gelmez.
Görev araçları da requestId ister; hatada sunucu durumu kontrol edilmeden yeni istekle aynı işi tekrarlamayın.
Serbest komut alanı bir teşhis sözlüğüyle sınırlıdır; her aile tek bir programın okuma fiilleridir: dosya (ls, cat, head, tail, df, du, stat, wc, yalnız test ifadeli find, adı verilen dosyalarda tırnaksız desenle grep (özyinelemeli -r yok; içerik araması search_server_files aracınındır), tree), sistem (top -bn1, vmstat 1 3, iostat, nproc, lscpu, lsblk, free, uptime, hostnamectl, date, w, who, last -n, dmesg), günlük (journalctl -u/-n/-p/-b/-k/--since/--until/-o; -f yok), servisler (systemctl status/is-active/is-enabled/show/list-units/list-timers/cat/--failed), ağ (ip addr/route/link/neigh, filtreli ss, netstat, lsof -i, dig, host, nslookup, ping -c 1..5, traceroute, mtr -rw -c N, tek http(s) adresiyle curl -sSI / curl -sS -m N, yönlendirme takibi yok, localhost adresine yalnız -I başlık sorgusu), güvenlik duvarı, yapılandırma ve sürüm (nginx -t/-T, apachectl -t, certbot certificates, crontab -l, php -v/-m, node -v, python3 -V, mysql --version, which, getent), konteyner (docker ps/images/logs --tail N AD/stats --no-stream/version/info/top, docker compose ps/logs), paket (apt list --installed, apt-cache policy, dpkg -l, rpm -qa, dnf list installed, snap list).
Root isteyen okumalar sudo -n önekiyle gider (journalctl, dmesg, netstat, lsof, güvenlik duvarı okumaları, nginx -t, certbot certificates, crontab -l -u, docker).
find -name ve grep desenlerinde joker karakterler ters eğik çizgiyle yazılır (find /var/www -name \*.log); komut satırı tırnaksız koştuğu için çıplak * kabuk tarafından genişletilir ve kabul edilmez.
find, tree ve du yalnız okunabilir kökler altında gezer (/var/log, /var/www, /srv, /opt, /home ve web/PHP/veritabanı yapılandırma dizinleri; ajanın kendi dizinleri hariç); / ya da çalışma dizininden başlayan bir tarama reddedilir. Kimlik bilgisi dosyaları (.env, id_rsa, *.pem, credentials...) adıyla reddedilir, tıpkı dosya okuma araçlarında olduğu gibi.
Kabul edilmeyenler: env/printenv (kimlik bilgisi dökümü), docker inspect ve docker compose config (konteyner ortamı sır taşır), php -i, journalctl -f, find -exec/-delete, gövde/yöntem/başlık/çıktı dosyası/kimlik bilgisi taşıyan curl, link-local ya da metadata adresleri; tırnak, pipe, yönlendirme, komut ikamesi ve listede olmayan her program.
Yönetici komutları (run_admin_command)#
Bağlantıda Sunucular: yönetici komutu grubunu ayrıca onaylayın; mevcut görev izni bunu içermez.
run_admin_command {vpsId, commands:[...], intent, timeoutSec} en çok 10 komutu sırayla çalıştırır, ilk sıfır dışı çıkışta durur ve hangi satırın düştüğünü (failedIndex) ve kaç satırın koştuğunu (ran) söyler.
Paket kurmak, servis yapılandırıp yeniden başlatmak, uygulama klonlayıp derlemek, dosya yazmak, güvenlik duvarı kuralı eklemek bu araçla yapılır; root gerektiren satırlara sudo -n yazın.
Ne çalışacağına sunucunun kendi politikası karar verir: Morpheus sekmesindeki BIOS kuralları, güvenlik sınıflandırması ve özerklik seviyesi.
Yıkıcı sınıf (toplu silme, disk biçimlendirme, kullanıcı silme, yeniden kurulum) bu bağlantıdan hiçbir seviyede çalışmaz; cevap PANEL_ONLY olur ve işi panelden yaparsınız.
Özerklik seviyesi "moderate" komutlar için kod istiyorsa (varsayılan confirm_all), araç PRECONDITION_REQUIRED döner ve hiçbir şey çalışmaz: bağlı bir uygulama sizden kod isteyemez.
İki çıkış yolu da hub'da, Sunucular > sunucu > Morpheus sekmesinde: Komut kilidi kartına doğrulama kodunuzu girip ajana "tekrar dene" dersiniz, ya da aynı sekmedeki Yetki seviyesi'ni yükseltirsiniz (seviyeyi yalnız firma sahibi veya yöneticisi değiştirebilir).
Bu gruba sahip bir bağlantının create_vps ile açtığı sunucu tam otonom doğar: değiştiren komutlar kod istemeden akar.
Her satır tek programdır: ;, &&, ||, | ve komut ikamesi kabul edilmez (tırnak içinde bile), sonraki adımı sonraki satıra yazın.
Tırnak ve yönlendirme serbesttir; sistem dosyası sudo -n tee /etc/x <<< "içerik" ile yazılır (kabuk yönlendirmesiyle /etc altına yazmak, echo ... > /etc/x, sınıflandırıcıda yıkıcı sınıftır ve reddedilir).
Her toplu komut, bağlantının kimliğiyle sunucunun komut günlüğüne yazılır ve firmaya bildirim gider: hangi sunucu, hangi niyet, kaç komut, son çıkış kodu.
Onay çağrı başına istenmez; komutu siz istemcide (Claude Desktop) görüp onaylıyorsunuz.
Katalog görünmüyorsa#
Onay ekranında yeni bir grup açtığınızda ya da biz yeni bir araç yayınladığımızda sunucu bağlı istemcinize "araç listesi değişti" bildirimi gönderir ve bu bildirimi tanıyan istemciler listeyi kendiliğinden yeniler.
Bildirimi tanımayan bir istemcide araç listesini elle yeniletin ya da bağlantıyı kaldırıp yeniden kurun; onaylanmış bir yetkinin araç olarak görünmemesinin en sık nedeni budur, sunucu tarafında kapalı bir kapı değil.
claude.ai gibi listeyi sohbet başında yükleyen istemcilerde yeni bir sohbet açmak yeterlidir.
Onay ekranındaki anahtarın altında bir aracın etiketi yoksa o araç personel tarafından kapalıdır; bu durumda bağlantıyı yenilemek işe yaramaz, destek talebi açın.
Destek incelemesi için deneme saatini ve /api/mcp yanıtındaki X-App-Version başlığını paylaşın; erişim tokenını paylaşmayın.
Bu başlık yanıt veren uygulamanın commit kimliğidir; istemcide görünen araç sayısı tek başına sürümü göstermez.
Geçersiz imaj veya kaynak seçimi INVALID_ARGUMENT döndürür ve sipariş oluşturmaz.
Güncel seçenekleri list_vps_catalog ile alın; düzeltilmiş siparişi yeni requestId ile gönderin.
Ek form isteyen uygulamaları panelden kurun.
Dosya aramasında includeGlob yalnız eşleşen dosya adlarını seçer; sır dosyaları ve küçültülmüş dosyalar yine dışarıda kalır.
redactions, toplanan komut çıktılarında yapılan maskelemelerin sayısıdır; filtreleme ve kırpma öncesinde hesaplandığı için ekranda gördüğünüz işaretlerin sayısından farklı olabilir.
Sözleşmeleri customer_signed, fully_signed ve cancelled durumlarıyla da filtreleyebilirsiniz.