N aracı M modele bağlamak eskiden N×M uyarlama katmanı gerektiriyordu. MCP, araç tarafını model tarafından ayırarak her iki tarafın protokolü yalnızca bir kez uygulamasını sağlar. Bu yazı, söz konusu tasarım tercihini, tarayıcı ortamları ile sayfa eylemlerinin soyutlanmasını ve bugün hâlâ çözülmemiş noktaları ele alır.
Bir Agent gerçekten iş yapacaksa çoğu zaman sonunda tarayıcıya ulaşır: oturum açmak, içerik yayımlamak, veri toplamak veya form doldurmak. Teknik açıdan zor olan tıklayıp tıklayamadığı değil, tarayıcıyı Agent’a teslim ederken ortaya çıkan entegrasyon maliyetidir.
N×M uyarlama bataklığı
Piyasada N araç ve M model olduğunu varsayalım. Araç sağlayıcısının her model için ayrı bir entegrasyon yazması, model tarafının da her araç için ayrı bir uyarlama katmanı geliştirmesi gerekir. İki taraf kendi uygulamalarını ayrı ayrı sürdürdüğünde toplam N×M çözüm ortaya çıkar.

Sorun bunun çarpma olmasıdır. Bir araç eklemek yalnızca bir iş daha eklemek anlamına gelmez; o aracı her modelle ayrı ayrı bağlamak gerekir. Tersine, model sürümü değiştiğinde daha önce bağlanmış araçların yeniden doğrulanması gerekebilir. Bir yetenek ne kadar iyi olursa olsun belirli bir model için uyarlaması yoksa orada kullanılamaz; araç dağıtım zincirinde takılır.
İlk dönemde herkes kendi entegrasyonunu yazmak zorundaydı. Aynı işler — ortamları listelemek, tarayıcıyı başlatmak, sayfayı okumak — çağıran taraf değiştiğinde yeniden yazılıyor, mantık da sık sık farklılaşıyordu: kimi beklemeyi client içine, kimi server içine koyuyordu.
Protokol iki tarafı birbirinden ayırır
MCP (Model Context Protocol) 2024’ün sonunda kamuya açıldı. Yaklaşımı, araç keşfini ve çağrısını standart bir biçimde tanımlamaktır: neyin sunulduğu, parametrelerin nasıl açıklandığı ve hangi yapının döndürüldüğü protokolde belirlenir.
Mimari böylece bir MCP Client’a bağlı Agent biçimine dönüşür. Client, protokole göre birden çok MCP Server’a bağlanır; asıl yetenekler bu Server’ların arkasındadır. Uygulama miktarı N×M’den N+M’ye düşer: model tarafı client’ı bir kez, araç tarafı server’ı bir kez uygular.
Yalnızca üç rol vardır. Host, modeli çalıştıran ve client’ı başlatan uygulamadır. Client, protokol istemcisinin uygulamasıdır ve genellikle her Server için bir tane bulunur. Server ise araç sağlayıcısı tarafından yazılır ve yetenekleri standart araçlar olarak sunar.
Şu anda iki iletişim biçimi vardır. Yerel mod standart giriş ve çıkışı kullanır; client ile server aynı makinededir, yol kısa ve yapılandırma azdır, bu nedenle otomasyonda sık kullanılır. Uzak mod HTTP veya WebSocket kullanır ve dağıtık kurulumlara uygundur, ancak kimlik doğrulama ve ağ sınırlarının ayrıca dikkatle tasarlanmasını gerektirir.
Tarayıcıda üç katman sunulur
Bir tarayıcı ortamı protokole bağlandığında sunulan yetenekler genel olarak üç katmana ayrılır.

