• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
dcm31

dcm31

mcp-mythic

Mythic GME MCP - Fate Chart roller and Chaos Factor tracker
Public
Like
mcp-mythic
Home
Code
3
README.md
H
main.ts
test.ts
Branches
1
Pull requests
Remixes
History
Environment variables
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.
Sign up now
Code
/
README.md
Code
/
README.md
Search
…
Viewing readonly version of main branch: v4
View latest version
README.md

Mythic GME MCP Server

A Mythic Game Master Emulator implementation as an MCP server. Perfect for solo RPGs or GM-less sessions.

Tools

ToolDescription
roll_fateAsk a yes/no question with given odds
get_chaosGet current Chaos Factor (1-9)
set_chaosSet Chaos Factor to specific value
adjust_chaosIncrement or decrement Chaos Factor

How It Works

The Fate Chart

Ask the oracle a yes/no question and set the odds:

OddsWhen to use
impossibleIt would break reality
no_wayExtremely unlikely
very_unlikelyReally doesn't fit
unlikelyProbably not
50_50Could go either way
somewhat_likelyLeans toward yes
likelyProbably yes
very_likelyAlmost certainly
near_sure_thingOnly extreme circumstances prevent it
sure_thingWould be shocking if no
has_to_bePractically certain

Results

  • 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!

Chaos Factor

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

Usage

With OpenAI Responses API

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", }], });

Direct Testing

# 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"}}}'

Example Session

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

See Also

  • mcp-dice - Minimal MCP server example
  • mcp-tester - Test any MCP server
  • Mythic GME - Original game
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.