Dokümanlar · MCP sunucusu

SEO'nu Claude, Cursor ve diğer yapay zeka asistanlarına sor

serp.ac uzak bir Model Context Protocol (MCP) sunucusu çalıştırır. Bir kez bağla; asistanın “bu hafta hangi anahtar kelimeler düştü?”, “ChatGPT bizi ne sıklıkla öneriyor?” ya da “hangi ücretli linklerde sorun var?” gibi soruları doğrudan serp.ac verilerinden yanıtlasın — izin verirsen senin için anahtar kelime, prompt ve link de eklesin.

Sunucu URL'si
https://serp.ac/api/mcp
Kimlik doğrulama
Authorization: Bearer sk_live_…
Aktarım
Streamable HTTP (durumsuz, JSON)

1. API anahtarı oluştur

serp.ac'te Ayarlar → API sayfasını aç ve bir anahtar oluştur (bunu yalnızca hesap sahibi ve yöneticiler yapabilir). Anahtarı kopyala — yalnızca bir kez gösterilir. MCP sunucusu, REST API ile aynı anahtarları, istek sınırını (anahtar başına dakikada 120 istek) ve kotaları kullanır. Her anahtar, onu oluşturan hesaba tam erişim verir; bu yüzden gizli tut ve sızarsa aynı sayfadan iptal et.

2. Claude'u bağla

Claude (claude.ai ve Claude uygulamaları) — özel bağlayıcı

Claude'da Settings → Connectors → Add custom connector yolunu izle, bağlayıcıya serp.ac adını ver ve sunucu URL'si olarak https://serp.ac/api/mcp kullan. Sunucu her isteği Authorization: Bearer sk_live_… olarak gönderilen API anahtarınla doğrular; Claude paketindeki bağlayıcı penceresi bu başlığı göndermeye izin vermiyorsa bunun yerine aşağıdaki Claude Desktop yapılandırmasını kullan.

Claude Desktop — yapılandırma dosyası

Settings → Developer → Edit config menüsünü aç ve sunucuyu claude_desktop_config.json dosyasına ekle. Bu yapılandırma, anahtarını başlık olarak ileten mcp-remote köprüsünü çalıştırır (Node.js gerekir). Ardından Claude Desktop'ı yeniden başlat.

{
  "mcpServers": {
    "serp-ac": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://serp.ac/api/mcp", "--header", "Authorization:${SERP_AC_AUTH}"],
      "env": { "SERP_AC_AUTH": "Bearer sk_live_..." }
    }
  }
}

Claude Code

claude mcp add --transport http serp-ac https://serp.ac/api/mcp \
  --header "Authorization: Bearer sk_live_..."

3. Cursor'ı ve diğer istemcileri bağla

Cursor: sunucuyu ~/.cursor/mcp.json (tüm projeler) ya da bir projedeki .cursor/mcp.json dosyasına ekle, ardından Settings → MCP altında etkinleştir.

