travel_explore WebMCP nasıl çalışır
Bugün tarayıcı ajanları bir sayfada işini iki şekilde yapıyor. Ya DOM'u okuyup hangi düğmenin ne işe yaradığını tahmin ediyor ya da ekran görüntüsü alıp koordinat tıklıyor. İkisi de kırılgan. Site tasarımını değiştirdiğinde ajan bozuluyor, çok adımlı formlarda hata oranı hızla yükseliyor, her adım için ayrı bir model çağrısı gerektiği için de pahalı.
WebMCP bu ilişkiyi tersine çeviriyor. Ajan sitenin ne yaptığını tahmin etmiyor, site ajanın ne yapabileceğini kendisi ilan ediyor. Sayfa yüklendiğinde JavaScript ile araçlar kaydediliyor: aracın adı, ne işe yaradığını anlatan açıklaması, beklediği parametrelerin şeması ve çağrıldığında çalışacak fonksiyon. Ajan sayfayı açtığında bu listeyi görüyor ve tahmin yerine sözleşmeye göre çağrı yapıyor.
Kritik ayrıntı, bunun kullanıcının kendi sekmesinde çalışması. Kullanıcı siteye zaten giriş yapmışsa ajanın ayrı bir API anahtarına veya ayrı bir OAuth akışına ihtiyacı yok; çağrı aynı oturum ve aynı çerezlerle gidiyor. Sunucu tarafında yeni bir servis ayağa kaldırmanız da gerekmiyor. Mevcut ön yüz kodunuzun üzerine ince bir katman ekliyorsunuz.
WebMCP ile MCP arasındaki farklar
dns Nerede çalışır
MCP sunucusu ayrı bir süreçtir: yerel makinede stdio ya da uzak sunucuda HTTP üzerinden konuşur. WebMCP sayfanın kendi JavaScript bağlamında, kullanıcının açık sekmesinde çalışır.
key Kimlik doğrulama
MCP'de araca ayrıca erişim vermeniz gerekir: API anahtarı, token veya OAuth akışı. WebMCP kullanıcının tarayıcıdaki mevcut oturumunu kullanır, dağıtılacak ek anahtar yoktur.
engineering Kimin kurması gerekir
MCP sunucusunu genelde backend ekibi yazar, dağıtır ve işletir. WebMCP araçlarını ön yüz ekibi mevcut sayfaya ekler, dağıtım süreci sitenin normal dağıtımından ibarettir.
visibility Kullanıcı görünürlüğü
MCP çağrıları arka planda, kullanıcı arayüzünden bağımsız gerçekleşir. WebMCP çağrısı kullanıcının önündeki sayfada olur; sonucu ekranda görür ve sekmeyi kapatarak durdurabilir.
inventory_2 Ne için uygun
Veri tabanı, dosya sistemi, dahili servisler ve kurumsal entegrasyonlar için MCP. Kullanıcının kendi hesabıyla bağlı olduğu web uygulamalarında (e-ticaret, rezervasyon, abonelik paneli) WebMCP.
link Rakip mi tamamlayıcı mı
Aynı araç tanımlama fikrini iki farklı yüzeye taşıyorlar, birbirinin yerine geçmiyorlar. Tek bir üründe ikisi birlikte bulunabilir: dahili sistemler MCP ile, kullanıcıya dönük web arayüzü WebMCP ile açılır.
code Bir siteye araç eklemek: kod tarafı
API yüzeyi navigator.modelContext üzerinden geliyor. Araç kaydı kabaca şöyle görünüyor: navigator.modelContext.registerTool({ name: 'ucus-ara', description: 'Verilen tarih ve şehirler için uygun uçuşları listeler', inputSchema: {...}, execute: async (params) => {...} }).
Alanların her biri iş yapıyor. name, ajanın çağıracağı fonksiyonu tanımlar. description, ajanın hangi durumda bu aracı seçeceğine karar verdiği metindir; yani prompt mühendisliği burada başlıyor, belirsiz bir açıklama yanlış araç seçimine yol açar. inputSchema parametreleri JSON Schema biçiminde tanımlar ve geçersiz girdiyi çağrı yapılmadan eler. execute ise sizin mevcut fonksiyonunuzu çağırır; çoğu durumda sitede zaten var olan bir istek fonksiyonunu sarmalamaktan ibarettir.
Pratik yaklaşım sıfırdan araç yazmak değil. Sitenizde kullanıcının yaptığı üç beş temel eylemi belirleyin: arama, filtreleme, sepete ekleme, form gönderme. Bunların arkasındaki fonksiyonları zaten yazdınız. WebMCP katmanı, bu fonksiyonlara ad, açıklama ve şema ekleyip dışarı açmaktan ibaret.
Araçların yalnızca ilgili sayfada kayıtlı olması önemli. Ödeme aracını ürün listeleme sayfasında da kayıtlı tutarsanız ajan onu yanlış bağlamda çağırabilir. Kaydı sayfa durumuna bağlamak, ajanın hata yapabileceği alanı en baştan daraltır. Aynı mantıkla, bir araç yalnızca giriş yapmış kullanıcı için anlamlıysa oturum yoksa hiç kaydedilmemeli.
security Güvenlik ve dikkat edilecekler
- check_circle Prompt injection en büyük risk: Sayfadaki metin ajanın bağlamına giriyor. Kullanıcı yorumu, ürün açıklaması veya başka bir kullanıcının yazdığı herhangi bir içerik ajana talimat gibi okunabilir. Araç çıktılarını ve sayfa içeriğini güvenilmez veri kabul edin, ajan talimatı gibi işlenmesini engelleyecek şekilde tasarlayın.
- check_circle Geri alınamayan eylemleri araç yapmayın: Para transferi, hesap silme, kalıcı sipariş onayı gibi işlemler için ya hiç araç açmayın ya da kullanıcı onayı isteyen bir adımı zorunlu kılın. Ajanın tek başına tamamlayabildiği her eylem, yanlış tetiklendiğinde de tamamlanır.
- check_circle Yetki kontrolü sunucuda kalmalı: Bir aracın çağrılabilir olması, eylemin yapılabileceği anlamına gelmemeli. WebMCP katmanı yalnızca bir çağrı yüzeyi; yetkilendirme her zaman sunucu tarafında doğrulanmalı. Ön yüzde gizlemek koruma değildir.
- check_circle Hız sınırlarını yeniden düşünün: Ajan insandan çok daha hızlı ve çok daha düzenli çağrı yapar. İnsan davranışına göre ayarlanmış limitler ajan trafiğinde ya anlamsız kalır ya da meşru kullanımı engeller. Uç nokta bazında yeniden ölçeklemek gerekir.
- check_circle Kullanıcı rızası ve şeffaflık: Kullanıcının hangi ajanın hangi araca eriştiğini görebilmesi ve kapatabilmesi gerekiyor. Şartname tarafında bu hâlâ tartışılan başlıklardan biri, dolayısıyla tasarımınızı bu konuda esnek bırakın.
- check_circle Veri sızıntısı yüzeyi: Aracın döndürdüğü her şey ajanın bağlamına, oradan da model sağlayıcısına gidebilir. Kişisel veri döndüren araçlarda alanları asgariye indirin; KVKK açısından bu çağrılar da veri aktarımı sayılır.
update Bugün ne durumda, şimdi ne yapmalı
- check_circle Standardın durumu: W3C bünyesindeki topluluk grubunda geliştiriliyor. Henüz tamamlanmış bir tavsiye değil; API adları, alan isimleri ve rıza modeli değişebilir. Yazdığınız kodu tek noktada toplayıp soyutlamak, değişikliğe uyum maliyetini düşürür.
- check_circle Tarayıcı desteği: Chrome tarafında deneysel olarak, bayrak ve origin trial ile test edilebiliyor. Her kullanıcıda çalışacağını varsaymayın. Yaygın destek gelene kadar WebMCP bir ek yetenek, bir gereklilik değil.
- check_circle Özellik algılama şart: Kodu çağırmadan önce navigator.modelContext'in var olup olmadığını kontrol edin. Destek yoksa site normal davranışını sürdürmeli ve hiçbir şey bozulmamalı. Bu kontrol olmadan üretime çıkarsanız desteklemeyen tarayıcılarda hata alırsınız.
- check_circle Şimdi yapılacak hazırlık: Ajanın sitenizde yapmasını isteyeceğiniz eylemleri listeleyin, bunların arkasındaki fonksiyonları temiz, parametreli ve sunucuda yetkilendirilmiş hale getirin. Bu hazırlık şartname değişse de boşa gitmez; aynı iş normal API tasarımını da iyileştirir.
- check_circle Beklerken işe yarayan şeyler: Yapılandırılmış veri (schema.org işaretlemesi), anlamlı HTML ve erişilebilirlik etiketleri zaten ajanların sayfayı doğru okumasını kolaylaştırıyor. Erişilebilirlik için yapılan iş, ajan uyumluluğu için de çalışıyor.
- check_circle Ölçüm kurun: Ajan trafiğini normal kullanıcıdan ayırt edecek bir işaret bırakın. Ajan üzerinden gelen isteklerin hangi araçları çağırdığını ve nerede takıldığını göremezseniz, araç açıklamalarını iyileştirecek veriniz de olmaz.
help Sıkça Sorulan Sorular
- check_circle WebMCP nedir? Bir web sitesinin, tarayıcıda çalışan yapay zeka ajanına kendi işlevlerini araç olarak sunmasını sağlayan tarayıcı API'si önerisidir. Ajan sayfayı tıklayarak tahmin etmek yerine sitenin ilan ettiği araçları doğrudan çağırır. Böylece tasarım değişikliklerine dayanıklı ve çok daha az hata üreten bir etkileşim kurulur.
- check_circle WebMCP ile MCP arasındaki fark nedir? MCP ayrı bir sunucu gerektirir ve kendi kimlik doğrulamasını ister; masaüstü ve sunucu tarafı entegrasyonlar için tasarlandı. WebMCP sayfanın JavaScript bağlamında, kullanıcının açık sekmesinde çalışır, mevcut tarayıcı oturumunu kullanır ve ek sunucu gerektirmez. Aynı araç tanımlama fikrinin web yüzeyindeki karşılığı.
- check_circle WebMCP hangi tarayıcılarda çalışıyor? Henüz yaygın destek yok. Chrome tarafında deneysel olarak bayrak ve origin trial üzerinden test edilebiliyor. Üretim kodunda navigator.modelContext varlığını kontrol edip destek yoksa sitenin normal akışına düşmesini sağlayın.
- check_circle Sitemi WebMCP'ye nasıl hazırlarım? Ajanın yapmasını isteyeceğiniz eylemleri belirleyin (arama, filtreleme, sepete ekleme, form gönderme) ve bunların arkasındaki fonksiyonları parametreli, tekil ve sunucuda yetkilendirilmiş hale getirin. WebMCP yaygınlaştığında iş, bu fonksiyonlara ad, açıklama ve JSON Schema ekleyip kaydetmekten ibaret olacak.
- check_circle WebMCP güvenli mi? Katmanın kendisi kullanıcının oturumunda çalıştığı için erişim yüzeyi dardır, ancak prompt injection riski gerçektir: sayfadaki kullanıcı içeriği ajana talimat gibi okunabilir. Geri alınamayan eylemleri araç yapmamak, yetkilendirmeyi sunucuda tutmak ve kişisel veri dönen alanları asgariye indirmek temel önlemler.
- check_circle WebMCP SEO'yu etkiler mi? Doğrudan bir sıralama etkisi bilinmiyor. Dolaylı etkisi şu: ajanların sitenizde işlemi tamamlayabilmesi, ajan üzerinden gelen trafiğin dönüşüme ulaşmasını sağlar. Temiz HTML ve schema.org işaretlemesi hem arama motoru hem ajan tarafında aynı işi gördüğü için bugün yapılacak yatırım ikisine birden yarıyor.