wow-coach
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Coach the player of World of Warcraft: Forever. The player may have several characters, and each has its own memory: start by calling list_characters and let the player choose one. Then read it with character_status, progress_summary and read_coach_notes (the player notes plus that character's journal), and pass the character's name to every tool. Update the journal with save_coach_notes (one per character) and the shared player notes with save_player_notes when you learn something worth remembering. For game facts (where an NPC is, what a vendor sells, who gives a quest, what it rewards) use read_wiki_page, or search_wiki to find the right page first, and cite the page link.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_charactersA | List the player's WoW characters, most recently played first, to choose from. Use this at the start of every coaching session, before anything else, so the player can choose which character to coach (or start a new one). Each line shows name-realm, level, race, class, zone, how long ago it was last played and the goal from that character's journal (or "no journal yet"). |
| character_statusA | Get the full current status of a WoW character as Markdown. Use this whenever the player asks what to do next, what to upgrade, or about their quests, talents, gear, gold or location. It covers level, XP, gold, location, bags, quests, talents, professions, gear and spells. Check the "saved ... ago" line: data is only as fresh as the last logout, /reload or /coach, and may be stale. Args: character: Character name ("Testchar") or "Name-Realm", case-insensitive. Leave empty for the most recently saved character. |
| recent_historyA | Get a character's recent events (level-ups, deaths, quests), newest first. Use this to see what the player has been doing lately, for example to explain a death or to track progress between coaching sessions. Args: character: Character name or "Name-Realm", case-insensitive. Leave empty for the most recently saved character. limit: Maximum number of events to return (default 20). |
| progress_summaryA | Summarize how a character has progressed lately, in plain words. Use this at the start of a session and whenever the player asks how they are doing: it shows when and where they last played, the play sessions of the last days, levels, XP, gold, quests and deaths, and what changed since the previous session. Compare it with the plan in the character's journal. Args: character: Character name or "Name-Realm", case-insensitive. Leave empty for the most recently saved character. days: How many days back to look (default 7). |
| read_coach_notesA | Read the coach's memory: the player notes plus one character's journal. Use this at the start of a coaching session, before giving advice, so you remember the player's preferences, this character's goals, choices, lessons already taught and what to do next. Both parts come back with clear headings. If the character has no journal yet, the answer says so: ask for their goal and create it with save_coach_notes. Args: character: Character name or "Name-Realm", case-insensitive. Leave empty for the most recently saved character. |
| save_coach_notesA | Save a character's journal, replacing everything saved in it before. Use this when you learn something worth remembering about THIS character: its spec and professions, goals and plans, progress, what you taught and what to do next. Because it replaces the whole journal, call read_coach_notes first and send the full updated text (Markdown, under 100 KB). Things about the player in general (not this character) belong in save_player_notes. Args: text: The complete new content of the journal. character: Character name or "Name-Realm", case-insensitive. Leave empty for the most recently saved character. |
| save_player_notesA | Save the player notes shared by all characters, replacing what was saved before. Use this when you learn how the player likes to be coached (detail level, click-by-click steps, Questie or not, solo or group, computer details). Because it replaces everything, call read_coach_notes first and send the full updated text (Markdown, under 100 KB). Notes about one character belong in save_coach_notes. Args: text: The complete new content of the player notes. |
| search_wikiA | Search the Warcraft Wiki and get matching page titles, one-line snippets and links. Use this when you do not know the exact page name, for example "trade supplies Brill" or "Camping 101". Then call read_wiki_page with the title you want. The wiki has pages for Forever-only content too. Always cite the link you used. Args: query: What to look for, in plain words. limit: How many results to return (1 to 10, default 5). |
| read_wiki_pageA | Read a Warcraft Wiki page as plain text, with its key facts listed first. Use this for NPC locations and coordinates, vendor stock and prices, quest givers and rewards, items, zones and game terms. Text is labelled when it only applies to Classic, Retail or Forever; Forever-only info is marked, and Forever is the game being played, so prefer it. Redirects are followed. If you do not know the exact title, call search_wiki first. Always cite the page link. Args: title: The page title, for example "Abigail Shiel" or "Camping 101: Cooking". section: Only return this section, for example "Sells" or "Rewards". Long pages list their section names so you can ask for one. max_chars: Longest answer to return (default 6000). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools have clearly distinct purposes, and the descriptions include explicit 'use this when' routing hints (e.g. search_wiki before read_wiki_page, read_coach_notes before save_coach_notes). The one soft spot is the trio character_status / progress_summary / recent_history, whose content overlaps (levels, XP, gold, quests, deaths appear in more than one) and an agent could pick the wrong one when a player asks 'how am I doing'.
All names are consistent snake_case and the wiki pair (search_wiki/read_wiki_page) and notes pair (read_coach_notes/save_coach_notes/save_player_notes) follow a clear verb_noun pattern. The deviation is that three tools (character_status, recent_history, progress_summary) are noun phrases with no verb, so the convention is mostly but not entirely uniform.
Nine tools is well within the sweet spot and every tool earns its place: informational reads (wiki search/page), character data (status, history, progress), and persistence (read/save coach notes, save player notes). No obvious redundancy or filler.
The surface covers the full coaching loop: choose a character, inspect current state, review history and progress, consult the wiki, and read/write both memory stores. Minor gaps only — there is no way to delete or reset notes/journals (only whole-text replace), and no tool for cross-character comparison or aggregate player-level progress.