{
  "mcpServers": {
    "serp-ac": {
      "url": "https://serp.ac/api/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

Streamable HTTP aktarımını destekleyen ve Authorization başlığını gönderebilen her MCP istemcisi (ChatGPT, VS Code, Windsurf, kendi ajanın) aynı şekilde çalışır. Yalnızca stdio destekleyen istemciler yukarıda gösterilen mcp-remote köprüsünü kullanabilir.

Terminalden hızlı kontrol:

curl https://serp.ac/api/mcp \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Salt okunur mod

Veriyi değiştirir olarak işaretlenen araçlar hesabına bir şeyler ekler, Kota kullanır olarak işaretlenenler ise aylık kotalarını harcar; asistanlardan önce sana sormaları istenir. Yalnızca okuma araçlarını açmak için https://serp.ac/api/mcp?readonly=1 ile bağlan. Salt okunur mod anahtarın değil, bağlantının bir ayarıdır — bir anahtar her zaman hesabın tüm yetkilerini taşır.

Araçlar

Her araç kısa bir özetle birlikte aynı veriyi yapılandırılmış JSON olarak döndürür. Listeler sınırlıdır (en fazla 200 satır) ve yalnızca kendi hesabının verilerini içerir. Projelere kimlikleriyle (id) ya da alan adlarıyla başvurulabilir.

  • list_projectsOkuma

    Bu hesaptaki serp.ac projelerini (web sitelerini) kimlikleri, alan adları ve her birinin takip ettiği anahtar kelime, yapay zeka prompt'u ve satın alınan link sayılarıyla listeler. Proje kimliklerini almak için önce bunu çağır.

  • get_rankingsOkuma

    Bir projenin takip edilen anahtar kelimelerinin Google sıralamaları: güncel pozisyon, önceki kontrolden bu yana değişim (pozitif = yükseldi), sıralanan URL, Google AI Overview gösterilip gösterilmediği ve siteye atıf yapıp yapmadığı, son kontrol zamanı. İsteğe bağlı anahtar kelime metni ve cihaz filtresi.

  • get_ai_visibilityOkuma

    Bir projenin ChatGPT, Perplexity, Gemini, Claude ve Google AI Mode'daki yapay zeka görünürlüğü: markadan bahseden yanıtların oranı, atıf oranı, ortalama pozisyon, motor bazında rakamlar, prompt × motor matrisi, en çok atıf alan kaynak alan adları, görünürlük payı ve yapay zeka asistanlarının önerdiği diğer markalar.

  • get_backlinks_summaryOkuma

    Bir projenin backlink özeti: toplam backlink ve yönlendiren alan adı sayısı, alan adı puanı (domain rank), dofollow oranı, son 30 gündeki yeni linkler, kaybedilen linkler ve en güçlü yönlendiren alan adları.

  • list_purchased_linksOkuma

    Link yönetiminde takip edilen satın alınan (ücretli) linkler: durum (pending, active, issue, lost, expired, cancelled = duraklatıldı), tespit edilen sorunlar, fiyat, faturalandırma dönemi, sonraki ödeme / yenileme tarihi ve satıcı; ayrıca önümüzdeki 30 gün içinde vadesi gelen ödemeler. Proje belirtilmezse tüm projeler.

  • get_index_jobOkuma

    check_index ile başlatılan bir indeks kontrol işinin durumu ve her URL'nin indeks durumu (indexed, not_indexed, queued, error).

  • get_usageOkuma

    Hesabın paketi ve abonelik durumu, güncel kullanımla birlikte paket sınırları (projeler, anahtar kelimeler, yapay zeka prompt'ları, linkler) ve kalan aylık kotalar (indeks gönderimleri, indeks kontrolleri, anahtar kelime veri sorguları).

  • get_maps_rankingsOkuma

    Bir projenin Google Maps sıralama takibi (yerel coğrafi ızgara): kampanya belirtilmezse her Maps kampanyası en son yerel görünürlük skoru (0–100), ilk 10 kapsamı ve ortalama sıralamasıyla listelenir; kampanya (id veya anahtar kelime metni) belirtilirse son taramadaki her ızgara noktasının sıralaması, tarama geçmişi, seni geride bırakan rakipler ve yerel paket (local pack) döner.

  • track_keywordsVeriyi değiştirir

    Bir projede yeni anahtar kelimelerin Google sıralamalarını takip etmeye başlar. Her yeni anahtar kelime paketin SERP anahtar kelime sınırından düşer; zaten takip edilen anahtar kelimeler değişmeden kalır. Çok sayıda anahtar kelime eklemeden önce kullanıcıya sor.

  • add_ai_promptsVeriyi değiştirir

    Bir projenin yapay zeka görünürlüğü takibine prompt'lar (insanların yapay zeka asistanlarına sorduğu sorular) ekler; bunlar ardından bir programa göre çalışır. Her yeni prompt paketin yapay zeka prompt sınırından düşer; zaten takip edilen prompt'lar değişmeden kalır.

  • add_purchased_linkVeriyi değiştirir

    Bir projenin Link yönetimine satın alınan (ücretli) bir link ekler; serp.ac onu her gün kontrol eder ve ödemeleri hatırlatır. Paketin takip edilen link sınırından düşer. Aynı kaynak → hedef linki zaten varsa already_tracked hatasıyla başarısız olur.

  • check_indexKota kullanır

    URL'lerin Google tarafından indekslenip indekslenmediğini kontrol eden bir iş başlatır. Her URL aylık kotadan (ardından satın alınan kullanım paketlerinden) 1 indeks kontrolü kullanır; yeterli kota yoksa hiçbir ücret alınmaz. Bir iş kimliği döndürür — sonuçlar için get_index_job aracını çağır.

  • get_keyword_dataKota kullanır

    Anahtar kelime başına arama hacmi, TBM (CPC), rekabet, anahtar kelime zorluğu, arama niyeti ve 12 aylık trend. Önbellekte olmayan her anahtar kelime, hesabın ücretli aylık anahtar kelime sorgulama kotasından düşer (önbellekteki anahtar kelimeler ücretsizdir); büyük listeler için önce get_usage ile kontrol et.

Sınırlar ve hatalar

  • Yazma araçları, panel ve REST API ile tamamen aynı şekilde paketine uyar: anahtar kelime, prompt ve link sınırları, pakete dahil yapay zeka motorları ve aktif bir paket ya da deneme süresi.
  • check_index URL başına önce aylık kotadan, ardından kullanım paketlerinden 1 indeks kontrolü kullanır; get_keyword_data önbellekte olmayan anahtar kelimeler için aylık anahtar kelime sorgulama kotasını kullanır. Kota yetmediğinde hiçbir ücret alınmaz.
  • Bir çağrıdaki sorunlar (bilinmeyen proje, geçersiz argümanlar, sınıra ulaşılması) asistanın okuyabileceği bir araç hatası olarak döner. Eksik veya iptal edilmiş bir anahtar HTTP 401, askıya alınmış bir hesap 403, çok fazla istek ise 429 döndürür.

Yapay zeka asistanı olmadan mı otomatikleştiriyorsun? REST API referansı için Ayarlar → API sayfasına bak.