Recap Raven

आधिकारिक

Discord D&D नोट टेकर: किसी भी AI से अपने TTRPG सत्र के रीकैप, क्वेस्ट, NPC और ट्रांसक्रिप्ट खोजें और उनका हवाला दें। इसके लिए Recap Raven API कुंजी आवश्यक है।

Recap Raven MCP के साथ आप क्या कर सकते हैं?

  • अभियानों और सत्रों की सूची बनाएँ — अपने AI से अपने अभियानों की सूची बनाने और विवरण निकालने से पहले किसी सत्र संख्या को सही रिकैप से मिलान करने के लिए कहें।
  • ट्रांसक्रिप्ट और बीट्स खोजें — यह पता लगाने के लिए कि कोई नाम, वस्तु या स्थान कहाँ आया, ट्रांसक्रिप्ट टर्न या सीन बीट्स पर सटीक कीवर्ड खोज चलाएँ।
  • रिकैप और ट्रांसक्रिप्ट विंडो पढ़ें — इंडेक्स रेंज के अनुसार किसी सत्र के संग्रहीत टर्न का प्लेयर-सुरक्षित रिकैप या स्थितिगत स्लाइस प्राप्त करें।
  • तैयारी और खुले हुक्स की समीक्षा करें — किसी अभियान के लिए अनसुलझे कथात्मक हुक्स, अगले सत्र की तैयारी पैक और पहले क्या हुआ का सारांश निकालें।
  • एंटिटी और लोर देखें — एंटिटी रोस्टर या एकल एंटिटी कार्ड, साथ ही लोर दस्तावेज़ और लेक्सिकॉन प्रविष्टियाँ प्राप्त करें।
  • सहभागिता और क्वेस्ट जाँचें — प्रति-वक्ता भागीदारी के रुझान, प्लेयर-दृश्य क्वेस्ट लॉग और अपने Ask क्रेडिट उपयोग को पढ़ें।

होस्ट किया गया MCP सर्वर

npx add-mcp 'https://mcp.recapraven.com/mcp'

Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है

दस्तावेज़

कस्टम AI वर्कफ़्लो के लिए

आपके कैंपेन टूल्स, एक संगत AI क्लाइंट में।

MCP के माध्यम से अपने रीकैप और कैंपेन डेटा पढ़ें। मौजूदा API-key एक्सेस संगत क्लाइंट्स के साथ काम करता है। किसी ऐसे AI ऐप से साइन इन करें जो सार्वजनिक क्लाइंट पहचान का समर्थन करता हो; कनेक्ट करने से पहले नीचे अपने क्लाइंट की आवश्यकताएँ जाँचें।

MCP क्या है?

MCP संगत AI ऐप्स को सीधे Recap Raven टूल्स को कॉल करने देता है। रीकैप को किसी अन्य AI में कॉपी करने के बजाय, आपका AI Recap Raven से सत्र, ट्रांसक्रिप्ट विंडो, हुक्स, एंटिटीज़, कोट्स और कैंपेन उत्तर माँग सकता है।

शुरू करें

Raven का रिमोट MCP एंडपॉइंट https://mcp.recapraven.com/mcp है। सेटअप निर्देशों के लिए एक क्लाइंट चुनें। Premium में नियतात्मक रीड्स शामिल हैं; मेमोरी सर्च और AI उत्तरों के लिए Searchable Memory आवश्यक है।


MCP एंडपॉइंट

https://mcp.recapraven.com/mcp

ChatGPT सेटअप

  1. ChatGPT की वेबसाइट पर, Plugins खोलें, + चुनें, फिर Add custom MCP server चुनें। "Recap Raven" और नीचे दिया गया सर्वर URL दर्ज करें।
  2. जब Raven साइन-इन सक्षम हो, तो OAuth और सार्वजनिक-क्लाइंट प्रमाणीकरण के साथ प्रकाशित क्लाइंट पहचान (CIMD) विकल्प चुनें। किसी क्लाइंट सीक्रेट या Raven API key की आवश्यकता नहीं है। स्वचालित क्लाइंट पंजीकरण Raven द्वारा समर्थित नहीं है।
  3. प्लगइन बनाएँ, इसे इंस्टॉल करें, फिर Raven में साइन इन करें और ऐप की पहचान तथा अनुरोधित एक्सेस की समीक्षा करें। केवल उसी कनेक्शन को स्वीकृत करें जो आपने शुरू किया हो।
  4. किसी बातचीत में, @ के साथ Recap Raven चुनें और पूछें: "Use Recap Raven to list my campaigns."
  5. रीड और राइट टूल्स आपकी अनुमतियों और पुष्टियों पर निर्भर करते हैं। यदि सेटअप गायब है, तो वर्कस्पेस प्रतिबंध और अपने ऐप के लिए आधिकारिक ChatGPT सेटअप गाइड जाँचें।

ChatGPT रिमोट सर्वर URL

https://mcp.recapraven.com/mcp

सहमति और कनेक्शन सहायता

Raven साइन-इन कनेक्शन आपके कैंपेन, ट्रांसक्रिप्ट और GM-केवल जानकारी तक पहुँचने की अनुमति माँगेगा। टूल परिणाम आपके चुने हुए AI प्रदाता को जाते हैं, और सशुल्क टूल्स आपके मौजूदा Ask क्रेडिट खर्च करते हैं।

