find_wiki_articles
ChatGPTUse this when the user asks about a specific named entity, place, NPC, item, or lore reference in a campaign's wiki. Returns matching article previews. Each item has an articleId field — pass that string verbatim as articleId to get_wiki_entry to fetch the full article. Requires a campaignId obtained from list_campaigns. Do not use for session recaps or character profiles — use list_sessions or list_characters.
get_campaign
ChatGPTUse this when you need a single campaign's details (game system, recent session date, session count) and its active character roster. Requires a campaignId from list_campaigns.
get_character
ChatGPTUse this when you need a single character's full profile — background, personality traits, equipment, notable moments, and character development. Requires a campaignId (from list_campaigns) AND a characterId (from list_characters or the roster on get_campaign). Do not guess characterIds.
get_dm_prep
ChatGPTUse this when the calling user is preparing to run their next session as the DM. Returns the latest DM-prep package: session summary, character analysis, prep guidance, DM tools, feedback, and notes/reminders. DM only — returns an error if the calling user is not the campaign's Dungeon Master. Do not use to look up another DM's prep. Requires a campaignId from list_campaigns.
get_player_assist
ChatGPTUse this when the calling user wants their own post-session recap or feedback for their character in a campaign — quick recap, signature moves, intel, overheard fragments, milestones, next-episode choices. Always scoped to the calling user's own character. Do not use to view another player's assist content. Requires a campaignId from list_campaigns. Returns an error if the calling user has no character in that campaign.
get_session
ChatGPTUse this when you need the complete narrative summary of a specific session (not just the preview). Prefer this over get_session_transcript unless verbatim spoken dialogue matters. Requires a campaignId (from list_campaigns) AND a sessionId (from list_sessions). Do not guess sessionIds — always call list_sessions first.
get_session_transcript
ChatGPTUse this when you need the verbatim speaker-attributed dialogue from a session. Prefer get_session for narrative summaries — only call this when exact quotes or in-character wording matter. Requires a campaignId (from list_campaigns) AND a sessionId (from list_sessions). Do not guess sessionIds. Returns up to 200KB; longer transcripts are truncated with a marker.
get_wiki_entry
ChatGPTUse this when you already know the articleId of a wiki article and want its full body. Requires a campaignId (from list_campaigns) AND an articleId (from find_wiki_articles). Always run find_wiki_articles first to obtain the articleId — do not guess or invent it.
list_campaigns
ChatGPTUse this when you need any campaign data, or to determine which campaign the user is referring to. Lists all active campaigns the user is a member of, each with its campaignId. Required first step before any other tool. Takes no arguments.
list_characters
ChatGPTUse this when you need the cast of a campaign — name, class, race, and role for each active player character and the DM. Get characterIds here before calling get_character for full profiles. Requires a campaignId from list_campaigns.
list_sessions
ChatGPTUse this when you need recent session titles, dates, or sessionIds for a campaign. Returns processed (transcript-ready) sessions only, most recent first. Get sessionIds from here before calling get_session or get_session_transcript. Requires a campaignId from list_campaigns.