Recap Raven
resmiDiscord D&D not alıcı: herhangi bir yapay zekadan TTRPG oturum özetlerinizi, görevlerinizi, NPC'lerinizi ve transkriptlerinizi arayın ve alıntılayın. Recap Raven API anahtarı gerektirir.
Recap Raven MCP ile neler yapabilirsiniz?
- Kampanyaları ve oturumları listele — AI'nızdan kampanyalarınızı listelemesini ve ayrıntıları çekmeden önce bir oturum numarasını doğru özetle eşleştirmesini isteyin.
- Transkriptlerde ve sahnelerde arama yapın — Bir ismin, eşyanın veya yerin nerede geçtiğini bulmak için transkript konuşmalarında veya sahne kesitlerinde tam anahtar kelime aramaları çalıştırın.
- Özetleri ve transkript pencerelerini okuyun — Bir oyuncuya uygun özeti veya bir oturumun saklanan konuşmalarının indeks aralığına göre konumsal bir dilimini getirin.
- Hazırlığı ve açık kancaları gözden geçirin — Bir kampanya için çözülmemiş anlatı kancalarını, bir sonraki oturum hazırlık paketini ve önceki bölüm özetini çekin.
- Varlıkları ve lore'u arayın — Varlık listesini veya tek bir varlık kartını, ayrıca lore belgelerini ve sözlük girdilerini alın.
- Etkileşimi ve görevleri kontrol edin — Konuşmacı başına katılım eğilimlerini, oyunculara görünen görev günlüğünü ve Ask kredi kullanımınızı okuyun.
Barındırılan MCP Sunucusu
npx add-mcp 'https://mcp.recapraven.com/mcp'Claude Code, Codex, Cursor ve daha fazlasına kurulur
Dokümantasyon
Özel AI iş akışları için
Kampanya araçlarınız, uyumlu bir AI istemcisinde.
Özetlerinizi ve kampanya verilerinizi MCP üzerinden okuyun. Mevcut API anahtarı erişimi uyumlu istemcilerle çalışır. Genel bir istemci kimliğini destekleyen bir AI uygulamasından oturum açın; bağlanmadan önce istemcinizin gereksinimlerini aşağıdan kontrol edin.
MCP nedir?
MCP, uyumlu AI uygulamalarının Recap Raven araçlarını doğrudan çağırmasını sağlar. Özetleri başka bir AI'ya kopyalamak yerine, AI'nız Recap Raven'dan oturumlar, transkript pencereleri, kancalar, varlıklar, alıntılar ve kampanya yanıtları isteyebilir.
Başlayın
Raven'ın uzak MCP uç noktası https://mcp.recapraven.com/mcp . Kurulum talimatları için bir istemci seçin. Premium, deterministik okumaları içerir; bellek araması ve AI yanıtları için Searchable Memory gereklidir.
MCP uç noktası
https://mcp.recapraven.com/mcp
ChatGPT kurulumu
- ChatGPT'nin web sitesinde Plugins bölümünü açın, + seçeneğini seçin, ardından Add custom MCP server'ı seçin. "Recap Raven" ve aşağıdaki sunucu URL'sini girin.
- Raven oturum açma etkinleştirildiğinde, OAuth ve genel istemci kimlik doğrulamasıyla yayımlanmış istemci kimliği (CIMD) seçeneğini seçin. İstemci sırrı veya Raven API anahtarı gerekmez. Otomatik istemci kaydı Raven tarafından desteklenmez.
- Eklentiyi oluşturun, yükleyin, ardından Raven'da oturum açın ve uygulama kimliğini ve istenen erişimi gözden geçirin. Yalnızca sizin başlattığınız bir bağlantıyı onaylayın.
- Bir sohbette, @ ile Recap Raven'ı seçin ve şunu sorun: "Use Recap Raven to list my campaigns."
- Okuma ve yazma araçları izinlerinize ve onaylarınıza bağlıdır. Kurulum eksikse, çalışma alanı kısıtlamalarını ve uygulamanız için resmi ChatGPT kurulum kılavuzunu kontrol edin.
ChatGPT uzak sunucu URL'si
https://mcp.recapraven.com/mcp
Onay ve bağlantı yardımı
Bir Raven oturum açma bağlantısı, kampanyalarınıza, transkriptlerinize ve yalnızca GM'e özel bilgilere erişim izni ister. Araç sonuçları seçtiğiniz AI sağlayıcısına gider ve ücretli araçlar mevcut Ask kredilerinizi harcar.
Arka plan erişimini onaylarsanız, uygulama Raven'dan çıkış yapmış olsanız bile bağlantısını 30 güne kadar yenileyebilir. Süre dolduktan veya iptal edildikten sonra yeniden bağlanın ve tekrar onaylayın. Hesap ayarları bölümünde onaylanmış AI bağlantılarını gözden geçirin ve tek bir bağlantıyı kesin veya Tüm AI bağlantılarını kes seçeneğini kullanın. API anahtarları ayrı olarak yönetilir.
Boş sonuçlar mı? Kampanyalarınızın sahibi olan Raven hesabıyla oturum açtığınızdan emin olun. Bir plan değişikliği araç erişimini kaldırabilir; AI yanıtları ayrıca kullanılabilir kredi gerektirir. Onay süresi dolarsa veya başarısız olursa, bağlantıyı istemciden yeniden başlatın.
Eksik menüler veya desteklenmeyen bir çalışma alanı, Raven anahtarınızı değiştirerek düzeltilemez. Bağlantılı satıcı gereksinimlerini kontrol edin veya uygulama adı, sürümü ve hata mesajıyla birlikte Discord topluluğumuzla iletişime geçin. Token veya anahtar göndermeyin.
Premium ve Searchable Memory'de kullanılabilir
Premium, API anahtarlarını ve mevcut özetlerinize, transkriptlerinize ve manuel World verilerinize erişimi içerir. Bellek araçları, kampanya araması ve AI yanıtları için Searchable Memory gereklidir. Anlamsal arama ve AI yanıtları mevcut Ask kredilerinizi harcar.
Plana göre MCP kullanılabilirliği
| Ücretsiz katman | Kullanılamaz |
| Premium | API anahtarları, mevcut özetler, transkriptler ve manuel World verileri. Bellek araçları dahil değildir. |
| Bellek içeren planlar | Ek ücret olmadan deterministik araçlar; search_corpus arama başına düşük sohbet kredisi kullanır ve atıflı ask araçları Ask kredilerini harcar. |
| API anahtarı | API Keys bölümünden kişisel bir API anahtarı oluşturun. İstediğiniz zaman iptal edin; hesap Ücretsiz'e döndüğünde MCP erişimi sona erer. |
Adil kullanım ve hız sınırları
MCP sunucusu paylaşılan ve ölçümlenen bir yüzeydir. Sürdürülebilir tutmak (ve kontrolden çıkan bir ajan döngüsünün tüm bir lisansı dakikalar içinde tüketmesini engellemek) için, her API anahtarı Ask hakkınıza ek olarak hız sınırına tabidir.
MCP hız sınırları
| Sunucu adil kullanımı | MCP sunucusunun kendisinde API anahtarı başına istek üst sınırı (tüm araç çağrıları birleşik) — tek bir anahtarın uç noktayı doldurmasını engeller. Sınırı aşan yanıtlar Retry-After ile 429 döndürür. |
| Premium · tüm planlar / Memory · 5 oturum | Dakikada 15 istek ve saatte 150 istek. |
| Memory · 10 oturum | Dakikada 30 istek ve saatte 450 istek. |
| Memory · 20 oturum | Dakikada 60 istek ve saatte 1200 istek. |
| Ücretsiz araçlar | API anahtarı başına hız sınırlıdır. Deterministik okumalar ve anahtar kelime aramaları (search_transcript, search_facts) kredi harcamaz. Anlamsal search_corpus burada dahil değildir; tamamlanan arama başına düşük sohbet kredisi kullanır. |
| Sohbet kredisi araçları | search_corpus (düşük sohbet kredisi) ve atıflı ask araçları hem Ask hakkınız hem de anahtar başına hız sınırıyla sınırlıdır. Kullanım kapısı, hak tükendiğinde harcamayı durdurur; hız sınırı, bir patlamanın hakkı anında tüketmesini engeller. Ayrı bir MCP kotası yoktur — ajanınız uygulamada kullandığı lisans başına aynı sohbet kredilerini harcar. |
Ek ücret olmadan dahil
Deterministik okuma araçları — oturumlar, varlıklar ve defter, kancalar, mekanikler, etkileşim, transkript ve beat araması, özetler, lore ve sözlük. Depolanan kampanya verilerini AI çıkarımı olmadan döndürürler, bu nedenle mevcut araçlar kredi harcamaz. Bellek araçları yine de Searchable Memory gerektirir. Anlamsal search_corpus bu listeye dahil değildir; düşük sohbet kredisi kullanır. Örnek girdi, örnek çıktı ve alan referansı için herhangi bir aracı genişletin.
list_campaigns
Ek araç ücreti yok
Keşif aracı: diğer araçların doğru campaign_id'yi kullanabilmesi için MCP anahtarınıza sunulan kampanyaları listeler.
Örnek girdi
{}
Örnek çıktı
{
"campaigns": [
{
"campaign_id": "a1b2c3d4-…",
"name": "The White Moose",
"module": "Dolmenwood"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaigns | array | Hesabınızın sahip olduğu kampanyalar. |
| campaigns[].campaign_id | string (uuid) | Bu id'yi kampanya kapsamlı MCP araçlarıyla kullanın. |
| campaigns[].name | string | Kampanya adı. |
| campaigns[].module | string | null | İsteğe bağlı modül/sistem etiketi. |
list_sessions
Ek araç ücreti yok
Keşif aracı: hazır oturumları session_number ve başlıklarıyla listeler, böylece bir ajan "oturum 12"yi doğru recap_id ile eşleştirebilir.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | atlanmış | İsteğe bağlı kampanya filtresi. |
Örnek çıktı
{
"recaps": [
{
"recap_id": "r1e2c3a4-…",
"campaign_id": "a1b2c3d4-…",
"session_number": 12,
"title": "The Choosing",
"status": "ready"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recaps | array | Hesabınıza görünür hazır oturumlar. |
| recaps[].recap_id | string (uuid) | Bu id'yi get_recap, get_transcript_window ve get_mechanics_events ile kullanın. |
| recaps[].campaign_id | string (uuid) | null | Oturumun sahibi olan kampanya. |
| recaps[].session_number | integer | null | GM'in kendi 1 tabanlı oturum numaralandırması (DM tarafından düzenlenebilir), ayarlandığında. |
| recaps[].title | string | null | Oturum başlığı. |
| recaps[].status | string | Yalnızca hazır oturumlar listelenir. |
get_engagement
Ek araç ücreti yok
Kampanya etkileşim panosu: konuşmacı başına katılım eğilimi ve önbelleğe alınmış oturumlar arası sentez (özet + önemli olaylar zaman çizelgesi).
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. Hesabınızın sahibi olması gerekir. |
Örnek çıktı
{
"sessions": [
{
"recap_id": "…",
"session_ref": "S01AB",
"session_at": "2026-06-20T19:00:00Z"
}
],
"players": [
{
"speaker": "Mira",
"points": [
{
"session_ref": "S01AB",
"participation_pct": 28.4,
"turn_count": 42,
"talk_time_seconds": 612,
"word_count": 1840
}
]
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| sessions | array | Kampanyadaki her hazır oturum için bir giriş. |
| sessions[].recap_id | string (uuid) | Özet/oturum id'si. |
| sessions[].session_ref | string | Kısa insan referansı, ör. S01AB. |
| sessions[].session_at | string (ISO 8601) | Oturumun başladığı zaman (UTC). |
| players | array | Tanınan her konuşmacı için bir giriş. |
| players[].speaker | string | Konuşmacı görünen adı. |
| players[].points | array | Bu konuşmacı için oturum başına metrikler. |
| players[].points[].participation_pct | number | Konuşma payı, 0–100. |
| players[].points[].turn_count | integer | Alınan konuşma sırası sayısı. |
| players[].points[].talk_time_seconds | integer | Toplam konuşma saniyesi. |
| players[].points[].word_count | integer | Toplam konuşulan kelime. |
get_credit_balance
Ek araç ücreti yok
Ask hakkınızın yüzde olarak kullanımı ve son etkinlik akışı. Ham hak sayıları MCP istemcilerine açıklanmaz.
Örnek girdi
{}
Örnek çıktı
{
"usage": {
"percent_used": 29
},
"recent_activity": [
{
"type": "recap_ready",
"label": "Session S01AB recap is ready",
"date": "2026-06-21T08:02:00Z",
"recap_id": "…"
},
{
"type": "credit",
"label": "Asked your campaign",
"date": "2026-06-21T08:05:00Z"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| usage.percent_used | integer | 0'dan 100'e tam sayı Ask kullanımı. |
| recent_activity | array | En yeniden eskiye akış (oturum kaydedildi, özet hazır, kredi defteri olayları). |
| recent_activity[].type | string | Olay türü. değerler: recap_ready | session_recorded | credit |
| recent_activity[].label | string | İnsan tarafından okunabilir özet. |
| recent_activity[].date | string (ISO 8601) | Olayın gerçekleştiği zaman. |
| recent_activity[].recap_id | string (uuid) | null | Özet/oturumla ilgili olaylar için mevcut. |
get_memory_overview
Ek araç ücreti yok
En zengin GM durumsal farkındalık bloğu: dağılım, etkileşim eğilimi + genel puan, oturum başına katılım, oyun sütunları.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"distribution": [
{
"label": "Roleplay",
"pct": 58
}
],
"engagement": {
"overall": {
"score": 74,
"label": "Playful / tense"
}
},
"pillars": [
"The green-eyed stranger",
"The old inn",
"The white moose hunt"
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| distribution | array | Kategoriye göre oyun payı. |
| distribution[].label | string | Kategori adı. |
| distribution[].pct | number | Pay, 0–100. |
| engagement.overall.score | number | null | Bileşik etkileşim puanı, 0–100. |
| engagement.overall.label | string | null | Niteliksel etiket, ör. "Playful / tense". |
| pillars | string[] | null | Yinelenen temalar / oyun sütunları. |
get_quest_log
Ek araç ücreti yok
Oyunculara görünür görev günlüğü. GM eklemeleri ve düzenlemeleri Discord /questlog aracılığıyla partiyle paylaşılır. GM sırlarını uzak tutun.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"page": 1
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanyanız. |
| page | integer | İsteğe bağlı, 1'den başlar. Sayfa başına on görev. |
Örnek çıktı
{
"quests": [
{
"id": "d4e5f6a7-…",
"title": "Find the missing courier",
"objective": "Follow the trail from the bridge.",
"status": "active",
"progress": "The party found a torn satchel."
}
],
"page": 1,
"has_more": false
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| quests | array | Önce etkin/bayat, ardından tamamlanmış/terk edilmiş. Dahili düzenleme meta verileri ve kaynak bağlantıları hariç tutulur. |
| quests[].id | string (uuid) | Görev tanımlayıcısı. |
| quests[].title | string | Görev başlığı. |
| quests[].objective | string | Partinin hedefi. |
| quests[].status | string | active, stale, completed veya abandoned. |
| quests[].progress | string | En son kaydedilen ilerleme. |
| page | integer | Geçerli sayfa. |
| has_more | boolean | True olduğunda sonraki sayfayı isteyin. |
get_open_hooks
Ek araç ücreti yok
Çözülmemiş anlatı kancaları — bir sonraki oturumda ne hazırlanmalı.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"hooks": [
{
"text": "Nobody bypasses the Choosing.",
"session_ref": "S01AB",
"session_date": "2026-06-20"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| hooks | array | Şu anda açık anlatı kancaları. |
| hooks[].text | string | Kanca açıklaması. |
| hooks[].session_ref | string | Kancanın tanıtıldığı oturum. |
| hooks[].session_date | string (YYYY-MM-DD) | O oturumun tarihi. |
get_previously_on
Ek araç ücreti yok
Kampanya için önceki bölüm bağlamı, sahip kapsamlı bellekten oluşturulur.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"sections": [
{
"title": "Last time",
"bullets": [
"The party followed the white moose into the mist."
]
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| sections | array | Özet/bağlam için kampanya belleği bölümleri. |
| sections[].title | string | Bölüm başlığı. |
| sections[].bullets | string[] | Kısa bellek maddeleri. |
get_next_session_prep_pack
Ek araç ücreti yok
Recap Raven'ın hazırlık önbelleğinden, yalnızca GM'e yönelik bir sonraki oturum hazırlık önerisi. Bir kez oluşturulabilir, ardından bir sonraki özet alınana kadar önbellekte kalır. credit_cost: 0 döndürür.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Hazırlık yapılacak kampanya. Hesabınıza ait olmalıdır. |
Örnek çıktı
{
"likely_directions": [
{
"title": "Return to the inn",
"detail": "The unresolved clue points back to the old inn."
}
],
"threads_to_watch": [
"Who opened the moonstone gate?"
],
"prep_suggestions": [
"Review the innkeeper and the gate password."
],
"credit_cost": 0,
"cache_policy": "cached_until_next_recap_ingested"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| likely_directions | array | GM'e yönelik olası sonraki yönler. |
| threads_to_watch | string[] | GM'in aklında tutmak isteyebileceği konu başlıkları. |
| prep_suggestions | string[] | GM için somut hazırlık önerileri. |
| credit_cost | number | Bu MCP aracı için her zaman 0. |
| cache_policy | string | cached_until_next_recap_ingested. |
get_chronicle
Ek araç ücreti yok
Oturum başına sahne haritası — yapılandırılmış kampanya kronikleri.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"sessions": [
{
"recap_id": "…",
"session_ref": "S01AB",
"scenes": [
"The market",
"The hunt",
"The banshee fight"
]
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| sessions | array | Her oturum için bir giriş. |
| sessions[].recap_id | string (uuid) | Özet/oturum kimliği. |
| sessions[].scenes | string[] | O oturum için sıralı sahne etiketleri. |
get_entity
Ek araç ücreti yok
Kaydedilmiş oturumlardan türetilen, oyuncuların görebildiği varlık defteri; özel olarak yüklenen lore hariç tutulur. Ad verilmezse kadroyu döndürür. Bir ad veya takma ad verilirse eşleşen kartı, etkileşim geçmişini, transkript turu bağlantılarını, ilişkileri veya belirsizlik adaylarını döndürür.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"name": "Captain Vale"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
| name | string | omitted | Tek bir karta çözümlenecek varlık adı/takma adı. Kadro için atlayın. |
Örnek çıktı
{
"entity": {
"id": "…",
"canonical_name": "Captain Vale",
"kind": "npc",
"aliases": [
"Vale"
],
"search_aliases": [],
"interactions": [
{
"recap_id": "…",
"summary": "Vale warned the party.",
"turn_start": 12,
"turn_end": 16
}
],
"relations": [
{
"subject": "Captain Vale",
"predicate": "located_in",
"object": "Saltmoor Harbour",
"recap_id": "…",
"turn_start": 41,
"turn_end": 44,
"visibility": "player_known",
"session_date": "2026-05-01T00:00:00Z",
"is_current": true,
"predicate_class": "stateful"
}
]
}
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| entities | array (kadro modu) | Ad verilmediğinde: her varlık için {canonical_name, kind, aliases, search_aliases}. |
| entity | object | null (kart modu) | Ad verildiğinde: çözümlenen varlık kartı veya ad hiçbir şeyle eşleşmiyorsa null. |
| candidates | array | Bir takma ad belirsiz olduğunda olası varlık kartları; çözümleme tekil olduğunda boş. |
| entity.id | string (uuid) | Kalıcı kampanya varlık kimliği. |
| entity.canonical_name | string | Kanonik varlık adı. |
| entity.kind | string | Varlık türü. değerler: pc | npc | creature | place | item | faction | deity | other |
| entity.aliases | string[] | Görünen takma adlar. |
| entity.search_aliases | string[] | Yalnızca erişim için kullanılan takma adlar. |
| entity.interactions | array | Özet ve transkript turu bağlantılarıyla desteklenen geçmiş girişleri. |
| entity.interactions[].recap_id | string (uuid) | Etkileşimi içeren oturum. |
| entity.interactions[].turn_start | integer | null | Kanıt bağlantısı için ilk transkript turu. |
| entity.interactions[].turn_end | integer | null | Kanıt bağlantısı için son transkript turu. |
| entity.interactions[].identity_match | string | confirmed veya suggested; suggested bağlantılar olası takma ad eşleşmeleridir, kanonik kimlik iddiaları değildir. değerler: confirmed | suggested |
| entity.relations | array | İlişki grafiği (en eskiden → en yeniye). |
| entity.relations[].predicate | string | örn. located_in, ally_of, owns. |
| entity.relations[].recap_id | string (uuid) | İlişkiye kanıt oluşturan oturum. |
| entity.relations[].visibility | string | Kenarın GM görünürlüğü. Eski tanık öncesi veriler dm_only kenarlar taşıyabilir — oyunculara göstermeyin. değerler: player_known | dm_only |
| entity.relations[].is_current | boolean | Durum bilgili bir yüklemin canlı ayağı. |
get_mechanics_events
Ek araç ücreti yok
Tek bir oturum için tura sabitlenmiş mekanik olaylar (saldırılar, büyüler, hasar, dinlenmeler, durumlar) — mekanikler sekmesindekiyle aynı veri.
Örnek girdi
{
"recap_id": "…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recap_id | string (uuid) | Okunacak oturum. Kimlikleri keşfetmek için list_sessions kullanın. |
Örnek çıktı
{
"recap_id": "…",
"mechanics": [
{
"action": "attack",
"actor": "Mira",
"target": "Goblin",
"damage_amount": 7,
"damage_type": "slashing",
"evidence_turn_start": 41,
"evidence_turn_end": 41
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recap_id | string (uuid) | Bu olayların ait olduğu oturum. |
| mechanics | array | Tura sabitlenmiş mekanik olaylar. |
| mechanics[].action | string | Olay türü. değerler: attack | spell_cast | short_rest | long_rest | consumable_used | condition_applied | ability_used | form_changed |
| mechanics[].actor | string | Eylemi gerçekleştiren. |
| mechanics[].evidence_turn_start | integer | Olaya kanıt oluşturan ilk tur. |
| mechanics[].evidence_turn_end | integer | Olaya kanıt oluşturan son tur. |
get_lore_documents
Ek araç ücreti yok
Kampanyanın lore belgelerinin listesi.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"documents": [
{
"id": "…",
"title": "The Choosing",
"updated_at": "2026-06-20"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| documents | array | Lore belgeleri. |
| documents[].id | string (uuid) | Belge tanımlayıcısı. |
| documents[].title | string | Belge başlığı. |
get_lore_document
Ek araç ücreti yok
Tam gövdesiyle tek bir lore belgesi.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"doc_id": "…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
| doc_id | string (uuid) | Getirilecek lore belgesi. |
Örnek çıktı
{
"document": {
"id": "…",
"title": "The Choosing",
"body": "…"
}
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| document.id | string (uuid) | Belge tanımlayıcısı. |
| document.title | string | Belge başlığı. |
| document.body | string | Tam belge gövdesi (markdown). |
get_lexicon
Ek araç ücreti yok
Sözlük girişleri (kanonik adlar, takma adlar, tür, güven).
Örnek girdi
{
"campaign_id": "a1b2c3d4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Okunacak kampanya. |
Örnek çıktı
{
"entries": [
{
"id": "…",
"canonical": "Sol’Thun",
"type": "npc",
"aliases": [
"the archmage"
],
"confidence": 0.92,
"enabled": true
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| entries | array | Sözlük girişleri. |
| entries[].canonical | string | Kanonik ad. |
| entries[].type | string | Varlık türü. değerler: npc | place | item | creature | other |
| entries[].aliases | string[] | Alternatif adlar / takma adlar. |
| entries[].confidence | number | Çıkarım güveni, 0–1. |
| entries[].enabled | boolean | Bu girişin etkin olup olmadığı. |
get_transcript_window
Ek araç ücreti yok
Bir oturumun saklanan turlarının konumsal bir dilimi (içerik araması yok — yalnızca başlangıç/bitiş tur indeksleri).
Örnek girdi
{
"recap_id": "…",
"from": 0,
"to": 20
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recap_id | string (uuid) | Okunacak özet/oturum. Kimlikleri keşfetmek için list_sessions kullanın. |
| from | integer | Başlangıç tur indeksi (dahil, varsayılan 0). |
| to | integer | Bitiş tur indeksi. Başlangıç indeksinden 50 turluk bir pencere için atlayın. |
Örnek çıktı
{
"recap_id": "…",
"total_turns": 184,
"from": 0,
"to": 20,
"turns": [
{
"index": 0,
"t": "~00:01",
"speaker": "GM",
"text": "…"
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| total_turns | integer | Oturumdaki toplam tur sayısı. |
| from | integer | Döndürülen başlangıç indeksi. |
| to | integer | Döndürülen bitiş indeksi. |
| turns | array | İstenen penceredeki turlar. |
| turns[].index | integer | Oturumdaki konumsal indeks. |
| turns[].t | string | Göreli zaman damgası, örn. ~00:01. |
| turns[].speaker | string | Konuşmacının görünen adı. |
| turns[].text | string | Söylenen metin. |
get_recap
Ek araç ücreti yok
Hazır bir özet için oyunculara güvenli özet HTML'i. Yapıt türü sunucuya aittir; tür girdisi yoktur.
Örnek girdi
{
"recap_id": "…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recap_id | string (uuid) | Oyunculara güvenli özeti getirilecek özet/oturum. |
Örnek çıktı
{
"recap": {
"recap_id": "…",
"content_type": "player_recap_html",
"html": "<!doctype html>…",
"truncated": false
}
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| recap.recap_id | string (uuid) | Özet/oturum kimliği. |
| recap.content_type | string | Her zaman player_recap_html. değerler: player_recap_html |
| recap.html | string | Oyunculara güvenli özet HTML'i. |
| recap.truncated | boolean | MCP yanıt sınırı HTML'i kısalttığında true. |
search_transcript
Ek araç ücreti yok
Kampanya transkript turlarınız üzerinde tam anahtar sözcük (tam metin) araması. Tam ifadeyi içeren turları oturumları, konuşmacıları ve zaman damgalarıyla döndürür — LLM yok, gömme yok, kredi yok.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"query": "white moose",
"recap_id": "r1e2c3a4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Aranacak kampanya. |
| query | string | Eşleştirilecek tam ifade (transkript metnine karşı tam metin araması). |
| recap_id | string (uuid) | omitted | İsteğe bağlı oturum kapsamı. Özet kimliklerini keşfetmek için list_sessions kullanın. |
Örnek çıktı
{
"query": "white moose",
"matches": [
{
"recap_id": "…",
"speaker": "GM",
"t": "~01:04",
"text": "All you know is that it’s a white moose."
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| query | string | Gönderilen sorgunun yankısı. |
| matches | array | Tam ifadeyi içeren transkript turları, en iyi eşleşme önce. |
| matches[].recap_id | string (uuid) | Eşleşmenin geldiği özet/oturum. |
| matches[].speaker | string | Eşleşen turun konuşmacısı. |
| matches[].t | string | Göreli zaman damgası, örn. ~01:04. |
| matches[].text | string | Eşleşen transkript metni. |
search_facts
Ek araç ücreti yok
Kampanyanızın sahne vuruşları üzerinde anahtar sözcük tam metin araması — sohbet hattının üzerinde akıl yürüttüğü yoğun, vuruş vuruş özetler. Tam terimler (bir ad, bir eşya, bir yer) için en uygunudur. Vuruş metnini sahne/oturum bağlamı ve tur aralığıyla döndürür; böylece bir ajan anı bulup ardından tam transkript penceresini çekebilir. LLM yok, gömme yok, kredi yok. Doğal dilde, anlam tabanlı arama için search_corpus kullanın.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"query": "white moose hunt",
"recap_id": "r1e2c3a4-…"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Aranacak kampanya. |
| query | string | Vuruş metnine karşı eşleştirilecek anahtar sözcükler (tam metin araması). |
| recap_id | string (uuid) | omitted | İsteğe bağlı oturum kapsamı. Özet kimliklerini keşfetmek için list_sessions kullanın. |
Örnek çıktı
{
"matches": [
{
"recap_id": "…",
"session_number": 12,
"session_title": "The Choosing",
"scene_title": "The hunt",
"beat_index": 3,
"turn_start": 120,
"turn_end": 168,
"text": "The party tracked the white moose north of the old inn…",
"truncated": false
}
]
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| matches | array | Eşleşen vuruşlar, en iyi eşleşme önce. |
| matches[].recap_id | string (uuid) | Vuruşun geldiği oturum. |
| matches[].session_number | integer | null | GM'in oturum numarası, ayarlandığında. |
| matches[].session_title | string | null | Oturumun başlığı, ayarlandığında. |
| matches[].scene_title | string | null | Vuruşun ait olduğu sahnenin başlığı. |
| matches[].beat_index | integer | Vuruşun sahnesi içindeki konumu. |
| matches[].turn_start | integer | Vuruşun penceresinin ilk turu (get_transcript_window'a besleyin). |
| matches[].turn_end | integer | Vuruşun penceresinin son turu. |
| matches[].text | string | Vuruş metni (1200 karakterle sınırlı). |
| matches[].truncated | boolean | Vuruş metni kısaltıldığında true. |
Sohbet kredileri kullanır
Üç araç ölçümlü sohbet kredisi harcar. Bulucu ile yanıt ayrımını düşünün: search_corpus (düşük sohbet kredisi) en güçlü eşleşmeleri, kendi modelinizin üzerinde akıl yürütmesi için yapılandırılmış kanıt olarak verir — kapsamlı bir dizin değil, hızlı bir bulucu; ask_campaign_cited GM'e yönelik bir soruyu birebir transkript alıntıları ve tur atıflarıyla yanıtlar; ask_player_campaign_cited ise oyuncu hattı üzerinden daha kısa, oyunculara yönelik sürümü verir. Hepsi, bakiyenize ek olarak API anahtarı başına hız sınırlamasına tabidir.
search_corpus
Düşük sohbet kredisi kullanır
search_corpus, tam ifadeyi bilmeseniz bile ilgili kampanya anlarını bulur. En güçlü kanıt eşleşmelerini döndürmek için anlamsal arama ve yeniden sıralama kullanır; buna özet, oturum bağlamı ve tur aralıkları dahildir. Bu bir bulucudur, kapsamlı bir dizin değildir: yalnızca en iyi eşleşmeler geri döner, bu nedenle boş veya zayıf bir sonucu "güçlü bir şey ortaya çıkmadı" olarak değerlendirin, hiçbir şeyin var olmadığının kanıtı olarak değil. Eşleşmeleri, tablonun kullandığı gerçek terimleri veya adları keşfetmek için kullanın, ardından search_facts / search_transcript ile kapsamlı bir serbest anahtar kelime araması yapın veya birebir segment için tur aralıklarını doğrudan get_transcript_window'a götürün. Bir soruya kesin, doğrulanmış bir yanıt için — birebir alıntılar ve atıflar — bunun yerine ask_campaign_cited kullanın (daha pahalı, yapılandırılmış satırlar yerine yazılı bir yanıt). Yalnızca GM'e özel içeriği arama sonuçlarından hariç tutmak için player_safe: true ayarlayın. Arama başına düşük sohbet kredisi kullanır; eşleşme olmasa bile tamamlanan her arama için ücretlendirilir.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"query": "when did the party first distrust the mayor?",
"player_safe": false
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Aranacak kampanya. |
| query | string | Aradığınız şeyin doğal dilde açıklaması. |
| player_safe | boolean (varsayılan false) | True olduğunda, getirme görünürlük filtresinden geçirilir — yalnızca GM'e özel, çıkarımsal ve spekülasyon belleği ile GM tarafından yazılmış lore hariç tutulur. Oyuncuların göreceği her şey için kullanın. |
Örnek çıktı
{
"matches": [
{
"object_id": "…",
"type": "plot_event",
"visibility": "player_known",
"recap_id": "…",
"session_number": 8,
"session_title": "The Mayor’s Bargain",
"turn_start": 212,
"turn_end": 240,
"text": "The party noticed the mayor’s story about the missing caravan didn’t add up…",
"truncated": false
}
],
"credit_cost": "<chat credits charged for this search>"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| matches | array | Sıralanmış bellek eşleşmeleri, en iyi eşleşme önce. |
| matches[].object_id | string (uuid) | Bellek nesnesinin kimliği. |
| matches[].type | string | Belleğin türü (ör. plot_event, npc_fact). |
| matches[].visibility | string | Bunu kimin bildiği. player_safe bir aramada yalnızca oyuncuya görünür olur. |
| matches[].recap_id | string (uuid) | null | Belleğin geldiği oturum. |
| matches[].session_number | integer | null | GM'in oturum numarası, ayarlandığında. |
| matches[].session_title | string | null | Oturumun başlığı, ayarlandığında. |
| matches[].turn_start | integer | null | Kanıt penceresinin ilk turu (get_transcript_window'a besleyin). |
| matches[].turn_end | integer | null | Kanıt penceresinin son turu. |
| matches[].text | string | Bellek özeti (1200 karakterle sınırlı). |
| matches[].truncated | boolean | Özet kısaltıldığında true. |
| credit_cost | number | Bu tamamlanan arama için tahsil edilen sohbet kredisi. |
ask_campaign_cited
Sohbet kredisi kullanır
Kampanyanıza GM'e yönelik olgusal bir soru sorun ve AI yanıtını alın — uygulama içi sohbetle aynı beats yanıt motoru, birebir transkript alıntıları ve tur atıflarıyla. GM sohbet kredisi kullanır, uygulama içi sohbetle aynı maliyet. Bakiyenize ek olarak API anahtarı başına hız sınırı uygulanır.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"question": "Where did the hunter see the moose?"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Sorulacak kampanya. |
| question | string | Sorunuz. |
| clarification | object | atlanmış | İsteğe bağlı: motorun sorduğu bir açıklama sorusunu yanıtlayın (yalnızca GM hattı). |
| clarification.question | string | Motordan gelen açıklama sorusu. |
| clarification.answer | string | Bu soruya yanıtınız. |
| supersedes | string | atlanmış | Değiştirilecek önceki bir yanıtın mesaj kimliği (yalnızca GM hattı). |
Örnek çıktı
{
"answer_markdown": "The hunter reported seeing the white moose near the old inn to the north of town [1].",
"quotes": [
{
"turn": 104,
"speaker": "Skoll",
"text": "All you know is that it’s a white moose.",
"recap_id": "…"
}
],
"confidence_label": "high",
"credit_cost": 1
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| answer_markdown | string | Satır içi [n] işaretleriyle atıflı yanıt. |
| citations | array | Her işareti destekleyen atıf meta verileri. |
| quotes | array | Kanıt olarak kullanılan birebir transkript alıntıları. |
| confidence_label | string | Kaba güven aralığı. değerler: high | medium | low |
| credit_cost | number | Bu yanıt için tahsil edilen kredi. |
| quotes[].turn | integer | Atıfta bulunulan tur dizini. |
| quotes[].recap_id | string (uuid) | null | Alıntının geldiği oturum. |
ask_player_campaign_cited
Sohbet kredisi kullanır
Oyuncuya yönelik olgusal bir kampanya sorusu sorun ve transkript atıflarıyla kısa, oyuncuya güvenli bir yanıt alın. Yalnızca GM'e özel içerik, sunucu tarafındaki oyuncu hattı tarafından hariç tutulur. Oyuncu sohbet kredisi kullanır.
Örnek girdi
{
"campaign_id": "a1b2c3d4-…",
"question": "What do we know about the harbour?"
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| campaign_id | string (uuid) | Sorulacak kampanya. |
| question | string | Sorunuz. |
Örnek çıktı
{
"answer_markdown": "The party knows the harbourmaster helped them find the missing crate [1].",
"quotes": [
{
"turn": 104,
"speaker": "Skoll",
"text": "The harbourmaster pointed us to the crate.",
"recap_id": "…"
}
],
"confidence_label": "medium",
"credit_cost": 1
}
Alan açıklamaları
| Alan | Tür | Açıklama |
|---|---|---|
| answer_markdown | string | Satır içi [n] işaretleriyle atıflı yanıt. |
| citations | array | Her işareti destekleyen atıf meta verileri. |
| quotes | array | Kanıt olarak kullanılan birebir transkript alıntıları. |
| confidence_label | string | Kaba güven aralığı. değerler: high | medium | low |
| credit_cost | number | Bu yanıt için tahsil edilen kredi. |
Oyuncuya güvenli örnek
Oyuncuya yönelik bir bot veya katman oluşturuyor musunuz? Yanıtın, görünürlük filtresinden geçirilmiş defteri hiçbir zaman yalnızca GM'e özel içerik barındırmayan oyuncu hattından gelmesi için oyuncu atıflı aracını kullanın:
{
"tool": "ask_player_campaign_cited",
"arguments": {
"campaign_id": "a1b2c3d4-…",
"question": "What do we know about the harbour?"
}
}
Verileriniz nereye gidiyor
Bir MCP istemcisi bağlayıp bu araçları kullandığınızda, kampanya içeriğiniz seçtiğiniz AI istemcisine gönderilir — örneğin ChatGPT, Claude veya Gemini. Gönderdiğiniz verilere o sağlayıcının veri kullanımı ve eğitim koşulları uygulanır, bizimkiler değil.
Recap Raven'ın eğitim yapmama garantisi kendi hattımızı ve açıkladığımız model sağlayıcılarını kapsar. Bağladığınız bir istemciyi kapsayamaz: bir istemci bağlayarak kampanya verileriniz için yeni bir işleyici seçmiş olursunuz. Lütfen bağlamadan önce o istemcinin koşullarını kontrol edin ve oyuncuların göreceği her şey için ask_player_campaign_cited veya oyuncuya güvenli arama filtrelerini kullanın (ve lore ile chronicle gibi yalnızca GM'e özel okumalardan kaçının).
Sorularınız veya geri bildiriminiz mi var? Recap Raven'ın nasıl çalıştığını görün veya aşağıdaki botu davet edin.
Recap Raven'ı bir sonraki oturumunuzda çalıştırın
Botu davet edin, kampanyanızı oluşturun ve her ay ücretsiz özetler alın.
Recap Raven'ı bir sonraki oturumunuzda çalıştırın
Kart gerekmez · Yalnızca masanızın onayıyla kaydedin · Verilerinizi istediğiniz zaman silin veya dışa aktarın
Sorularınız veya geri bildiriminiz mi var? Discord topluluğumuza katılın →
Discord sesi için tasarlandı. Tüm oturumu sizin için yakalarız — sonradan giriş yapmak yok, bize gönderilecek dosya yok ve kimin konuştuğunu tahmin etmek yok. Bellek planları, düzenlenebilir dünya vikini oynarken güncel tutar; ne olduğu, kimin ne söylediği, açık kancalar ve sırada ne hazırlanacağı hakkındaki sorulara hazır olur.