यदि आप बैकग्राउंड एक्सेस स्वीकृत करते हैं, तो ऐप 30 दिनों तक अपना कनेक्शन रीफ़्रेश कर सकता है, भले ही आप Raven से साइन आउट हों। समाप्ति या रद्द होने के बाद, फिर से कनेक्ट करें और दोबारा स्वीकृत करें। Account settings में, स्वीकृत AI कनेक्शन की समीक्षा करें और एक कनेक्शन डिस्कनेक्ट करें या Disconnect all AI connections का उपयोग करें। API keys अलग से प्रबंधित की जाती हैं।

खाली परिणाम? जाँचें कि आपने उस Raven खाते में साइन इन किया है जिसके पास आपके कैंपेन हैं। प्लान परिवर्तन टूल एक्सेस हटा सकता है; AI उत्तरों के लिए उपलब्ध क्रेडिट भी आवश्यक हैं। यदि सहमति समाप्त हो जाए या विफल हो, तो क्लाइंट से कनेक्शन पुनः आरंभ करें।

गायब मेनू या असमर्थित वर्कस्पेस को आपकी Raven key बदलकर ठीक नहीं किया जा सकता। लिंक किए गए विक्रेता की आवश्यकताएँ जाँचें या ऐप का नाम, संस्करण और त्रुटि संदेश के साथ हमारे Discord समुदाय से संपर्क करें। टोकन या keys न भेजें।

Premium और Searchable Memory पर उपलब्ध

Premium में API keys और आपके उपलब्ध रीकैप, ट्रांसक्रिप्ट और मैनुअल World डेटा तक पहुँच शामिल है। मेमोरी टूल्स, कैंपेन सर्च और AI उत्तरों के लिए Searchable Memory आवश्यक है। सिमैंटिक सर्च और AI उत्तर आपके मौजूदा Ask क्रेडिट खर्च करते हैं।

प्लान के अनुसार MCP उपलब्धता

Free tierअनुपलब्ध
PremiumAPI keys, उपलब्ध रीकैप, ट्रांसक्रिप्ट और मैनुअल World डेटा। मेमोरी टूल्स शामिल नहीं हैं।
मेमोरी वाले प्लानबिना अतिरिक्त लागत के नियतात्मक टूल्स; search_corpus प्रति सर्च कम चैट क्रेडिट का उपयोग करता है, और साइटेड ask टूल्स Ask क्रेडिट खर्च करते हैं।
API keyAPI Keys से एक व्यक्तिगत API key बनाएँ। कभी भी रद्द करें; खाता Free पर लौटने पर MCP एक्सेस समाप्त हो जाता है।

उचित उपयोग और दर सीमाएँ

MCP सर्वर एक साझा, मीटर्ड सतह है। इसे टिकाऊ बनाए रखने के लिए (और एक भागता हुआ एजेंट लूप कुछ ही मिनटों में पूरा लाइसेंस जला न दे, इसके लिए), प्रत्येक API key पर आपके Ask भत्ते के अतिरिक्त दर-सीमा लागू होती है।

MCP दर सीमाएँ

सर्वर उचित-उपयोगMCP सर्वर पर ही प्रति-API-key अनुरोध सीमा (सभी टूल कॉल मिलाकर) — एक ही key को एंडपॉइंट पर बाढ़ लाने से रोकती है। सीमा से अधिक प्रतिक्रियाएँ Retry-After के साथ 429 लौटाती हैं।
Premium · सभी प्लान / Memory · 5 सत्र15 अनुरोध/मिनट और 150 अनुरोध/घंटा।
Memory · 10 सत्र30 अनुरोध/मिनट और 450 अनुरोध/घंटा।
Memory · 20 सत्र60 अनुरोध/मिनट और 1200 अनुरोध/घंटा।
Free टूल्सप्रति API key दर-सीमित। नियतात्मक रीड्स और कीवर्ड सर्च (search_transcript, search_facts) में कोई क्रेडिट नहीं लगता। सिमैंटिक search_corpus यहाँ शामिल नहीं है; यह प्रति पूर्ण सर्च कम चैट क्रेडिट का उपयोग करता है।
चैट-क्रेडिट टूल्सsearch_corpus (कम चैट क्रेडिट) और साइटेड ask टूल्स दोनों आपके Ask भत्ते और प्रति-key दर सीमा से सीमित हैं। भत्ता समाप्त होने पर उपयोग गेट खर्च रोक देता है; दर सीमा एक बर्स्ट को इसे तुरंत खत्म करने से रोकती है। कोई अलग MCP कोटा नहीं — आपका एजेंट वही प्रति-लाइसेंस चैट क्रेडिट खर्च करता है जो वह ऐप में उपयोग करता है।

बिना अतिरिक्त लागत के शामिल

नियतात्मक रीड टूल्स — सत्र, एंटिटीज़ और लेजर, हुक्स, मैकेनिक्स, एंगेजमेंट, ट्रांसक्रिप्ट और बीट्स सर्च, रीकैप, लोर और लेक्सिकॉन। वे संग्रहीत कैंपेन डेटा बिना किसी AI अनुमान के लौटाते हैं, इसलिए उपलब्ध टूल्स में कोई क्रेडिट नहीं लगता। मेमोरी टूल्स के लिए अभी भी Searchable Memory आवश्यक है। सिमैंटिक search_corpus इस सूची में शामिल नहीं है; यह कम चैट क्रेडिट का उपयोग करता है। उदाहरण इनपुट, उदाहरण आउटपुट और फ़ील्ड संदर्भ के लिए किसी भी टूल को विस्तृत करें।

list_campaigns कोई अतिरिक्त टूल शुल्क नहीं

डिस्कवरी टूल: आपकी MCP key के लिए उपलब्ध कैंपेन की सूची बनाएँ ताकि अन्य टूल्स सही campaign_id का उपयोग कर सकें।

