Public
Like
mcp-mythic
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v4View latest version
A Mythic Game Master Emulator implementation as an MCP server. Perfect for solo RPGs or GM-less sessions.
| Tool | Description |
|---|---|
roll_fate | Ask a yes/no question with given odds |
get_chaos | Get current Chaos Factor (1-9) |
set_chaos | Set Chaos Factor to specific value |
adjust_chaos | Increment or decrement Chaos Factor |
Ask the oracle a yes/no question and set the odds:
| Odds | When to use |
|---|---|
impossible | It would break reality |
no_way | Extremely unlikely |
very_unlikely | Really doesn't fit |
unlikely | Probably not |
50_50 | Could go either way |
somewhat_likely | Leans toward yes |
likely | Probably yes |
very_likely | Almost certainly |
near_sure_thing | Only extreme circumstances prevent it |
sure_thing | Would be shocking if no |
has_to_be | Practically certain |
- Yes / No - Standard answers
- Exceptional Yes - Yes, and even better than expected
- Exceptional No - No, and things get worse
- Random Event - On doubles (11, 22, 33...) something unexpected happens!
The Chaos Factor (1-9) represents how out of control the story is:
- Low (1-3): Stable, predictable. "No" answers more likely.
- Medium (4-6): Balanced. Default starting point is 5.
- High (7-9): Chaotic, unpredictable. "Yes" answers more likely.
After each scene:
- Scene went as expected → decrease chaos
- Scene spiraled out of control → increase chaos
const response = await openai.responses.create({
model: "gpt-4o",
input: "Does the guard notice me sneaking past? (unlikely)",
tools: [{
type: "mcp",
server_label: "mythic",
server_url: "https://dcm31--fa6708b4eddd11f0ba2d42dde27851f2.web.val.run",
require_approval: "never",
}],
});
# Check chaos factor curl -X POST https://dcm31--fa6708b4eddd11f0ba2d42dde27851f2.web.val.run \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_chaos","arguments":{}}}' # Roll fate curl -X POST https://dcm31--fa6708b4eddd11f0ba2d42dde27851f2.web.val.run \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"roll_fate","arguments":{"odds":"likely"}}}' # Increase chaos after a wild scene curl -X POST https://dcm31--fa6708b4eddd11f0ba2d42dde27851f2.web.val.run \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"adjust_chaos","arguments":{"direction":"up"}}}'
You: Does the tavern have a back exit? (likely)
AI: [rolls fate] 🎲 Yes - Roll: 23 vs threshold 75
You: Is anyone watching it? (50/50)
AI: [rolls fate] 🎲 Exceptional No - Roll: 98 vs threshold 45
The exit is completely unguarded and hidden behind barrels.
You: That scene went smoothly, decrease chaos
AI: [adjusts chaos] 📉 Chaos Factor decreased: 5 → 4
- mcp-dice - Minimal MCP server example
- mcp-tester - Test any MCP server
- Mythic GME - Original game