MCP Sunucusu

jekcms, /api/mcp/ adresinde yerleşik bir Model Context Protocol sunucusuyla gelir. MCP konuşan AI ajanları — Claude Code, Claude Desktop, Cursor, Windsurf ve diğerleri — yazılarınızı listeler, okur, taslak yazar, günceller ve yayınlar; içerik tazeleme kuyruğuna ve AI görünürlük özetine bakar. Hepsi REST API anahtarınızın yetkileriyle.

Sunucuya kurulacak bir şey yok. Uç çekirdeğin parçasıdır ve Yönetim → API Anahtarları'nda zaten yönettiğiniz anahtarları kullanır.

Bağlanma

Yönetim → API Anahtarları'ndan bir anahtar üretin, sonra sunucuyu istemcinize tanıtın. Taşıyıcı Streamable HTTP'dir (JSON yanıt; SSE akışı gerekmez).

Claude Code

claude mcp add --transport http jekcms https://ornek.com/api/mcp/ \
  --header "Authorization: Bearer API_ANAHTARINIZ"

Claude Desktop / Cursor / Windsurf (JSON yapılandırma)

{
  "mcpServers": {
    "jekcms": {
      "type": "http",
      "url": "https://ornek.com/api/mcp/",
      "headers": { "Authorization": "Bearer API_ANAHTARINIZ" }
    }
  }
}

Alt dizin kurulumlarında aynı: https://ornek.com/blog/api/mcp/.

Araçlar

| Araç | Ne yapar | |------|----------| | site_info | Site adı, adresi, dili, sürümü, içerik sayıları, llms.txt adresi | | list_posts | Yazıları durum, tür, arama metni veya kategoriye göre listeler; sayfalı | | get_post | Tek yazı: içerik, kategoriler, etiketler ve SEO alanları (odak anahtar kelime, meta açıklama, kısa cevap, SSS) | | create_post | Yazıyı taslak (veya zamanlanmış) oluşturur. Markdown ya da HTML gövde; kategori, etiket, SEO alanları ve GEO kısa cevabı tek çağrıda | | update_post | Var olan yazıda istenen alanları değiştirir | | publish_post | Taslağı sitenin kalite kapısından geçirip yayınlar; reddedilirse nedenlerini döner | | trash_post | Yazıyı çöpe taşır (panelden geri alınır) | | list_categories, list_tags | Yazı sayılarıyla kategoriler ve etiketler | | get_refresh_queue | İçerik tazeleme kuyruğu: trafik kaybeden, kırık bağlantılı, bayat, başlığında eski yıl olan ya da kısa cevabı eksik yazılar — nedenleri ve öncelik puanıyla | | get_ai_visibility | Bot bazında AI tarama etkinliği ve en çok taranan sayfalar; analitik açıkken AI asistanlarından gelen ziyaretler |

Her araç okunabilir metnin yanında programatik kullanım için structuredContent döner.

Yetkiler ve güvenlik

  • Anahtarın rolü ne yapılabileceğini belirler, REST API ile birebir: yazar yalnız kendi yazılarına dokunur, editör ve yönetici her şeye; kategori yalnız editör ve yönetici tarafından oluşturulur.
  • Yeni yazılar zamanlanmadıysa taslaktır. publish_post çağrılmadan hiçbir şey yayına çıkmaz ve publish_post yönetim paneliyle aynı kalite kapısından geçer (ince içerik, kapak eksiği, aynı başlık ve diğerleri). Reddedilen yayın nedenleri döner; ajan update_post ile düzeltip yeniden dener.
  • Yazı gövdesi güvenilmez kanal sayılır: Markdown HTML'e çevrilir, betikler ve olay öznitelikleri temizlenir.
  • Geçerli anahtarı olmayan istek JSON-RPC hatasıyla HTTP 401 alır. Anahtar Yönetim → API Anahtarları'ndan her an iptal edilir; son kullanım zamanı anahtar başına kaydedilir.

Protokol notları

  • POST /api/mcp/ üzerinden JSON-RPC 2.0. Desteklenen protokol sürümleri: 2025-06-18, 2025-03-26, 2024-11-05.
  • initialize, notifications/initialized, ping, tools/list, tools/call, resources/list (llms.txt'i sunar) uygulanmıştır. GET kısa bir açıklamayla 405 döner.
  • Toplu istekler (dizi) kabul edilir.

Yeniliklerden ilk sen haberdar ol

Yeni özellikler, sürüm notları ve CMS rehberleri — ayda birkaç e-posta, spam yok.