उदाहरण इनपुट

{}

उदाहरण आउटपुट

{
  "campaigns": [
    {
      "campaign_id": "a1b2c3d4-…",
      "name": "The White Moose",
      "module": "Dolmenwood"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaignsarrayआपके खाते के स्वामित्व वाले कैंपेन।
campaigns[].campaign_idstring (uuid)इस id का उपयोग कैंपेन-स्कोप्ड MCP टूल्स के साथ करें।
campaigns[].namestringकैंपेन का नाम।
campaigns[].modulestring | nullवैकल्पिक मॉड्यूल/सिस्टम लेबल।

list_sessions कोई अतिरिक्त टूल शुल्क नहीं

डिस्कवरी टूल: तैयार सत्रों को उनके session_number और शीर्षक के साथ सूचीबद्ध करें, ताकि एक एजेंट "session 12" को सही recap_id से मैप कर सके।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid) | छोड़ा गयावैकल्पिक कैंपेन फ़िल्टर।

उदाहरण आउटपुट

{
  "recaps": [
    {
      "recap_id": "r1e2c3a4-…",
      "campaign_id": "a1b2c3d4-…",
      "session_number": 12,
      "title": "The Choosing",
      "status": "ready"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recapsarrayआपके खाते को दिखाई देने वाले तैयार सत्र।
recaps[].recap_idstring (uuid)इस id का उपयोग get_recap, get_transcript_window और get_mechanics_events के साथ करें।
recaps[].campaign_idstring (uuid) | nullवह कैंपेन जिसके स्वामित्व में सत्र है।
recaps[].session_numberinteger | nullGM की अपनी 1-आधारित सत्र संख्या (DM-संपादन योग्य), जब सेट हो।
recaps[].titlestring | nullसत्र का शीर्षक।
recaps[].statusstringकेवल तैयार सत्र सूचीबद्ध हैं।

get_engagement कोई अतिरिक्त टूल शुल्क नहीं

कैंपेन एंगेजमेंट डैशबोर्ड: प्रति-वक्ता भागीदारी प्रवृत्ति और कैश्ड क्रॉस-सत्र संश्लेषण (सारांश + मुख्य-घटना टाइमलाइन)।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने के लिए कैंपेन। आपके खाते के स्वामित्व में होना चाहिए।

उदाहरण आउटपुट

{
  "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
        }
      ]
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
sessionsarrayकैंपेन में प्रत्येक तैयार सत्र के लिए एक प्रविष्टि।
sessions[].recap_idstring (uuid)रीकैप/सत्र id।
sessions[].session_refstringसंक्षिप्त मानव संदर्भ, जैसे S01AB।
sessions[].session_atstring (ISO 8601)सत्र कब शुरू हुआ (UTC)।
playersarrayप्रत्येक पहचाने गए वक्ता के लिए एक प्रविष्टि।
players[].speakerstringवक्ता का प्रदर्शन नाम।
players[].pointsarrayइस वक्ता के लिए प्रति-सत्र मेट्रिक्स।
players[].points[].participation_pctnumberबातचीत का हिस्सा, 0–100।
players[].points[].turn_countintegerलिए गए बोलने के टर्न की संख्या।
players[].points[].talk_time_secondsintegerबोलने के कुल सेकंड।
players[].points[].word_countintegerबोले गए कुल शब्द।

get_credit_balance कोई अतिरिक्त टूल शुल्क नहीं

आपका Ask भत्ता प्रतिशत उपयोग के रूप में, साथ में हाल की गतिविधि फ़ीड। कच्ची भत्ता गणनाएँ MCP क्लाइंट्स को उजागर नहीं की जाती हैं।

उदाहरण इनपुट

{}

उदाहरण आउटपुट

{
  "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"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
usage.percent_usedinteger0 से 100 तक पूर्ण-संख्या Ask उपयोग।
recent_activityarrayनवीनतम-पहले फ़ीड (session-recorded, recap-ready, credit-ledger घटनाएँ)।
recent_activity[].typestringघटना का प्रकार।
मान: recap_ready | session_recorded | credit
recent_activity[].labelstringमानव-पठनीय सारांश।
recent_activity[].datestring (ISO 8601)घटना कब हुई।
recent_activity[].recap_idstring (uuid) | nullरीकैप/सत्र-संबंधित घटनाओं के लिए मौजूद।

get_memory_overview कोई अतिरिक्त टूल शुल्क नहीं

सबसे समृद्ध GM स्थितिजन्य-जागरूकता ब्लॉब: वितरण, एंगेजमेंट प्रवृत्ति + समग्र स्कोर, प्रति-सत्र भागीदारी, खेल के स्तंभ।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने के लिए कैंपेन।

उदाहरण आउटपुट

{
  "distribution": [
    {
      "label": "Roleplay",
      "pct": 58
    }
  ],
  "engagement": {
    "overall": {
      "score": 74,
      "label": "Playful / tense"
    }
  },
  "pillars": [
    "The green-eyed stranger",
    "The old inn",
    "The white moose hunt"
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
distributionarrayश्रेणी के अनुसार खेल का हिस्सा।
distribution[].labelstringश्रेणी का नाम।
distribution[].pctnumberहिस्सा, 0–100।
engagement.overall.scorenumber | nullसमग्र एंगेजमेंट स्कोर, 0–100।
engagement.overall.labelstring | nullगुणात्मक लेबल, जैसे "Playful / tense"।
pillarsstring[] | nullआवर्ती विषय / खेल के स्तंभ।

get_quest_log कोई अतिरिक्त टूल शुल्क नहीं

खिलाड़ी-दृश्य क्वेस्ट लॉग। GM के जोड़ और संपादन Discord /questlog के माध्यम से पार्टी के साथ साझा किए जाते हैं। GM रहस्य बाहर रखें।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "page": 1
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने के लिए आपका कैंपेन।
pageintegerवैकल्पिक, 1 से शुरू। प्रति पृष्ठ दस क्वेस्ट।

उदाहरण आउटपुट

{
  "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
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
questsarrayपहले सक्रिय/पुराने, फिर पूर्ण/त्यागे गए। आंतरिक संपादन मेटाडेटा और स्रोत लिंक बाहर रखे गए हैं।
quests[].idstring (uuid)क्वेस्ट पहचानकर्ता।
quests[].titlestringक्वेस्ट का शीर्षक।
quests[].objectivestringपार्टी का उद्देश्य।
quests[].statusstringactive, stale, completed या abandoned।
quests[].progressstringनवीनतम सहेजी गई प्रगति।
pageintegerवर्तमान पृष्ठ।
has_morebooleantrue होने पर अगला पृष्ठ अनुरोध करें।

get_open_hooks कोई अतिरिक्त टूल शुल्क नहीं

अनसुलझे कथा हुक्स — अगले सत्र के लिए क्या तैयार करें।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने के लिए कैंपेन।

उदाहरण आउटपुट

{
  "hooks": [
    {
      "text": "Nobody bypasses the Choosing.",
      "session_ref": "S01AB",
      "session_date": "2026-06-20"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
hooksarrayवर्तमान में खुले कथा हुक्स।
hooks[].textstringहुक का विवरण।
hooks[].session_refstringवह सत्र जहाँ हुक पेश किया गया था।
hooks[].session_datestring (YYYY-MM-DD)उस सत्र की तिथि।

get_previously_on कोई अतिरिक्त टूल शुल्क नहीं

कैंपेन के लिए पहले-क्या-हुआ संदर्भ, स्वामी-स्कोप्ड मेमोरी से निर्मित।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने के लिए कैंपेन।

उदाहरण आउटपुट

{
  "sections": [
    {
      "title": "Last time",
      "bullets": [
        "The party followed the white moose into the mist."
      ]
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
sectionsarrayरीकैप/संदर्भ के लिए कैंपेन मेमोरी अनुभाग।
sections[].titlestringअनुभाग शीर्षक।
sections[].bulletsstring[]संक्षिप्त मेमोरी बुलेट्स।

get_next_session_prep_pack कोई अतिरिक्त टूल शुल्क नहीं GM-केवल अगले-सत्र की तैयारी के लिए Recap Raven के prep कैश से सलाहकार। यह एक बार उत्पन्न हो सकता है, फिर अगली recap ingest होने तक कैश में रहता है। credit_cost: 0 लौटाता है।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)तैयारी करने वाला अभियान। आपके खाते के स्वामित्व में होना चाहिए।

उदाहरण आउटपुट

{
  "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"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
likely_directionsarrayGM के लिए संभावित अगली दिशाएँ।
threads_to_watchstring[]वे थ्रेड्स जिन्हें GM ध्यान में रखना चाह सकता है।
prep_suggestionsstring[]GM के लिए ठोस तैयारी संकेत।
credit_costnumberइस MCP टूल के लिए सदैव 0।
cache_policystringcached_until_next_recap_ingested।

get_chronicle कोई अतिरिक्त टूल शुल्क नहीं

प्रति-सत्र दृश्य मानचित्र — संरचित अभियान इतिहास।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने वाला अभियान।

उदाहरण आउटपुट

{
  "sessions": [
    {
      "recap_id": "…",
      "session_ref": "S01AB",
      "scenes": [
        "The market",
        "The hunt",
        "The banshee fight"
      ]
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
sessionsarrayप्रति सत्र एक प्रविष्टि।
sessions[].recap_idstring (uuid)recap/सत्र आईडी।
sessions[].scenesstring[]उस सत्र के लिए क्रमबद्ध दृश्य लेबल।

get_entity कोई अतिरिक्त टूल शुल्क नहीं

रिकॉर्ड किए गए सत्रों से प्राप्त खिलाड़ी-दृश्य इकाई बहीखाता; निजी अपलोड किया गया lore शामिल नहीं है। नाम के बिना यह रोस्टर लौटाता है। नाम या उपनाम के साथ यह मेल खाता कार्ड, इंटरैक्शन इतिहास, ट्रांसक्रिप्ट टर्न लिंक, संबंध, या अस्पष्टता उम्मीदवार लौटाता है।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "name": "Captain Vale"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने वाला अभियान।
namestring | omittedएकल कार्ड में हल करने के लिए इकाई नाम/उपनाम। रोस्टर के लिए छोड़ दें।

उदाहरण आउटपुट

{
  "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"
      }
    ]
  }
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
entitiesarray (roster mode)जब कोई नाम न दिया जाए: प्रत्येक इकाई के लिए {canonical_name, kind, aliases, search_aliases}।
entityobject | null (card mode)जब नाम दिया जाए: हल किया गया इकाई कार्ड, या null यदि नाम किसी से मेल नहीं खाता।
candidatesarrayसंभावित इकाई कार्ड जब कोई उपनाम अस्पष्ट हो; जब समाधान अद्वितीय हो तो खाली।
entity.idstring (uuid)स्थिर अभियान इकाई आईडी।
entity.canonical_namestringविहित इकाई नाम।
entity.kindstringइकाई प्रकार।
मान: pc | npc | creature | place | item | faction | deity | other
entity.aliasesstring[]प्रदर्शन उपनाम।
entity.search_aliasesstring[]केवल-पुनर्प्राप्ति उपनाम।
entity.interactionsarrayrecap और ट्रांसक्रिप्ट-टर्न लिंक के साथ आधारित इतिहास प्रविष्टियाँ।
entity.interactions[].recap_idstring (uuid)इंटरैक्शन वाला सत्र।
entity.interactions[].turn_startinteger | nullसाक्ष्य लिंक के लिए पहला ट्रांसक्रिप्ट टर्न।
entity.interactions[].turn_endinteger | nullसाक्ष्य लिंक के लिए अंतिम ट्रांसक्रिप्ट टर्न।
entity.interactions[].identity_matchstringconfirmed या suggested; suggested लिंक संभावित उपनाम मेल हैं, विहित पहचान दावे नहीं।
मान: confirmed | suggested
entity.relationsarrayसंबंध ग्राफ़ (सबसे पुराना → सबसे नया)।
entity.relations[].predicatestringजैसे located_in, ally_of, owns।
entity.relations[].recap_idstring (uuid)वह सत्र जो संबंध का साक्ष्य देता है।
entity.relations[].visibilitystringकिनारे की GM-दृश्यता। पुराना pre-witness डेटा dm_only किनारे रख सकता है — खिलाड़ियों को न दिखाएँ।
मान: player_known | dm_only
entity.relations[].is_currentbooleanस्टेटफुल प्रेडिकेट का सक्रिय भाग।

get_mechanics_events कोई अतिरिक्त टूल शुल्क नहीं

एक सत्र के लिए टर्न-एंकर्ड मैकेनिक्स इवेंट (हमले, मंत्र, क्षति, विश्राम, स्थितियाँ) — mechanics टैब के समान डेटा।

उदाहरण इनपुट

{
  "recap_id": "…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recap_idstring (uuid)पढ़ने वाला सत्र। आईडी खोजने के लिए list_sessions का उपयोग करें।

उदाहरण आउटपुट

{
  "recap_id": "…",
  "mechanics": [
    {
      "action": "attack",
      "actor": "Mira",
      "target": "Goblin",
      "damage_amount": 7,
      "damage_type": "slashing",
      "evidence_turn_start": 41,
      "evidence_turn_end": 41
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recap_idstring (uuid)वह सत्र जिनसे ये इवेंट संबंधित हैं।
mechanicsarrayटर्न-एंकर्ड मैकेनिक्स इवेंट।
mechanics[].actionstringइवेंट प्रकार।
मान: attack | spell_cast | short_rest | long_rest | consumable_used | condition_applied | ability_used | form_changed
mechanics[].actorstringकिसने कार्य किया।
mechanics[].evidence_turn_startintegerइवेंट का साक्ष्य देने वाला पहला टर्न।
mechanics[].evidence_turn_endintegerइवेंट का साक्ष्य देने वाला अंतिम टर्न।

get_lore_documents कोई अतिरिक्त टूल शुल्क नहीं

अभियान के लिए lore दस्तावेज़ों की सूची।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने वाला अभियान।

उदाहरण आउटपुट

{
  "documents": [
    {
      "id": "…",
      "title": "The Choosing",
      "updated_at": "2026-06-20"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
documentsarraylore दस्तावेज़।
documents[].idstring (uuid)दस्तावेज़ पहचानकर्ता।
documents[].titlestringदस्तावेज़ शीर्षक।

get_lore_document कोई अतिरिक्त टूल शुल्क नहीं

पूर्ण मुख्य भाग के साथ एकल lore दस्तावेज़।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "doc_id": "…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने वाला अभियान।
doc_idstring (uuid)लाने वाला lore दस्तावेज़।

उदाहरण आउटपुट

{
  "document": {
    "id": "…",
    "title": "The Choosing",
    "body": "…"
  }
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
document.idstring (uuid)दस्तावेज़ पहचानकर्ता।
document.titlestringदस्तावेज़ शीर्षक।
document.bodystringपूर्ण दस्तावेज़ मुख्य भाग (markdown)।

get_lexicon कोई अतिरिक्त टूल शुल्क नहीं

लेक्सिकॉन प्रविष्टियाँ (विहित नाम, उपनाम, प्रकार, विश्वास)।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पढ़ने वाला अभियान।

उदाहरण आउटपुट

{
  "entries": [
    {
      "id": "…",
      "canonical": "Sol’Thun",
      "type": "npc",
      "aliases": [
        "the archmage"
      ],
      "confidence": 0.92,
      "enabled": true
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
entriesarrayलेक्सिकॉन प्रविष्टियाँ।
entries[].canonicalstringविहित नाम।
entries[].typestringइकाई प्रकार।
मान: npc | place | item | creature | other
entries[].aliasesstring[]वैकल्पिक नाम / उपनाम।
entries[].confidencenumberनिष्कर्षण विश्वास, 0–1।
entries[].enabledbooleanक्या यह प्रविष्टि सक्रिय है।

get_transcript_window कोई अतिरिक्त टूल शुल्क नहीं

किसी सत्र के संग्रहीत टर्न का स्थितीय स्लाइस (कोई सामग्री खोज नहीं — केवल from/to टर्न इंडेक्स)।

उदाहरण इनपुट

{
  "recap_id": "…",
  "from": 0,
  "to": 20
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recap_idstring (uuid)पढ़ने वाला recap/सत्र। आईडी खोजने के लिए list_sessions का उपयोग करें।
fromintegerप्रारंभ टर्न इंडेक्स (समावेशी, डिफ़ॉल्ट 0)।
tointegerअंत टर्न इंडेक्स। प्रारंभ इंडेक्स से 50-टर्न विंडो के लिए छोड़ दें।

उदाहरण आउटपुट

{
  "recap_id": "…",
  "total_turns": 184,
  "from": 0,
  "to": 20,
  "turns": [
    {
      "index": 0,
      "t": "~00:01",
      "speaker": "GM",
      "text": "…"
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
total_turnsintegerसत्र में कुल टर्न।
fromintegerलौटाया गया प्रारंभ इंडेक्स।
tointegerलौटाया गया अंत इंडेक्स।
turnsarrayअनुरोधित विंडो में टर्न।
turns[].indexintegerसत्र में स्थितीय इंडेक्स।
turns[].tstringसापेक्ष टाइमस्टैम्प, जैसे ~00:01।
turns[].speakerstringवक्ता का प्रदर्शन नाम।
turns[].textstringबोला गया पाठ।

get_recap कोई अतिरिक्त टूल शुल्क नहीं

तैयार recap के लिए खिलाड़ी-सुरक्षित recap HTML। आर्टिफ़ैक्ट प्रकार सर्वर-स्वामित्व वाला है; कोई type इनपुट नहीं है।

उदाहरण इनपुट

{
  "recap_id": "…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recap_idstring (uuid)वह recap/सत्र जिसका खिलाड़ी-सुरक्षित recap लाना है।

उदाहरण आउटपुट

{
  "recap": {
    "recap_id": "…",
    "content_type": "player_recap_html",
    "html": "<!doctype html>…",
    "truncated": false
  }
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
recap.recap_idstring (uuid)recap/सत्र आईडी।
recap.content_typestringसदैव player_recap_html।
मान: player_recap_html
recap.htmlstringखिलाड़ी-सुरक्षित recap HTML।
recap.truncatedbooleantrue जब MCP प्रतिक्रिया सीमा ने HTML को छोटा किया।

search_transcript कोई अतिरिक्त टूल शुल्क नहीं

आपके अभियान ट्रांसक्रिप्ट टर्न पर सटीक कीवर्ड (पूर्ण-पाठ) खोज। सटीक वाक्यांश वाले टर्न उनके सत्र, वक्ता और टाइमस्टैम्प के साथ लौटाता है — कोई LLM नहीं, कोई embedding नहीं, कोई क्रेडिट नहीं।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "query": "white moose",
  "recap_id": "r1e2c3a4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)खोजने वाला अभियान।
querystringमिलान करने वाला सटीक वाक्यांश (ट्रांसक्रिप्ट पाठ के विरुद्ध पूर्ण-पाठ खोज)।
recap_idstring (uuid) | omittedवैकल्पिक सत्र सीमा। recap आईडी खोजने के लिए list_sessions का उपयोग करें।

उदाहरण आउटपुट

{
  "query": "white moose",
  "matches": [
    {
      "recap_id": "…",
      "speaker": "GM",
      "t": "~01:04",
      "text": "All you know is that it’s a white moose."
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
querystringसबमिट की गई query की प्रतिध्वनि।
matchesarrayसटीक वाक्यांश वाले ट्रांसक्रिप्ट टर्न, सर्वोत्तम मेल पहले।
matches[].recap_idstring (uuid)जिस recap/सत्र से मेल आया।
matches[].speakerstringमेल खाए टर्न का वक्ता।
matches[].tstringसापेक्ष टाइमस्टैम्प, जैसे ~01:04।
matches[].textstringमेल खाया ट्रांसक्रिप्ट पाठ।

search_facts कोई अतिरिक्त टूल शुल्क नहीं

आपके अभियान के दृश्य बीट्स पर कीवर्ड पूर्ण-पाठ खोज — वे सघन, बीट-दर-बीट सारांश जिन पर chat lane तर्क करता है। सटीक शब्दों (नाम, वस्तु, स्थान) के लिए सर्वोत्तम। बीट पाठ उसके दृश्य/सत्र संदर्भ और टर्न रेंज के साथ लौटाता है, ताकि एक एजेंट क्षण का पता लगा सके और अगले सटीक ट्रांसक्रिप्ट विंडो को खींच सके। कोई LLM नहीं, कोई embedding नहीं, कोई क्रेडिट नहीं। प्राकृतिक-भाषा, अर्थ-आधारित लुकअप के लिए search_corpus का उपयोग करें।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "query": "white moose hunt",
  "recap_id": "r1e2c3a4-…"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)खोजने वाला अभियान।
querystringबीट पाठ के विरुद्ध मिलान करने वाले कीवर्ड (पूर्ण-पाठ खोज)।
recap_idstring (uuid) | omittedवैकल्पिक सत्र सीमा। recap आईडी खोजने के लिए list_sessions का उपयोग करें।

उदाहरण आउटपुट

{
  "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
    }
  ]
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
matchesarrayमेल खाते बीट्स, सर्वोत्तम मेल पहले।
matches[].recap_idstring (uuid)जिस सत्र से बीट आया।
matches[].session_numberinteger | nullGM का सत्र संख्या, जब सेट हो।
matches[].session_titlestring | nullसत्र का शीर्षक, जब सेट हो।
matches[].scene_titlestring | nullजिस दृश्य से बीट संबंधित है उसका शीर्षक।
matches[].beat_indexintegerअपने दृश्य के भीतर बीट की स्थिति।
matches[].turn_startintegerबीट की विंडो का पहला टर्न (get_transcript_window में फ़ीड करें)।
matches[].turn_endintegerबीट की विंडो का अंतिम टर्न।
matches[].textstringबीट पाठ (1200 अक्षरों तक सीमित)।
matches[].truncatedbooleantrue जब बीट पाठ छोटा किया गया।

chat क्रेडिट का उपयोग करता है

तीन टूल मीटर किए गए chat क्रेडिट खर्च करते हैं। finder बनाम उत्तर सोचें: search_corpus (कम chat क्रेडिट) आपको सबसे मजबूत मेल संरचित साक्ष्य के रूप में देता है ताकि आपका अपना मॉडल उन पर तर्क कर सके — एक तेज़ finder, न कि विस्तृत इंडेक्स; ask_campaign_cited GM-उन्मुख प्रश्न का उत्तर शब्दशः ट्रांसक्रिप्ट उद्धरणों और टर्न उद्धरणों के साथ देता है; और ask_player_campaign_cited player lane के माध्यम से छोटा खिलाड़ी-उन्मुख संस्करण देता है। सभी आपके बैलेंस के अतिरिक्त प्रति API key दर-सीमित हैं।

search_corpus कम chat क्रेडिट का उपयोग करता है search_corpus उन प्रासंगिक अभियान क्षणों को ढूँढता है जिन्हें आप जानते भी नहीं कि आप ठीक-ठीक कैसे कहेंगे। यह सिमैंटिक सर्च और रीरैंकिंग का उपयोग करके सबसे मज़बूत साक्ष्य मिलान लौटाता है, जिसमें सारांश, सत्र संदर्भ और टर्न रेंज शामिल हैं। यह एक खोजक है, संपूर्ण सूचकांक नहीं: केवल शीर्ष मिलान ही वापस आते हैं, इसलिए खाली या कमज़ोर परिणाम को "कुछ भी मज़बूत सामने नहीं आया" मानें, न कि इस बात का प्रमाण कि कुछ मौजूद ही नहीं है। मिलानों का उपयोग उन वास्तविक शब्दों या नामों को खोजने के लिए करें जो तालिका ने उपयोग किए थे, फिर search_facts / search_transcript के साथ एक संपूर्ण मुफ़्त कीवर्ड खोज चलाएँ, या शब्दशः खंड के लिए सीधे टर्न रेंज को get_transcript_window में ले जाएँ। किसी प्रश्न के निश्चित, सत्यापित उत्तर के लिए — शब्दशः उद्धरण और साइटेशन — इसके बजाय ask_campaign_cited का उपयोग करें (अधिक महँगा, संरचित पंक्तियों के बजाय लिखित उत्तर)। खोज परिणामों से केवल-GM सामग्री को बाहर रखने के लिए player_safe: true सेट करें। यह प्रति खोज कम चैट क्रेडिट का उपयोग करता है, जो किसी भी पूर्ण हुई खोज पर लिया जाता है, भले ही उसमें कोई मिलान न हो।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "query": "when did the party first distrust the mayor?",
  "player_safe": false
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)खोजने के लिए अभियान।
querystringआप जो खोज रहे हैं उसका प्राकृतिक-भाषा विवरण।
player_safeboolean (default false)true होने पर, पुनर्प्राप्ति दृश्यता-फ़िल्टर की जाती है — केवल-GM, अनुमानित और अटकल स्मृति तथा GM-टाइप्ड लोर बाहर रखे जाते हैं। जो कुछ भी खिलाड़ी देखेंगे उसके लिए इसका उपयोग करें।

उदाहरण आउटपुट

{
  "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>"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
matchesarrayरैंक किए गए स्मृति मिलान, सर्वोत्तम मिलान पहले।
matches[].object_idstring (uuid)स्मृति ऑब्जेक्ट की id।
matches[].typestringस्मृति का प्रकार (जैसे plot_event, npc_fact)।
matches[].visibilitystringयह कौन जानता है। player_safe खोज पर यह केवल खिलाड़ी-दृश्य होता है।
matches[].recap_idstring (uuid) | nullवह सत्र जिससे स्मृति आई।
matches[].session_numberinteger | nullGM का सत्र संख्या, जब सेट हो।
matches[].session_titlestring | nullसत्र का शीर्षक, जब सेट हो।
matches[].turn_startinteger | nullसाक्ष्य विंडो का पहला टर्न (get_transcript_window में डालें)।
matches[].turn_endinteger | nullसाक्ष्य विंडो का अंतिम टर्न।
matches[].textstringस्मृति सारांश (1200 अक्षरों तक सीमित)।
matches[].truncatedbooleantrue जब सारांश को छोटा किया गया हो।
credit_costnumberइस पूर्ण हुई खोज के लिए लिए गए चैट क्रेडिट।

ask_campaign_cited चैट क्रेडिट का उपयोग करता है

अपने अभियान से GM-उन्मुख तथ्यात्मक प्रश्न पूछें और AI उत्तर प्राप्त करें — ऐप-में-चैट जैसा ही beats उत्तर इंजन, शब्दशः ट्रांसक्रिप्ट उद्धरणों और टर्न साइटेशन के साथ। GM चैट क्रेडिट का उपयोग करता है, ऐप-में-चैट के समान लागत। आपके बैलेंस के अतिरिक्त प्रति API कुंजी दर-सीमित।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "question": "Where did the hunter see the moose?"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पूछने के लिए अभियान।
questionstringआपका प्रश्न।
clarificationobject | omittedवैकल्पिक: इंजन द्वारा पूछे गए स्पष्टीकरण प्रश्न का उत्तर दें (केवल GM लेन)।
clarification.questionstringइंजन से स्पष्टीकरण प्रश्न।
clarification.answerstringउस प्रश्न का आपका उत्तर।
supersedesstring | omittedबदलने के लिए पूर्व उत्तर की संदेश id (केवल GM लेन)।

उदाहरण आउटपुट

{
  "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
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
answer_markdownstringसाइटेशन सहित उत्तर, इनलाइन [n] मार्करों के साथ।
citationsarrayप्रत्येक मार्कर के पीछे का साइटेशन मेटाडेटा।
quotesarrayसाक्ष्य के रूप में उपयोग किए गए शब्दशः ट्रांसक्रिप्ट उद्धरण।
confidence_labelstringमोटा विश्वास बैंड।
मान: high | medium | low
credit_costnumberइस उत्तर के लिए लिए गए क्रेडिट।
quotes[].turnintegerउद्धृत टर्न इंडेक्स।
quotes[].recap_idstring (uuid) | nullवह सत्र जिससे उद्धरण आया।

ask_player_campaign_cited चैट क्रेडिट का उपयोग करता है

खिलाड़ी-उन्मुख तथ्यात्मक अभियान प्रश्न पूछें और ट्रांसक्रिप्ट साइटेशन के साथ संक्षिप्त खिलाड़ी-सुरक्षित उत्तर प्राप्त करें। केवल-GM सामग्री को सर्वर-साइड खिलाड़ी लेन द्वारा बाहर रखा जाता है। खिलाड़ी चैट क्रेडिट का उपयोग करता है।

उदाहरण इनपुट

{
  "campaign_id": "a1b2c3d4-…",
  "question": "What do we know about the harbour?"
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
campaign_idstring (uuid)पूछने के लिए अभियान।
questionstringआपका प्रश्न।

उदाहरण आउटपुट

{
  "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
}

फ़ील्ड विवरण

फ़ील्डप्रकारविवरण
answer_markdownstringसाइटेशन सहित उत्तर, इनलाइन [n] मार्करों के साथ।
citationsarrayप्रत्येक मार्कर के पीछे का साइटेशन मेटाडेटा।
quotesarrayसाक्ष्य के रूप में उपयोग किए गए शब्दशः ट्रांसक्रिप्ट उद्धरण।
confidence_labelstringमोटा विश्वास बैंड।
मान: high | medium | low
credit_costnumberइस उत्तर के लिए लिए गए क्रेडिट।

खिलाड़ी-सुरक्षित उदाहरण

खिलाड़ी-उन्मुख बॉट या ओवरले बना रहे हैं? खिलाड़ी cited टूल का उपयोग करें ताकि उत्तर खिलाड़ी लेन से आए, जिसके दृश्यता-फ़िल्टर किए गए लेजर में कभी भी केवल-GM सामग्री शामिल नहीं होती:

{
  "tool": "ask_player_campaign_cited",
  "arguments": {
    "campaign_id": "a1b2c3d4-…",
    "question": "What do we know about the harbour?"
  }
}

आपका डेटा कहाँ जाता है

जब आप एक MCP क्लाइंट कनेक्ट करते हैं और इन टूल्स का उपयोग करते हैं, तो आपकी अभियान सामग्री आपके द्वारा चुने गए AI क्लाइंट को भेजी जाती है — उदाहरण के लिए ChatGPT, Claude या Gemini। उस प्रदाता की डेटा-उपयोग और प्रशिक्षण शर्तें आपके द्वारा उसे भेजी गई सामग्री पर लागू होती हैं, हमारी नहीं।

Recap Raven की नो-ट्रेनिंग गारंटी हमारी अपनी पाइपलाइन और हमारे द्वारा बताए गए मॉडल प्रदाताओं को कवर करती है। यह उस क्लाइंट को कवर नहीं कर सकती जिसे आप कनेक्ट करते हैं: एक को जोड़कर आप अपने अभियान डेटा के लिए एक नया प्रोसेसर चुन रहे हैं। कृपया उसे कनेक्ट करने से पहले उस क्लाइंट की शर्तें जाँचें, और जो कुछ भी खिलाड़ी देखेंगे उसके लिए ask_player_campaign_cited या खिलाड़ी-सुरक्षित खोज फ़िल्टर का उपयोग करें (और लोर और क्रॉनिकल जैसे केवल-GM पठन से बचें)।

प्रश्न या प्रतिक्रिया? देखें Recap Raven कैसे काम करता है या नीचे बॉट को आमंत्रित करें।

अपने अगले सत्र में Recap Raven चलाएँ

बॉट को आमंत्रित करें, अपना अभियान बनाएँ, और हर महीने मुफ़्त रीकैप प्राप्त करें।

अपने अगले सत्र में Recap Raven चलाएँ

कार्ड की आवश्यकता नहीं · केवल अपनी टेबल की सहमति से रिकॉर्ड करें · अपना डेटा कभी भी हटाएँ या निर्यात करें

प्रश्न या प्रतिक्रिया? हमारे Discord समुदाय से जुड़ें →

Discord वॉइस के लिए बनाया गया। हम आपके लिए पूरा सत्र कैप्चर करते हैं — बाद में लॉग इन करने की ज़रूरत नहीं, हमें भेजने के लिए कोई फ़ाइल नहीं, और कौन बोला इसका अनुमान लगाने की ज़रूरत नहीं। मेमोरी प्लान आपके संपादन-योग्य विश्व विकी को खेलते समय अद्यतन रखते हैं, जो क्या हुआ, किसने क्या कहा, खुले हुक्स, और आगे क्या तैयार करना है — इन सबके बारे में प्रश्नों के लिए तैयार।