WebMCP
Botonom sayfaları, aynı sekmede çalışan yapay zeka agent'ına elinde ne olduğunu kendisi söyler. Hangi tool'ların açıldığı, neyi yapıp neyi yapamadıkları ve bunları nasıl göreceğiniz.
Bu rehberde sırasıyla Bu ne işe yarıyor, Açtığımız tool'lar, Bugün nasıl denersiniz, Bu tool'lar ne yapamaz ve Sayfa içi tool mu, MCP sunucusu mu konularını ele alıyoruz.
Bu ne işe yarıyor
Ziyaretçinin sekmesinde çalışan yapay zeka agent'ı, Botonom sayfasında ne bulacağını tahmin etmek zorunda değil. Sayfa ne yapabildiğini tarayıcıya kendisi söylüyor, agent da bunları fonksiyon gibi çağırıyor. Ekran görüntüsü almıyor, DOM ayrıştırmıyor.
Bunu WebMCP ile yapıyoruz; giriş noktası document.modelContext. Kurulum yok, key verilmiyor. Agent, kullanıcının açık oturumunda çalışıyor; ayrıca bir kimlik doğrulaması gerekmiyor.
Açtığımız tool'ların hepsi read-only. Katalog, fiyat ve doküman sorularını cevaplıyorlar; çalışma alanınızdaki hiçbir şeye dokunamıyorlar.
Bu sayfa Botonom'un ne açtığını anlatıyor. Standardın kendisini, henüz oturmamış taraflarını ve kendi sitenizin aksiyonlarını nasıl bildireceğinizi Web Uygulamanızı WebMCP'ye Hazırlayın yazısında bulacaksınız.
Açtığımız tool'lar
Beş tool her sayfada hazır. İki tool ise yalnızca kendi sayfasında görünüyor, ziyaretçi o sayfadan çıkınca listeden düşüyor.
| Tool | Neyi cevaplıyor | Nerede |
|---|---|---|
botonom_search_agents | Rol, kategori ve aylık maaşıyla işe alınabilecek yapay zeka çalışanları | her sayfa |
botonom_search_skills | Bir agent'a kurulabilecek yetenekler ve entegrasyonlar | her sayfa |
botonom_get_pricing | Planlar, token havuzları, agent maaşları, deneme süresi, yıllık indirim | her sayfa |
botonom_estimate_plan | Aylık konuşma hacmine hangi planın yettiği | her sayfa |
botonom_search_docs | Başlık, özet ve etikete göre bu dokümantasyon | her sayfa |
botonom_score_ai_readiness | AIQ değerlendirmesini çalıştırıyor, raporu ekrana basıyor | /tr/araclar/aiq |
botonom_prepare_contact_request | İletişim formunu dolduruyor, imleci Gönder düğmesine getiriyor | /tr/iletisim |
botonom_estimate_plan, fiyat sayfasının arkasındaki hesaplayıcının aynısını çalıştırıyor. Yani tool ne diyorsa sayfa da aynı rakamı gösteriyor; ikisi farklı çıkamıyor.
botonom_score_ai_readiness sayfa içi tool'un ne demek olduğunu en iyi anlatan örnek: değerlendirmeyi hem puanlıyor hem de raporu ekrana basıyor. Agent ile kullanıcı aynı ekrana bakıyor.
Bugün nasıl denersiniz
WebMCP henüz W3C Community Group taslağı aşamasında; Chrome'da da yalnızca origin trial arkasından açılıyor. Sıradan bir tarayıcıda document.modelContext yok, dolayısıyla sayfalarımız hiçbir tool tanımlamıyor. Bu bir arıza değil, beklenen davranış.
Bugün bu tool'ları çağırabilen iki taraf var: WebMCP flag'iyle açılmış Chrome ve site tools özelliği açık olan ChatGPT masaüstü uygulamasının kendi tarayıcısı.
Kendiniz denemek isterseniz ayrı bir Chrome açın:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--enable-features=WebMCP \
--user-data-dir=/tmp/webmcp-profile \
https://botonom.com/tr/fiyatlar
Açılan sayfanın konsolunda:
(await document.modelContext.getTools()).map(t => t.name)
Birini çalıştırmak için argümanları JSON string olarak verin:
await (async () => {
const tools = await document.modelContext.getTools();
const tool = tools.find(t => t.name === "botonom_get_pricing");
return JSON.parse(await document.modelContext.executeTool(tool, "{}"));
})()
Bu tool'lar ne yapamaz
Aşağıdaki sınırların her birini, tool'u çalıştıran kodun kendisi uyguluyor.
- Form gönderemiyor, kimseye ulaşamıyor. İletişim tool'u alanları dolduruyor ve imleci Gönder düğmesine getiriyor. Submit handler'a erişimi yok, rıza onay kutularına dokunmuyor. Taslağı okuyup gönderen yine ziyaretçi.
- Para harcayamıyor. Satın alma yok, agent işe alma yok, plan değiştirme yok, token harcama yok.
- Açık oturumunuzu okuyamıyor. Her cevap, sitede zaten herkese açık olan veriden geliyor.
- Çalışma alanınızda hiçbir işlem yapamıyor. Agent listelemek, görev çalıştırmak, onay vermek MCP sunucusunun işi; orada her yetki tek tek onaylanıyor.
Sayfa içi tool mu, MCP sunucusu mu
İkisi de var, farklı işler için.
| Sayfa içi tool (WebMCP) | MCP sunucusu | |
|---|---|---|
| Çalıştığı yer | Ziyaretçinin tarayıcı sekmesinde | Asistanınızda, HTTP üzerinden |
| Kimlik | Kullanıcının açık oturumu | OAuth, onayladığınız yetkilerle |
| Eriştiği veri | Herkese açık site verisi ve sayfada görünenler | Çalışma alanınız: agent'lar, koşular, talimatlar |
| Ne zaman | Uyumlu tarayıcıda, kullanıcı ekranın başındayken | Her zaman, zamanlanmış işler dahil |
| Kurulum | Yok | Tek seferlik bağlantı |
İşiniz sayfanın gösterdiğiyle sınırlıysa sayfa içi tool'lar yeter. Çalışma alanına dokunan ya da tarayıcı olmadan da çalışması gereken her şey için sunucuyu kullanın: https://mcp.botonom.com/mcp. Nasıl bağlanacağınız şurada anlatılıyor: Model Context Protocol (MCP) ile Asistan Entegrasyonu.
Beklediğinizi göremiyorsanız
document.modelContext tanımsız geliyor. Tarayıcı API'yi açmıyor. Chrome'u --enable-features=WebMCP ile başlatın. Flag yalnızca kendi --user-data-dir'iyle sıfırdan açılan Chrome'da geçerli; zaten açık olan bir pencerede yeni sekme açmanız işe yaramıyor.
getTools() boş liste dönüyor. Bulunduğunuz sayfa hiçbir tool tanımlamıyor olabilir (örneğin gömülü bir widget'ın içindesiniz) ya da sayfa güvenli bağlamda değildir.
AIQ ya da iletişim tool'u listede yok. O ikisi yalnızca /tr/araclar/aiq ve /tr/iletisim sayfalarında tanımlanıyor. Sayfadan çıkınca kaybolmaları normal, öyle tasarladık.
executeTool "Failed to parse input arguments" diyor. Argümanlar nesne değil JSON string olmalı. JSON.stringify(args) kullanın.
Tool çağrısı reddedildi. Her handler kendi girdisini doğruluyor: AIQ tool'u on beş cevabın hepsini istiyor, iletişim tool'u geçerli bir kategoriyle birlikte konu ve mesaj istiyor. Hata metni hangisinin eksik olduğunu söylüyor.

