Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

MythxEngine

NPM · @MYTHXENGINE/MCP-SERVER · 2 COMPONENTS · SCANNED AUG 3

Tabletop RPG engine over MCP: dice, combat, stress, clocks, world generation, four bundled worlds

+29 this week 73 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to protoLabsAI/mythx-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 22 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability44
  • 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 12305 tokens (~75/item across 164 items; 158 tools + 6 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @mythxengine/mcp-server

# add to Claude Code
claude mcp add protolabsai-mythxengine -- npx -y @mythxengine/mcp-server
# add to Codex CLI
codex mcp add protolabsai-mythxengine -- npx -y @mythxengine/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "protolabsai-mythxengine": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@mythxengine/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add protolabsai-mythxengine --command npx --arg -y --arg @mythxengine/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  protolabsai-mythxengine:
    command: "npx"
    args: ["-y", "@mythxengine/mcp-server"]
// mcp.json
{
  "mcpServers": {
    "protolabsai-mythxengine": {
      "command": "npx",
      "args": [
        "-y",
        "@mythxengine/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +67
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • The attested source repository moved: protoLabsAI/mythx-mcp security
    • Schema quality: unverified → good functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Schema quality: unverified → 0 functional
    • Dependency health: unverified → partial functional
    • Stability: unverified → 0.20 functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Licence: MIT functional
  • 31 Jul 26 −21
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 44

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@mythxengine/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
protoLabsAI/mythx-mcp
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/protoLabsAI/mythx-mcp/.github/workflows/release.yml@refs/tags/v0.3.0
Rekor log index:
2148358974
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:76d0217672d7803fdb6639fbbe58ea06794d12571f3cbf4ca78491690cbd6d7554fcae41ea3eb7cd6e8873ffa915ff4bd9d457a393bd78aa1cfb9c608
Discovery method:
attestation_endpoint
Dependencies 96 packages

96 packages in the resolved dependency tree · 96 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 158 exposed · ~12,266 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
generate_monsters ~77

Generate monsters based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumberNumber of monsters to generate
focusOnarraySpecific monster seeds to focus on (by name)
sessionIdstringyesSession ID
threatTiersarrayFilter by threat tiers

No output schema declared.

No examples provided.

generate_narrative ~46

Generate narrative guidance (opening scenes, plot hooks, conflicts) based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_npcs ~72

Generate NPCs based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumberNumber of NPCs to generate (default: from world seed)
focusOnarraySpecific NPC seeds to focus on (by name)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_rulebook ~45

Generate the core rulebook. Returns cached path if exists, or a prompt for LLM execution if generation is needed.

NameTypeReqDescription
forcebooleanForce regeneration even if cached

No output schema declared.

No examples provided.

generate_situations ~105

Generate situations (nodes) based on the world seed using Alexandrian node-based design. Returns a prompt for LLM execution. Can generate all at once or one at a time using count=1 with focusOn for better parallelism.

NameTypeReqDescription
countnumberNumber of situations to generate (default: from world seed or 5)
focusOnarraySpecific situation seeds to focus on (by name)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_world_books ~63

Generate book prompts for a world pack. Returns prompts for GM book, player book, bestiary, and campaign setting.

NameTypeReqDescription
booksarrayWhich books to generate (default: all)
packIdstringyesWorld pack ID to generate books for

No output schema declared.

No examples provided.

generate_world_seed ~136

Create the foundation for a new world from a campaign seed prompt. Returns a prompt for LLM execution.

NameTypeReqDescription
campaignSeedstringyesThe creative prompt for world generation (e.g., 'noir detective in a steampunk city')
rulesConfigobjectOptional rules configuration for custom abilities, mechanics, or tests
sessionIdstringyesSession ID
settingsobjectOptional world settings overrides
tierstringWorld size: small (6 archetypes, 4 locations), medium (6 archetypes, 6 locations), large (6 archetypes, 10 locations)

No output schema declared.

No examples provided.

get_active_clocks ~30

List all active situation clocks with their current status.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_ai_player_context ~43

Get full context for an AI player to make a decision

NameTypeReqDescription
playerIdstringyesAI player ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_arc ~52

Get full details for a specific story arc from a world pack. Includes structure, situations, and resolution patterns.

NameTypeReqDescription
arcIdstringyesArc ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_archetype ~47

Get full details for a specific archetype from a world pack.

NameTypeReqDescription
archetypeIdstringyesArchetype ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_available_leads ~74

List leads that are currently available for discovery. Filter by location, NPC, or prominence.

NameTypeReqDescription
locationIdstringFilter by location ID
npcIdstringFilter by NPC source ID
prominencestringFilter by prominence level
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_character ~35

Get a character's full details

NameTypeReqDescription
characterIdstringyesCharacter ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_combat_state ~26

Get the current combat state

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_condition ~42

Get full details for a specific condition from a world pack.

NameTypeReqDescription
conditionIdstringyesCondition ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_current_turn ~28

Get the current turn state and active player

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_discovered_leads ~29

List all leads that players have discovered.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_encounter ~43

Get full details for a specific encounter from a world pack.

NameTypeReqDescription
encounterIdstringyesEncounter ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_encounter_suggestions ~69

List encounters that fit the current context.

NameTypeReqDescription
limitnumberMax results
locationIdstringFilter by location
moodstringDesired mood
sessionIdstringyesSession ID
situationIdstringFilter by situation

No output schema declared.

No examples provided.

get_faction ~44

Get full details for a specific faction from a world pack.

NameTypeReqDescription
factionIdstringyesFaction ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_generation_status ~37

Check world generation progress. Shows completed, in-progress, and pending phases with entity counts.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_gm_guidance ~90

Get context-aware GM advice for common situations: stuck players, action resolution, pacing, tone, or NPC portrayal. Provides principles, suggestions, and relevant tool recommendations based on current session state.

NameTypeReqDescription
contextobjectAdditional context for guidance
sessionIdstringyesSession ID
typestringyesType of guidance: stuck, resolution, pacing, tone, npc

No output schema declared.

No examples provided.

get_investigation_status ~46

Get the current state of an investigation including evidence, hypotheses, and progress.

NameTypeReqDescription
investigationIdstringyesInvestigation ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_item ~42

Get full details for a specific item from a world pack.

NameTypeReqDescription
itemIdstringyesItem ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_location ~42

Get full details for a specific location from a world pack.

NameTypeReqDescription
locationIdstringyesLocation ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_monster ~43

Get full details for a specific monster from a world pack.

NameTypeReqDescription
monsterIdstringyesMonster ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_npc ~43

Get full details for a specific NPC from a world pack.

NameTypeReqDescription
npcIdstringyesNPC ID to retrieve
packIdstringyesPack ID

No output schema declared.

No examples provided.

get_npc_disposition ~65

Quick check: How does this NPC feel about the party?

NameTypeReqDescription
forCharacterIdstringGet attitude toward a specific PC (uses per-character tracking if available)
npcIdstringyesNPC ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_player ~34

Get a player's full details

NameTypeReqDescription
playerIdstringyesPlayer ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_relationship ~41

Get an NPC's current attitude and interaction history with the party.

NameTypeReqDescription
npcIdstringyesNPC ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_situation ~53

Get full details for a specific situation from a world pack. Includes leads, clock, complications, and outcomes.

NameTypeReqDescription
packIdstringyesPack ID
situationIdstringyesSituation ID to retrieve

No output schema declared.

No examples provided.

get_stress ~47

Get a character's current stress level, trauma status, and whether they can safely push.

NameTypeReqDescription
characterIdstringyesCharacter ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_time ~25

Returns current game time for session

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

get_unrevealed_clues ~77

List clues that haven't been discovered yet. Filter by significance, location, or NPC.

NameTypeReqDescription
locationIdstringFilter by location as suggested source
npcIdstringFilter by NPC as suggested source
sessionIdstringyesSession ID
significancestringFilter by significance

No output schema declared.

No examples provided.

heal_character ~97

Restore HP to a character. Capped at max HP. Use for any HP recovery (rest, spell, potion narration, GM fiat).

NameTypeReqDescription
amountintegeryesAmount of HP to restore. Capped at the character's max HP.
characterIdstringyesCharacter to heal
reasonstringOptional narrative reason (e.g. 'rest', 'spell')
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

import_leads_as_clues ~46

Convert situation leads into portable clues for flexible delivery.

NameTypeReqDescription
sessionIdstringyesSession ID
situationIdstringyesSituation ID to import leads from

No output schema declared.

No examples provided.

initialize_relationship ~91

Start tracking a relationship with an NPC.

NameTypeReqDescription
initialAttitudestringStarting attitude (default: neutral)
knowsarrayWhat the NPC knows about the party
npcIdstringyesNPC ID
npcNamestringyesNPC name for display
sessionIdstringyesSession ID
wantsarrayWhat the NPC wants from the party

No output schema declared.

No examples provided.

list_characters ~26

List all characters in a session

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

list_inventory ~58

List all items in a character's inventory. Shows equipped status, weight, and gold for itemized mode, or simple equipment list for narrative mode.

NameTypeReqDescription
characterIdstringyesCharacter ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

list_players ~25

List all players in a session

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

list_relationships ~37

List all tracked NPC relationships.

NameTypeReqDescription
attitudeFilterstringFilter by attitude level
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

list_sessions ~35

List all game sessions. Optionally filter by world pack ID.

NameTypeReqDescription
worldPackIdstringFilter by world pack ID

No output schema declared.

No examples provided.

list_world_packs ~16

List all saved world packs.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

load_session ~33

Load an existing game session by ID. Returns session state summary.

NameTypeReqDescription
sessionIdstringyesSession ID to load

No output schema declared.

No examples provided.

load_skill ~504

Load on-demand skill guidance into your context. Use when the current situation matches a skill's purpose (e.g. about to generate images, entering combat). The skill body is markdown — read it and apply it on this turn. Skill names come from the "Available skills" section of your system prompt. Available skills: - `combat-runner` — Tool-flow playbook for running combat encounters — when combat triggers, the start_combat → roll_initiative → attack → next_turn → end_combat sequence, position/effect calibration, autoTickClockIds, and the diegetic-narration rules for outcomes. Load when the player engages hostile contact, names tactical parameters (position/effect/target), or any combatant rolls into a multi-round encounter. - `companion-intelligence` — How to narrate and orchestrate AI-controlled party members — when to call get_ai_player_context, the four playstyle decision rules (tactical, roleplay, cautious, reckless), and the combat orchestration sequence (start_combat → roll_initiative → per-turn get_ai_player_context → submit_ai_player_action). Load when the active session has AI companions in the party. - `engine-flows` — Tool-flow playbooks for shop, rest, dialogue, and image generation — when each flow triggers, the exact tool sequence, the response-handling table, and the in-chat narration rules. Load when the player initiates buying/selling, requests a rest, an NPC enters a structured conversation, or you're about to render visuals. - `image-generation` — Visual layer guidelines — when to call frame_scene / generate_portrait / generate_item_art, how to write portrait & item descriptions for SDXL, the add_npc → generate_portrait → showDialogue contract for NPCs invented mid-session, and the silent-on-failure rule. Load when about to generate images, introduce an NPC, or reveal a notable item. - `player-interaction` — Structured-fork interaction tools — showDialogue / showShop / requestCombatAction / requestConfirmation. The scope of each (real player decisi…

NameTypeReqDescription
namestringyesThe skill name to load (the identifier from the skills index). Returns the full skill body as markdown for you to apply on this turn.

No output schema declared.

No examples provided.

load_world_pack ~29

Load a saved world pack by ID.

NameTypeReqDescription
packIdstringyesPack ID to load

No output schema declared.

No examples provided.

load_world_summary ~66

Load a compact GM reference for a world pack. Returns a token-efficient summary with entity IDs, names, and key stats. Use get_* tools (get_archetype, get_location, etc.) for full entity details.

NameTypeReqDescription
packIdstringyesPack ID to load

No output schema declared.

No examples provided.

lookup_rule ~166

Look up a rulebook entry by id (e.g. '5.6-trauma') for full mechanical detail, or list entries by tag (e.g. 'stress', 'combat') to find a specific entry. Use when you need engine math the system prompt doesn't cover (roll-under, custom tests, conditions catalog, trauma details, damage formula, world-overrides, etc.) — cheap (~1ms, no LLM call).

NameTypeReqDescription
entryIdstringSpecific entry id, e.g. '5.6-trauma' or '4.1-standard-test'. Returns the full entry.
tagstringTag to list matching entries, e.g. 'stress', 'combat', 'world-overrides'. Returns id+summary list to drill into.

No output schema declared.

No examples provided.

merge_augmentation ~60

Merge newly generated content into an existing world pack.

NameTypeReqDescription
autoLinkbooleanAuto-link content (default: true)
contentobjectyesNew content arrays to merge
packIdstringyesWorld pack ID to merge into

No output schema declared.

No examples provided.

modify_gold ~86

Add or subtract gold from a character's inventory. Use positive amount to add, negative to subtract. Requires itemized inventory mode.

NameTypeReqDescription
amountintegeryesAmount to add (positive) or subtract (negative)
characterIdstringyesCharacter ID
reasonstringReason for the gold change (for logging)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.