
Bugüne kadar e-ticaret sitesi esas olarak insanlar için tasarlanıyordu.
Kullanıcı ürün arıyor, filtre seçiyor, ürün detayına giriyor, sepete ekliyor ve checkout'a ilerliyordu.
AI agent aynı işlemi yapmak istediğinde ise temel bir problem ortaya çıkıyor:
Agent mağazanın nasıl çalıştığını nereden bilecek?
WebMCP nedir?
WebMCP, web sitesinin belirli fonksiyonlarını AI agent'lara yapılandırılmış araçlar olarak sunmasını amaçlayan bir web standardı yaklaşımıdır.
Klasik agent:
HTML'i oku → butonu bul → click simüle et
WebMCP kullanan agent:
searchProducts() → addToCart() → getCart()
gibi açık araçlarla storefront'la iletişim kurabilir.
Neden DOM üzerinden click yapmak yeterli değil?
Tema güncellendiğinde buton class'ı, label'ı veya drawer yapısı değişebilir.
WebMCP yaklaşımında agent UI implementation detayına bağımlı olmak yerine semantik bir işlem çağırır.
Bu software architecture açısından daha sağlam bir contract'tır.
Shopify WebMCP nasıl çalışıyor?
Basitleştirilmiş yapı:
Kullanıcının AI Agent'ı
↓
Browser
↓
WebMCP Tools
↓
Shopify Storefront
↓
Storefront API / Standard Actions
Standard Storefront Actions neden önemli?
Custom storefront:
Shopify.actions.updateCart
Shopify.actions.getCart
Shopify.actions.openCart
gibi standard action'ları desteklediğinde app veya agent temanın iç implementation'ını bilmek zorunda kalmaz.
Bu storefront geliştirmede önemli bir interface contract oluşturur.
AI agent cart drawer'ı açabilir mi?
Tema cart action'ını özelleştirip işlem sonrasında drawer açıyorsa agent'ın yaptığı cart değişikliği de aynı davranışı tetikleyebilir.
Yani:
İnsan sepete ekledi
ve
Agent sepete ekledi
aynı storefront state'ine ulaşabilir.
WebMCP ile Storefront MCP aynı şey mi?
Hayır.
WebMCP: Kullanıcının browser'ında bulunan agent'ın açık storefront üzerinde işlem yapmasını sağlar.
Storefront MCP: Bir uygulamanın Shopify commerce datasına MCP üzerinden bağlanmasını sağlar.
WebMCP ile Agentic Commerce Protocol aynı şey mi?
Yine hayır.
Farklı protokoller farklı sorumlulukları çözer:
- WebMCP: browser/storefront interaction
- MCP: agent ↔ tool/data erişimi
- ACP/UCP: daha geniş commerce transaction/discovery interoperability
Headless storefront'larda ne olacak?
Headless storefront'larda da custom frontend + standard commerce primitives yaklaşımı önem kazanıyor.
Storefront artık yalnız insan UI'ı değil
Yeni model:
Human → UI
ve
Agent → Tools
↓
aynı commerce state
şeklinde düşünülebilir.
Agent-ready storefront için checklist
- Product ID ve variant ID stabil mi?
- Cart davranışları standard action'larla uyumlu mu?
- Custom drawer state'i external action'lardan açılabiliyor mu?
- Product search yapılandırılmış mı?
- Variant selection deterministik mi?
- Inventory gerçek zamanlı mı?
- Cart attribute'ları doğru modellenmiş mi?
- Custom business rule server-side uygulanıyor mu?
- Agent'ın yapabileceği işlemler audit edilebilir mi?
- Checkout'a geçiş güvenli mi?
- Analytics human ve agent interaction'larını ayırabiliyor mu?
- Theme update'leri agent contract'ını bozuyor mu?
Güvenlik ne olacak?
Agent'ın tool kullanabilmesi “her şeyi yapabilmesi” anlamına gelmemeli.
Refund, adres değiştirme veya yüksek tutarlı sipariş gibi işlemlerde capability boundaries ve gerekirse insan onayı bulunmalıdır.
WebMCP'yi capability interface olarak düşünün
Bir agent'ın browser UI'ını görsel olarak taklit edip tıklaması kırılgandır. Capability yaklaşımında storefront yapılabilir işleri explicit tool'lar olarak sunar.
Örnek:
- ürün ara,
- varyant detayını al,
- stok kontrol et,
- sepete ekle,
- cart oku.
Tool schema tasarımı
Kötü:
do_anything(command)
İyi:
search_products(query, filters)
get_variant(variant_id)
add_cart_line(cart_id, variant_id, quantity)
Read/write ayrımı
Read tools:
- arama,
- fiyat,
- availability.
Write tools:
- cart mutation,
- checkout,
- account mutation.
Write tool'lar daha güçlü auth ve user confirmation gerektirir.
Browser authorization değişmez
Agent çağırıyor diye backend validation atlanmamalıdır. Discount eligibility, fiyat ve stok yine commerce backend tarafından doğrulanmalıdır.
Idempotency
Agent retry edebilir. Cart mutation tool'ları idempotency key veya expected cart version kullanabilir.
Versioning
capability_version
schema_version
ile tool contract değişiklikleri yönetilebilir.
Observability
- agent/source,
- tool,
- latency,
- outcome,
- user/session,
- error class
loglanmalıdır.
UI ile capability state aynı kaynaktan gelmeli
Web sayfası “stokta” gösterirken tool “tükendi” diyorsa agent deneyimi bozulur. Her iki yüzey canonical commerce API'den beslenmelidir.
Test senaryoları
- malformed filter
- nonexistent variant
- out-of-stock add
- stale cart version
- unauthorized account
- duplicate mutation
- tool timeout
- price changed during checkout.
Tool surface minimum tutulmalı
Bir agent'a 80 tool açmak capability'yi artırırken seçim hatasını da artırabilir.
Daha iyi:
- domain bazlı küçük tool set,
- açık açıklamalar,
- deterministik parametre schema.
Tool sayısı değil, doğru bounded capability önemlidir.
Commerce mutation'larında optimistic concurrency
Cart version veya state hash kullanmak, agent eski cart state'i üzerinden mutation yapmaya çalıştığında conflict döndürmeyi sağlar. Bu, sessiz veri ezilmesini azaltır.
Sonuç
Shopify WebMCP, AI agent'ların web sitelerinde insan gibi click taklit etmesi yerine commerce işlemlerini yapılandırılmış araçlarla gerçekleştirebilmesi yönünde önemli bir değişimdir.
Reliefers olarak storefront mimarisini yalnız bugünkü kullanıcı arayüzü için değil, gelecekte mağazayla etkileşime girecek uygulama ve agent'ları da dikkate alarak tasarlamak gerekiyor.
