1. Genel Bakış
Eyivo Sites MCP sunucusu, Streamable HTTP üzerinden Model Bağlam Protokolünü uygular. Bir MCP istemcisi mevcut araçları ve bunların giriş şemalarını keşfeder ve ardından bunları aracı iş akışının bir parçası olarak ne zaman çağıracağına karar verir.
İçerik araçları
Sayfaları, bileşenleri, blogları, ürünleri, galerileri, videoları, menüleri, medyayı, formları ve site ayarlarını kapsamlarla korunan araçlar ve REST uç noktalarıyla yönetin.
Kapsamla sınırlı
Bağlantının mcp:use'ya ihtiyacı var; her araç aynı zamanda kendi en düşük ayrıcalık kapsamını da kontrol eder.
Sahipliğe göre yalıtılmış
Site araçları yalnızca kimliği doğrulanmış kullanıcıya ait siteleri kabul eder ve siteyle sınırlandırılmış belirteçler yalnızca kendilerine atanan siteleri gösterir.
MCP; araçlar, içerik iş akışı rehberi, site yetenek kaynağı şablonu ve medya yükleme uygulaması sunar.
Paylaşılan hizmet katmanı: MCP araçları, kontrol paneli ve REST API ile aynı Laravel hizmetlerini çağırır. Sahipliği, plan sınırlarını, doğrulamayı veya yayınlama kurallarını atlamazlar ve HTTP üzerinden genel REST API'yu çağırmazlar.
2. Hızlı başlangıç
- 1Kişisel bir API belirteci oluşturun.
API belirteçlerini açın.
mcp:use'yu ve izin vermeyi düşündüğünüz araçların kapsamlarını seçin, ardından gösterildiğindeey_sırrını kopyalayın. - 2Sunucuyu yapılandırın.
https://app.eyivo.com/mcpadresini uzak Streamable HTTP MCP sunucusu olarak kullanın ve belirteci Bearer kimlik bilgisi olarak gönderin. - 3Keşfi onaylayın.
Bir site seçip yeteneklerini okuyun: etkin diller, tema alanları, bileşen şemaları, menü konumları ve kurulu eklenti panelleri. Yazmadan önce content-workflow kaynağını okuyun. Kaynakları desteklemeyen istemciler get-site-capabilities-tool kullanabilir. Keşif tamamlanana kadar tools/list nextCursor değerini izleyin.
Genel istemci yapılandırması
MCP istemcileri farklı yapılandırma anahtarları kullanır. Eşdeğer bağlantı değerleri şunlardır:
{
"mcpServers": {
"eyivo": {
"type": "http",
"url": "https://app.eyivo.com/mcp",
"headers": {
"Authorization": "Bearer ${EYIVO_API_TOKEN}"
}
}
}
}
Her MCP POST'un bu yetkilendirme başlığına ihtiyacı vardır. Eksik veya geçersiz kimlik bilgileri, araç keşfinden veya yürütülmesinden önce reddedilir.
Authorization: Bearer ey_your_token
3. İstemciler
Özel aracılar ve masaüstü IDE'ler için kişisel bir API belirteci kullanın. ChatGPT veya Claude bağlayıcıları gibi kullanıcının açık izniyle hareket eden üçüncü taraf ana bilgisayarlar için OAuth 2.0'yu PKCE ile birlikte kullanın.
Cursor ve diğer IDE'ler
Bir site seçip yeteneklerini okuyun: etkin diller, tema alanları, bileşen şemaları, menü konumları ve kurulu eklenti panelleri. Yazmadan önce content-workflow kaynağını okuyun. Kaynakları desteklemeyen istemciler get-site-capabilities-tool kullanabilir. Keşif tamamlanana kadar tools/list nextCursor değerini izleyin.
Claude ve ChatGPT
Eyivo Sites eklentisini yükleyin ve hesabınızı doğrudan bağlayın. Eyivo’yu ChatGPT’de aç
Korumalı kaynak meta verilerinden başlayın. Ana bilgisayar bir OAuth istemcisini kaydeder veya kullanır, kullanıcı mcp:use artı araç kapsamlarına izin verir ve erişim belirteci taşıyıcı kimlik bilgisi olarak gönderilir.
Özel aracılar
Herhangi bir Streamable HTTP MCP istemcisi bağlanabilir. tools/list aracılığıyla araçları keşfedin ve araç adlarını, şemaları ve metin hatalarını sözleşme olarak değerlendirin; ekstra araçlar icat etmeyin.
Bağlı OAuth uygulamaları https://app.eyivo.com/connections konumunda görünür. Plan sınırları, bağlı uygulamaların ve kişisel belirteçlerin sayısı için geçerlidir.
4. Kimlik doğrulama ve keşif
MCP aktarımı, araçları listelemeden veya çalıştırmadan önce her istekte kimlik doğrular. ey_ ile başlayan kişisel belirteçler ve Passport erişim belirteçleri Bearer kimlik bilgisi olarak kabul edilir.
Kişisel API belirteci
Özel aracılar, geliştirme, komut satırı istemcileri ve sunucu kontrollü entegrasyonlar için en iyisi.
- https://app.eyivo.com/tokens adresinden oluşturulur.
ey_ile başlar ve yalnızca bir kez görüntülenir.- Tek bir siteyle sınırlandırılabilir.
- Hesap şifresi değiştirilmeden iptal edilebilir.
OAuth 2.0 + PKCE
Kullanıcının açık izniyle hareket eden üçüncü taraf MCP istemcileri için en iyisi.
- S256 PKCE ile Yetki Kodu akışı.
- Dinamik istemci kaydı, genel istemciler (none) ve gizli istemciler (client_secret_post veya client_secret_basic) için kullanılabilir. Gizli istemci anahtarları otomatik oluşturulur ve özetlenerek saklanır.
- Erişim belirteçlerinin süresi 2 saat sonra dolar.
- Yenileme jetonlarının geçerliliği 1 yıl sonra sona erer.
OAuth meta verileri
| Amaç | URL'si |
|---|---|
| Korumalı kaynak meta verileri | https://app.eyivo.com/.well-known/oauth-protected-resource/mcp |
| Yetkilendirme sunucusu meta verileri | https://app.eyivo.com/.well-known/oauth-authorization-server |
| Dinamik müşteri kaydı | https://app.eyivo.com/oauth/register |
| Kullanıcı yetkilendirmesi | https://app.eyivo.com/oauth/authorize |
| Jeton ve yenileme değişimi | https://app.eyivo.com/oauth/token |
Standartlara duyarlı istemciler, korumalı kaynak keşfiyle başlamalıdır. Yapılandırılmış bir OAuth istemcisinin mcp:use ve ihtiyaç duyduğu her araç kapsamını istemesine izin verilmelidir.
5. Kapsamlar
Tüm bağlantılar mcp:use gerektirir. Bu kapsam MCP aktarımını açar; tek başına hiçbir hesaba, siteye veya içerik işlemine izin vermez.
| Kapsam | Araçlar etkinleştirildi |
|---|---|
mcp:use | Sunucuya bağlanın ve araçları keşfedin. Her MCP bağlantısı için gereklidir. |
account:read | get-account-tool |
sites:read | list-sites-tool, get-site-tool |
sites:write | create-site-tool, update-site-locales-tool |
content:read | İçerik, şema, menü, form ve ayarları okuyun. |
content:write | İçerik oluşturun, düzenleyin, silin ve açıkça yayınlayın; tanımlı panel eylemlerini çalıştırın. |
media:read | list-media-tool, get-media-tool, search-stock-photos-tool |
media:write | upload-media-tool, prepare-media-upload-tool, import-stock-photo-tool, delete-media-tool |
Öneri: mcp:use account:read sites:read content:read kapsamlarıyla salt okunur olarak başlayın. Yazma kapsamlarını yalnızca ajanın ihtiyaç duyduğu iş akışları için ekleyin. Siteyle sınırlı bir kişisel belirteç site araçlarını yalnızca atandığı site için çağırabilir.
Mevcut OAuth bağlantıları eklenen media:read veya media:write kapsamları için yeniden yetkilendirilmelidir. Yalnızca yeniden bağlanmak eski izni genişletmez.
6. Araç kataloğu
Bunlar içerik ailesine göre örneklerdir. Tüm girdi/çıktı şemalarını ve gerekli kapsamları tools/list veya OpenAPI belgesinden keşfedin. Aşağıdaki REST yolları /api/v1/sites/{site} adresine göredir.
Site ve yetenek keşfi
get-account-tool, list-sites-tool, get-site-tool, list-available-templates-tool, create-site-tool, get-site-capabilities-tool, get-site-readiness-tool
Sayfalar, bileşenler ve iç bağlantılar
get-page-tool, create-page-tool, update-page-tool, delete-page-tool, publish-page-tool, list-page-links-tool, get-page-component-schema-tool, list-page-components-tool, create-page-component-tool, update-page-component-tool, delete-page-component-tool
Ürünler, galeriler ve videolar
list-catalog-items-tool, update-catalog-item-tool, publish-catalog-item-tool, list-galleries-tool, update-gallery-tool, publish-gallery-tool, list-videos-tool, update-video-tool, publish-video-tool
Blog taslakları, kategoriler ve zamanlama
list-blog-posts-tool, get-blog-post-tool, create-blog-post-tool, update-blog-post-tool, publish-blog-post-tool, unpublish-blog-post-tool, schedule-blog-post-tool, cancel-blog-post-schedule-tool, list-blog-categories-tool, search-blog-links-tool
Ana gezinme ve ek menüler
list-menus-tool, search-menu-destinations-tool, get-content-menu-assignment-tool, save-menu-tool, publish-menu-tool, discard-menu-draft-tool
Medya kitaplığı ve stok fotoğraflar
list-media-tool, get-media-tool, upload-media-tool, prepare-media-upload-tool, delete-media-tool, search-stock-photos-tool, import-stock-photo-tool
Formlar, gönderimler ve eklenti panelleri
list-forms-tool, get-form-tool, create-form-tool, update-form-tool, list-submissions-tool, get-submission-tool, update-submission-tool, delete-submission-tool
Şirket, tema, diller ve entegrasyonlar
get-company-profile-tool, update-company-profile-tool, publish-company-profile-tool, get-theme-tool, update-theme-settings-tool, switch-template-tool, publish-theme-settings-tool, get-site-locales-tool, update-site-locales-tool, generate-site-translations-tool, get-integrations-tool, start-demo-import-tool, load-demo-drafts-tool, get-demo-import-status-tool, reset-site-cache-tool
Yetenekler ve içerik düzenleme sözleşmesi
Bir site seçip yeteneklerini okuyun: etkin diller, tema alanları, bileşen şemaları, menü konumları ve kurulu eklenti panelleri. Yazmadan önce content-workflow kaynağını okuyun. Kaynakları desteklemeyen istemciler get-site-capabilities-tool kullanabilir. Keşif tamamlanana kadar tools/list nextCursor değerini izleyin.
eyivo://guides/content-workflow
eyivo://sites/{site_id}/capabilities
İstenen dili ve güncel version veya revision değerini kullanın. Blog kaydı belgenin tamamını değiştirir ve zamanlamasını iptal eder. Menü düzenlemeleri sayısal revision, içerik atamaları ayrı bir menu_revision özeti kullanır. Değiştirilen dizilerdeki mevcut öğeleri koruyun. Çakışmada yeniden okuyup değişiklikleri birleştirin.
Ana gezinme otomatik kalır. Ek menülerin taslakları ve yayınları ayrıdır. İçerik kaydı menü atamalarını hazırlar; ilgili içeriği yayınlamak diğer menü taslaklarını yayınlamadan bu atamaları uygular. Menü yayınlamak bağlantılı içeriği yayınlamaz. Sayfadaki source_hash eski kaynak metne dayanan çevirileri reddeder.
Sayfa gövdesi ve temanın richtext alanları temizlenmiş HTML kabul eder. Yayınlandığında ziyaretçinin dilinde çözümlenen kalıcı /__eyivo/pages/{id} bağlantıları için list-page-links-tool kullanın. Bloglar body_html yerine aynı siteye ait media_id ve sayfa/yazı hedefleri içeren yapılandırılmış document JSON kullanır.
{
"type": "doc",
"content": [{
"type": "paragraph",
"content": [{ "type": "text", "text": "Our story" }]
}]
}
Görsel ve video yükleme
upload-media-tool, Claude gibi MCP Apps istemcilerinde dosya seçici açar. ChatGPT ayrıca kendi ek referansını sağlayabilir; Claude sohbet eki OpenAI dosya referansı değildir. İndirme adresi uydurmayın ve araç argümanlarında base64 dosya göndermeyin.
Codex ve Claude Code, prepare-media-upload-tool çağırıp dosyayı beş dakika içinde dönen upload_url adresine tek kullanımlık upload_token ile multipart olarak gönderebilir. Bu anahtarı gizli tutun. REST istemcileri kendi media:write anahtarlarını kullanabilir. İçerikte kullanılacak medya kimliği yalnızca tamamlanan yüklemede döner; bilet oluşturmak dosyayı yüklemez.
POST /api/v1/sites/{site}/media
Authorization: Bearer <media:write token>
Content-Type: multipart/form-data; boundary=<generated by HTTP client>
file: <original file bytes>
Örnek araç çağrısı
{
"name": "create-page-tool",
"arguments": {
"site_id": 42,
"type": "page",
"locale": "en",
"slug": "our-story",
"title": "Our story",
"body": "<p>How the company began.</p>"
}
}
İçerik işlemleri data zarfı döndürür. MCP, structuredContent ve aynı JSON’un metin kopyasını; REST ise JSON döndürür. Kimlik, yayın hazırlığı ve sayfalama için çıktı şemasını okuyun. Blog, medya ve gönderim listelerinde dönen sayfa bilgilerini izleyin.
7. Önerilen iş akışları
Yazmadan önce inceleyin
list-sites-toolaracını çağırın.- Amaçlanan site kimliğini seçin.
get-site-capabilities-tool- Düzenlemeden önce seçilen dilin taslağını ve güncel revizyonunu okuyun.
Taslak sayfası oluşturma
- Siteyi, yerel ayarı, sayfa türünü ve bilgiyi onaylayın.
create-page-toolaracını çağırın.- Dönen kimliği, taslak durumunu ve yayın hazırlığını kontrol edin.
- Taslağı kaydedin, yayın hazırlığını kontrol edin ve kullanıcı değişikliği yayına almak istediğinde ilgili öğeyi ve dili yayınlayın. Diğer taslaklar yayınlanmaz.
Ajan talimat şablonu
Use Eyivo tools only for the site ID I confirm.
Preserve existing array entries and use current revision tokens.
Read capabilities and the current locale draft before editing.
Publish the affected item only when I want the change live.
Return the affected resource ID after a successful write.
Taslağı kaydedin, yayın hazırlığını kontrol edin ve kullanıcı değişikliği yayına almak istediğinde ilgili öğeyi ve dili yayınlayın. Diğer taslaklar yayınlanmaz.
8. Yanıtlar ve hatalar
İçerik işlemleri data zarfı döndürür. MCP, structuredContent ve aynı JSON’un metin kopyasını; REST ise JSON döndürür. Kimlik, yayın hazırlığı ve sayfalama için çıktı şemasını okuyun. Blog, medya ve gönderim listelerinde dönen sayfa bilgilerini izleyin.
| Sonuç | Anlam | Önerilen işlem |
|---|---|---|
HTTP 401 | Eksik, geçersiz, süresi dolmuş veya iptal edilmiş Bearer belirteci. | Kimlik bilgisini yeniden bağlayın veya değiştirin. |
HTTP 403 | Kimlik bilgisi kimlik doğrulaması yapabiliyor ancak mcp:use'dan yoksun. | mcp:use kapsamına sahip bir kimlik bilgisi oluşturun veya yetkilendirin. |
Error: Authentication required. | Araç, çözümlenmiş bir Eyivo kullanıcısı olmadan çalışıyordu. | İstemciyi yeniden bağlayın. |
Error: Missing required scope […] | Belirteç bağlanabilir ancak bu aracı çalıştıramaz. | Belirtilen kapsama sahip bir kimlik bilgisi oluşturun veya yetkilendirin. |
Error: Token is restricted to another site. | Siteyle sınırlı bir belirteç farklı bir siteyi hedefledi. | Atanmış siteyi veya uygun siteyle sınırlı belirteci kullanın. |
| Doğrulama hatası metni | Zorunlu bir alan, tür, uzunluk veya biçim geçersiz. | Argümanları düzeltin; değiştirmeden tekrar denemeyin. |
| Bulunamadı hata metni | Sahip olunan site veya istenen uzak kayıt bulunamadı. | Site veya sayfa listesini yenileyin ve kimlikleri doğrulayın. |
Araç hataları, HTTP başarılı olsa bile isError: true ve Error: ile başlayan metin döndürür. Eksik araç izinleri için sonuçtaki _meta["mcp/www_authenticate"] alanında OAuth bildirimi bulunur. Bağlantıyı gerekli izinle yeniden yetkilendirin; mevcut token izinleri kendiliğinden genişlemez.
Sürüm çakışmasında veriyi yeniden okuyup değişiklikleri birleştirin. Eski isteği değiştirmeden tekrar göndermeyin.
9. Üretim güvenliği
- Yalnızca
https://app.eyivo.com/mcpadresini kullanın; kimlik bilgilerini hiçbir zaman kiracı alan adına veya üçüncü taraf proxy sunucusuna göndermeyin. - Kişisel belirteçleri kaynak kodunda veya istemlerde tutmayın; istemcinin güvenli saklama alanında ya da ortam yapılandırmasında saklayın.
- Yalnızca seçilen araçların ihtiyaç duyduğu kapsamları verin ve tek siteli aracılar için siteyle sınırlı belirteçleri tercih edin.
- Yazma işlemlerinde kullanıcının yetkilendirmesini esas alın; yayınlama ve silme etkilerini işlemden önce açıklayın.
- Araç çıktısını, sistem politikanızı geçersiz kılabilecek güvenilir talimatlar olarak değil, veri olarak değerlendirin.
- Kullanmadığınız kişisel belirteçleri API Belirteçleri sayfasından, OAuth istemcilerini ise Bağlı Uygulamalar sayfasından iptal edin.
- İçerik olarak parolaları, depolama kimlik bilgilerini, özel anahtarları veya ilgisiz kişisel verileri göndermeyin.
10. Mevcut sınırlar
Yalnızca keşfedilen araçları ve belgelenen uç noktaları kullanın. Yetkiler, site yalıtımı, plan sınırları ve yayın kuralları geçerlidir. Okuma yetkisi değişiklik yapma yetkisi vermez.
Mevcut
- Site ve yetenek keşfi
- Sayfalar, bileşenler ve iç bağlantılar
- Sayfaları, bileşenleri, blogları, ürünleri, galerileri, videoları, menüleri, medyayı, formları ve site ayarlarını kapsamlarla korunan araçlar ve REST uç noktalarıyla yönetin.
- Şirket, tema, diller ve entegrasyonlar
Sunulmuyor
- Faturalama, abonelikler ve ödemeler
- Hesap şifreleri ve erişim anahtarı yönetimi
- MCP üzerinden alan adı yönetimi (REST ile kullanılabilir)
- Rastgele tema kodu veya kabuk komutu çalıştırma
- Internal API ve nesne depolama erişim anahtarları