En üstte ortam bulunur: hesaptaki ortamları listelemek, yapılandırmaya göre yeni bir ortam oluşturmak, belirli bir ortamı başlatmak, ağ çıkışı bağlamak ve iş bitince kapatmak. Bu işlemler eskiden farklı sağlayıcıların API’lerine dağılmıştı; şimdi modelin keşfedip çağırabildiği araçlara dönüşür. Başlatma sonrasında genellikle port veya WebSocket adresi gibi bir hata ayıklama endpoint’i döner; bu adres Selenium veya Puppeteer gibi sürücülere verilebilir.
Orta katman sayfadır: adres açmak, DOM veya erişilebilirlik ağacını okumak, sekme değiştirmek ve ekran görüntüsü almak.
En alt katman eylemlerdir: tıklamak, yazmak, kaydırmak, bir koşulun gerçekleşmesini beklemek ve açılır pencereleri yönetmek.
Temel değişiklik eylemlerin sayısında değildir. Ortam, kendi yazmanız gereken bir kod parçası olmaktan çıkar ve Agent’ın kendisinin seçip kullanabildiği bir kaynağa dönüşür. Yalnızca hedefi açıkça belirtmeniz yeterlidir; Agent yeni bir ortam oluşturup oluşturmayacağına, mevcut olanı yeniden kullanıp kullanmayacağına ve araçları hangi sırayla çağıracağına karar verebilir. Birden çok ortam paralel çalıştığında bu daha da belirginleşir: planlama script içine hard-code edilmek yerine prompt içinde tanımlanır.
Bugün hâlâ çözülmemiş olanlar
Protokol bağlantıyı çözer, doğruluğu değil. Gözden kaçması kolay birkaç nokta kalır.
Araç açıklamalarının kalitesi çağrı sonucunu belirler. Parametre yanlışsa veya yanlış araç seçilirse protokol bunu düzeltemez. Araç sayısı arttıkça açıklamalar da context kullanır; bu nedenle sayı ile ayrıntı düzeyi arasında denge gerekir. Granülerlik fazla kabaysa model bir aracın kaç işi yapabildiğini anlayamaz; fazla inceyse context daha önce dolar.
Yetkilendirme ve denetim hâlâ erken aşamadadır. Birçok Server yerel, tek makine üzerinde çalışır, başlangıçtan itibaren önemli ayrıcalıklara sahiptir ve ince taneli yetkilendirme ile çağrı kayıtlarından yoksundur. Uzak modda önce kimin bağlanabileceği ve neyi görebileceği yanıtlanmalıdır.
Sayfa kararlılığı sorunu da ortadan kalkmaz. Bulunamayan öğeler, düzensiz yükleme zamanlaması, süresi dolan oturumlar ve CAPTCHA hâlâ bekleme, yeniden deneme ve yedek mantık gerektirir. Protokol yalnızca giriş noktasını standartlaştırır.
Ekosistemin olgunluğu da eşit değildir. Farklı Server’lar desteklenen kaynak türleri, dönüş yapıları ve hata kodlarında tam olarak aynı değildir. Bir görev birkaç Server’ı birleştirdiğinde orkestrasyon mantığını çoğu zaman yine kendiniz yazmanız gerekir. Protokol de gelişmeye devam ettiği için sürümler arasındaki davranış farklarına dikkat edilmelidir.
Bir başka sınır da net kalmalıdır: protokol modelin araçları nasıl çağırdığını düzenler, görevin kendisinin kurallara uygun olup olmadığını belirlemez. Veri toplamanın yetkili olup olmadığı, hesabın meşru bir amaçla kullanılıp kullanılmadığı ve platform kurallarının ihlal edilip edilmediği ayrı değerlendirmelerdir ve bağlantının ne kadar sorunsuz olduğundan bağımsızdır.
Çoklu ortam senaryolarında ortamların birbirinden yalıtılması ve ağ çıkışı, saat dilimi ile dil ayarlarının uyumlu bir bütün olarak yapılandırılması çoğu zaman entegrasyon yönteminden daha fazla sonuç etkisi yaratır. PurpleMark, ortam yalıtımı katmanında AI araçlarının çağırabildiği ortam oluşturma, başlatma ve ağ yapılandırma arayüzleri sunar; bunlar tek bir client üzerinden planlanabilir.
Bu içerik yalnızca teknik ilkeleri açıklamak içindir. İlgili protokol ve araçları yürürlükteki yasa ve kurallara uygun biçimde kullanın.


