Hızlı başlangıç
- Panelde Ayarlar > API (MCP) sekmesinden bir anahtar üretin. Anahtar adv_ ile başlar ve yalnız bir kez gösterilir.
- İstemcinizi aşağıdaki adrese, Authorization: Bearer <anahtar> başlığıyla bağlayın.
- İstemcide araç listesini görüyorsanız bağlantı tamamdır. İlk deneme için asistandan rakip listesini isteyin.
Sunucu adresi
https://adversee.com/api/mcpKimlik doğrulama
Her istek Authorization: Bearer adv_… başlığı taşır. Anahtar kişiseldir ve bir çalışma alanına bağlıdır; asistan o çalışma alanının verisini sizin rolünüzle görür.
Her istekte anahtarın iptal edilmediği, hesabınızın aktif olduğu ve hâlâ ekipte olduğunuz yeniden sınanır. Ekipten çıkarılıp yeniden davet edilen kullanıcı yeni anahtar üretmelidir.
Kullanıcı başına çalışma alanında en çok 10 aktif anahtar olabilir. Anahtarlar panelden iptal edilir.
İstemci kurulumu
Claude Code
Terminalde tek komut:
claude mcp add --transport http adversee https://adversee.com/api/mcp \
--header "Authorization: Bearer adv_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"Cursor
~/.cursor/mcp.json (ya da projede .cursor/mcp.json) dosyasına:
{
"mcpServers": {
"adversee": {
"url": "https://adversee.com/api/mcp",
"headers": { "Authorization": "Bearer adv_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
}
}
}Claude Desktop
Claude Desktop'ın ayar dosyası uzak sunucuya doğrudan bağlanmaz; mcp-remote köprüsüyle bağlanır (Node.js gerekir). claude_desktop_config.json dosyasına ekleyip uygulamayı yeniden başlatın. Anahtarın ortam değişkeninde durması Windows'taki boşluk sorununu önler.
{
"mcpServers": {
"adversee": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://adversee.com/api/mcp",
"--transport", "http-only",
"--header", "Authorization:${ADVERSEE_AUTH}"
],
"env": { "ADVERSEE_AUTH": "Bearer adv_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
}
}
}Doğrudan HTTP
Herhangi bir MCP istemcisi ya da test için JSON-RPC isteği:
curl -s https://adversee.com/api/mcp \
-H "Authorization: Bearer adv_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"adversee_list_competitors","arguments":{}}}'Araçlar
Tüm araçlar salt okunurdur. Parametre adları API'de olduğu gibidir. Rakip süzgeçleri slug ya da ad kabul eder; slug'lar adversee_list_competitors'tan gelir.
adversee_list_competitors
İzlenen rakipler: ad, slug, site, aktif ve arşiv kampanya sayısı.
Parametre yok.
adversee_list_campaigns
Kampanyalar: başlık, link, durum, tarihler, ilk görülme, kategori ve grup.
| Parametre | Tip | Açıklama |
|---|---|---|
rakip | metin | Rakip slug'ı ya da adı. |
durum | aktif · yakinda · pasif · kaldirildi | Kampanya durumu. |
limit | 1-100 (25) | Kayıt sayısı. |
offset | ≥0 (0) | Sayfalama. |
adversee_get_campaign
Tek kampanya: okunan alanlar (limit, çevrim, oran), şartlar ve son anlık görüntüler.
| Parametre | Tip | Açıklama |
|---|---|---|
id | uuid | adversee_list_campaigns'ten. |
adversee_list_events
Hareketler, en yeni önce. Kampanya, banner, Meta, kesinti ve geçilme olayları; değişen alanlar 'ayrinti'de.
| Parametre | Tip | Açıklama |
|---|---|---|
rakip | metin | Slug ya da ad; izlemeden çıkarılmış marka için slug. |
tip | metin | Virgülle birden çok olay tipi (ör. new_campaign,banner_eklendi). |
baslangic | ISO tarih-saat, saat dilimli | Bu andan (dahil) sonrası. |
bitis | ISO tarih-saat, saat dilimli | Bu andan öncesi. |
cursor | metin | Önceki yanıtın sonrakiCursor değeri. |
limit | 1-100 (25) | Sayfa boyu. |
adversee_get_digest
Günlük (09:00) ya da haftalık (pazartesi) özet: rakip başına banner ve Meta hareket sayıları.
| Parametre | Tip | Açıklama |
|---|---|---|
donem | gun · hafta (gun) | Özet dönemi. |
adet | 1-14 (1) | Kaç dönem, en yeni önce. |
adversee_list_homepage_banners
Anasayfa slider banner'ları (masaüstü/mobil): kalıcı kimlik, sıra, hedef, ilk/son görülme, kalkma zamanı, önceki sürüm, görünüm başına son tur ve sınıflama.
| Parametre | Tip | Açıklama |
|---|---|---|
rakip | metin | Slug ya da ad. |
durum | aktif · kalkan (aktif) | Yayındakiler ya da son 30 günde kalkanlar. |
tur | teklif · icerik · marka_geneli | Sınıflama süzgeci. |
kategori | metin | Kategori anahtarı ya da adı. |
grup | metin | Oyun grubu anahtarı ya da adı. |
oyun | metin | Görselde yazan oyun adında geçen metin. |
adversee_get_banner_history
Bir rakibin slider'ının tur tur sıralı listesi (2 saatte bir tur).
| Parametre | Tip | Açıklama |
|---|---|---|
rakip | slug | Zorunlu. |
gorunum | masaustu · mobil | Zorunlu. |
baslangic | ISO tarih-saat, saat dilimli | Yoksa bitişten 24 saat önce. |
bitis | ISO tarih-saat, saat dilimli | Yoksa şimdi. Pencere en çok 7 gün. |
adversee_list_meta_ads
Meta (Facebook/Instagram) reklamları: kütüphane kodu ve linki, başlangıç, ilk/son görülme, bitti zamanı, metin, hedef, sınıflama ve marka bazında kapsam.
| Parametre | Tip | Açıklama |
|---|---|---|
rakip | metin | Slug ya da ad. |
durum | aktif · biten (aktif) | Aktif ya da biten reklamlar. |
tur · kategori · grup · oyun | metin | Banner aracındaki sınıflama süzgeçleri. |
limit | 1-100 (25) | Kayıt sayısı. |
offset | ≥0 (0) | Sayfalama. |
adversee_get_image
Banner ya da reklam görseli, MCP görüntüsü olarak (png, jpeg, gif, webp; en çok 3,7 MB). Daha büyük ya da başka türde görselde panel linki döner.
| Parametre | Tip | Açıklama |
|---|---|---|
tur | banner · meta | Görselin geldiği yüzey. |
gorselId | uuid | Banner ya da Meta aracının çıktısından. |
adversee_get_overtakes
Rakiplerin sizi geçtiği alanlar (ör. üst limit, oran): açık geçilmeler ve son kapananlar.
Parametre yok.
Örnek yanıtlar
Kısaltılmış yanıtlar; '…' kısaltılan değerdir.
adversee_get_banner_history
{
"marka": { "slug": "rakip-a", "ad": "Rakip A" },
"gorunum": "mobil",
"kayitBaslangici": "2026-10-06 11:50:16+00",
"turlar": [
{ "turId": "…", "zaman": "2026-10-07T10:00:12Z", "durum": "tamam",
"liste": [
{ "sira": 1, "slideId": "…", "gorselId": "…", "hedef": "https://…", "gorselLinki": "https://adversee.com/app/panel-api/vitrin/gorsel/…" },
{ "sira": 2, "slideId": "…", "gorselId": "…", "hedef": null, "gorselLinki": "…" }
] },
{ "turId": "…", "zaman": "2026-10-07T12:00:09Z", "durum": "engel",
"liste": null, "listeYokNedeni": "olculemedi" }
]
}adversee_list_events
{
"hareketler": [
{ "id": "…", "tip": "banner_eklendi", "baslik": "…", "rakip": "Rakip A",
"rakipSlug": "rakip-a", "seviye": "hamle", "zaman": "2026-10-07T10:00:12.318Z",
"kampanyaId": null, "ayrinti": { "gorunum": "mobil", "url": "https://…" } }
],
"sonrakiCursor": "b2xheTo…"
}Banner ve Meta öğelerindeki sınıflama
"siniflama": {
"tur": "teklif",
"kategori": { "key": "ek_kazanc", "ad": "Ek Kazanç" },
"grup": { "key": "bas_kazan", "ad": "Bas Kazan" },
"oyun": "Efsane Mücevher Avcısı",
"istemSurumu": 2,
"onerilenKampanya": { "id": "…", "baslik": "…", "guven": 85 }
}Sınırlar
- İstek sınırı: Anahtar başına dakikada 60 istek; aşılırsa 429.
- Toplu istek yok: JSON-RPC batch desteklenmez; her çağrı ayrı istek.
- Gövde boyutu: İstek gövdesi en çok 4 MB.
- Görsel boyutu: Görüntü olarak en çok 3,7 MB; üstünde panel linki döner.
- Geçersiz anahtar: Aynı adresten dakikada 20'den fazla geçersiz anahtar denemesi 429 alır; geçerli anahtarlar etkilenmez.
- Tazelenme: Banner 2 saatte, Meta 6 saatte bir taranır; daha sık çekmek yeni veri getirmez.
Hata kodları
| Durum | Anlamı |
|---|---|
401 | Anahtar yok, biçimi bozuk, iptal edilmiş ya da üyelik sona ermiş. |
429 | Dakikalık istek sınırı ya da geçersiz anahtar sınırı aşıldı. |
400 | Gövde geçerli JSON değil ya da toplu (batch) istek gönderildi. |
413 | Gövde 4 MB'ı aşıyor. |
405 | Sunucu durumsuz; yalnız POST desteklenir. |
isError | Araç çalıştı ama sonuç vermedi (ör. 'Kayıt bulunamadı.' ya da geçersiz tarih); açıklama mesajdadır. |
Veriyi doğru okumak
- null 'yok' demek değildir, 'bilinmiyor' demektir. Ölçülemeyen değer 0 olarak verilmez.
- Banner sıra geçmişinde başarısız turun listesi null'dır ve listeYokNedeni nedenini söyler: olculemedi, eksik, kayit_hatasi ya da kayit_oncesi.
- Banner sıra geçmişi 06.10.2026'dan itibaren birikiyor; daha önceki turlar kayit_oncesi döner.
- Hareketleri düzenli çekerken baslangic'i son çekimden 15 dakika geriye alın ve kayıtları id ile tekilleştirin; aynı anda yazılan kayıtlar birkaç saniye geç görünebilir.
- Tarih parametreleri saat dilimiyle verilmelidir (ör. 2026-10-07T00:00:00Z ya da +03:00).
- Meta, giriş yapmamış ziyaretçiye büyük sayfalarda yalnız ilk sayfayı gösteriyor, bazı sayfaları hiç göstermiyor. 'kapsam' alanı bunu marka bazında söyler; sayılar farklı reklam görseli sayısıdır.
- Görsel sınıflama yapay zekâ tahminidir: emin olunmayan alan null kalır, oyun adı yalnız görselde yazıyorsa verilir, kampanya eşleşmesi kesin bağ değil güven puanlı öneridir.
- Bir Meta reklamı 'bitti' sayılmadan önce en az 12 saat ve en az 3 tam okunan turda görünmemiş olmalıdır.