wyt-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WYT_MCP_DB | No | Optional path to a custom SQLite database file. If not set, the server uses the default location in the user's platform data directory. | Platform-dependent user data directory |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| warmup_beginA | Start the permissions warm-up. Call FIRST at session start, then call every other wyt tool once with dummy arguments — each returns a no-op acknowledgment while the client collects its permission approvals — then warmup_end. No game state is read or written during warm-up. |
| warmup_endA | End the permissions warm-up. Tools act for real again after this. |
| new_gameA | Start a fresh save. player_class: warrior | mage | archer | ninja — each carries a backstory that seeds how the town receives you. If the player names a class not on this list, pass it through verbatim — the engine decides whether it exists. skip_intro=True (replays only) starts at loop 2 with a recap. |
| get_stateA | Full rehydration packet — call at session start; chat history is never load-bearing. |
| recapA | 'Previously on' — last loop's events, open wounds, who hates you now. For resuming in a fresh chat. |
| advance_loopA | End the day: the player goes to bed (cause='slept' — the only value you may pass; deaths advance the loop on their own). Returns the overnight packet to narrate waking up at the tavern. |
| lookA | Server-rendered map + status + legal exits. Always safe to resync. |
| moveC | Move through a known exit (town or dungeon). Entering an uncleared enemy room, or transiting a rough part of town, can start a fight. |
| descendB | Enter the dungeon at the mouth. 'You remember the way': any floor up to max_floor_cleared + 1. |
| talk_toA | The NPC packet: personality, sanity tier, disposition, gates, the memories that matter, and 2-3 status candidates you may apply. You improvise the dialogue FROM this — never against it. |
| ask_directionsB | A willing local points you toward one street you don't know yet. Costs nothing but standing — withdrawn or hating NPCs refuse. |
| request_chapel_keyA | Day 1 only, at the chapel, AFTER the player has killed what came through the inner seal. Roleplay Bren's question first — why do you want the deep? — then pass the player's actual answer and your honest read of it: sincerity = honest | uncertain | selfish | flippant. Honesty and admitted uncertainty earn the key; greed, bravado and mockery are refused, finally. Either way Bren remembers their words verbatim, forever. Judge fairly — this is the one place your judgment is the rule. |
| rapportA | Once per NPC per day: report whether the player genuinely spoke this
NPC's language — judged against the packet's |
| npc_rewardA | An NPC pays or gifts the player — the ONLY way gold or items ever pass from an NPC. The server caps total value (loop-scaled) and allows one reward per NPC per day. If this refuses, that is canon: the NPC genuinely cannot pay — narrate the inability (an IOU, an apology, a promise they can't keep). Never narrate payment without this tool. |
| give_itemC | The player hands an NPC an item, for keeps. They remember — and memories survive midnight. The server owns any authored reaction in gm_note; narrate from it, never past it. |
| apply_statusB | Pick one status from the candidates the server offered in talk_to — narrative fit is yours, eligibility is not. |
| record_eventA | Log a scene that should be remembered. witnesses: npc keys who saw it. tone (optional): cruel | despairing | kind — this is the one place your judgment feeds the rules. Use it honestly. |
| shopC | A merchant's shelves, priced for today's loop and their state of mind. |
| buyC | Buy from a merchant's current stock. Server owns the math. |
| sellB | Sell to a merchant. The right counter pays half value; the wrong one a quarter, if it pays at all. |
| fenceC | At a den: the crew sells the town's own stolen goods back, at extortion prices. No argument lists the goods; pass item_key to buy. |
| attackA | Start a fight. target: an npc key, or 'den_keeper' at a den to raid it. mode='auto' fast-forwards trash; dangerous foes refuse auto and demand round-by-round (combat_action). |
| combat_actionC | One round: strike | ability | use_item | defend | flee. The server resolves your action and the enemy's answer. |
| use_itemC | Use a consumable outside combat (potions, draughts, the town map). |
| equipB | Equip gear. One weapon, one armor, one accessory. |
| spend_pointA | Spend one banked level-up point: str | def | spd | mag. Always ask the player where it goes — it's their character. |
| restD | Take what the place you're standing in has to give. The tavern is the only reliable one — while Tobias holds. |
| take_artifactA | Only works standing in the artifact chamber. This is the endgame trigger — narrate what the packet says, nothing more. |
| claim_artifactC | At the reveal: keep it for yourself instead. The loop changes hands. |
| give_artifactA | At the reveal: place it in his waiting hand. He has waited a very long time for exactly this. Requires the player's explicit, unmistakable choice — never infer it from an ambiguous line; if unsure, ask, in the fiction. This ends the game. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| start_game | The game-master persona for Watch Your Toes. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MLMecham/wyt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server