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

MythxEngine

MCPB · MYTHXENGINE-0.3.0.MCPB · 2 COMPONENTS

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

0 this week 55 Trust /100

Last scanned (10 hours ago)

Scores higher than 89% of MCPB servers

Category Entertainment and Games

Trust breakdown (7 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 → Why this is hard to score →

Supply Chain Security23
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs were checked across the 93 of 93 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability47
  • 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_condition" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 159 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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 Nov 26 +1
    • Stability: 0.97 → pass security
  • 1 Nov 26 0
    • Maintenance: unverified → pass ▲ functional
    • Stability: pass → 0.93 functional
  • 31 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 30 Oct 26 −1
    • Security disclosure: fail → unverified ▼ functional
    • Maintenance: pass → unverified ▼ functional
  • 26 Oct 26 +1
    • Stability: 0.97 → pass security
  • 25 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 23 Oct 26 0
    • Provenance: unverified → fail ▼ security
  • 22 Oct 26 0
    • Provenance: fail → unverified ▼ security
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 5 Nov 2026 · Analysed mcpb/https://github.com/protoLabsAI/mythx-mcp/releases/download/v0.3.0/mythxengine-0.3.0.mcpb@0.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Dependencies 93 packages
Packages resolved 93
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_combat_condition ~58

Add a condition to a combatant. Supports advantage/disadvantage and resistance/vulnerability effects.

NameTypeReqDescription
conditionobjectyes–
sessionIdstringyesSession ID
targetIdstringyesTarget combatant ID

No output schema declared.

No examples provided.

add_deadline ~143

Add a deadline/countdown to track. Specify either expiresIn (minutes from now) or expiresAt (specific time).

NameTypeReqDescription
descriptionstringyesWhat happens when deadline expires
expiresAtobject–Specific game time when deadline expires
expiresInnumber–Minutes from now until expiration
idstringyesUnique deadline ID
namestringyesDeadline name (e.g., 'Midnight')
onExpireFlagstring–Flag to set when deadline expires
sessionIdstringyesSession ID
warnOnApproachboolean–Warn when within 1 hour (default: true)

No output schema declared.

No examples provided.

add_evidence ~86

Record evidence discovered during investigation.

NameTypeReqDescription
connectsarray–Other evidence IDs this connects to
descriptionstringyesWhat was found
investigationIdstringyesInvestigation ID
isRedHerringboolean–GM flag: is this misleading?
sessionIdstringyesSession ID
sourcestringyesWhere/how it was found

No output schema declared.

No examples provided.

add_hypothesis ~70

Record a player theory about the mystery.

NameTypeReqDescription
investigationIdstringyesInvestigation ID
sessionIdstringyesSession ID
statementstringyesThe hypothesis (e.g., 'The butler did it')
supportingEvidencearray–Evidence IDs that support this

No output schema declared.

No examples provided.

add_item ~127

Add an item to a character's inventory. Can add from a world pack template (worldPackId + templateId) or create a custom item. Requires itemized inventory mode.

NameTypeReqDescription
autoEquipboolean–Automatically equip if slot is empty
characterIdstringyesCharacter ID
customItem––Custom item definition
quantityinteger–Quantity to add
sessionIdstringyesSession ID
templateIdstring–Item template ID from world pack
worldPackIdstring–World pack ID to get template from

No output schema declared.

No examples provided.

add_note ~47

Add a timestamped note to the session

NameTypeReqDescription
contentstringyesNote content
sessionIdstringyesSession ID
tagsarray–Tags for the note

No output schema declared.

No examples provided.

add_npc ~166

Register a fabricated NPC on the session. Returns a stable `npcId` to use in `generate_portrait` and `showDialogue`. Use BEFORE introducing any NPC that isn't already in the world pack — without this the NPC has no identity and their portrait can't be tracked across turns.

NameTypeReqDescription
attitudestring–Initial disposition toward the player
descriptionstringyesShort physical + role description (1-2 sentences)
motivationstring–What this NPC wants or fears (free-form, optional)
namestringyesNPC display name
narrativeRolestring–Story role this NPC plays
personalitystring–One-line personality summary (e.g. 'gruff but fair')
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

advance_dialogue ~128

Continue an NPC dialogue with the next line and response choices. Set endDialogue=true to end the conversation and return to narrative.

NameTypeReqDescription
endDialogueboolean–If true, end the dialogue and return to narrative stage
npcIdstringyesNPC ID (must match current dialogue)
npcNamestringyesNPC display name
portraitstring–Portrait URL or emoji (optional override)
responsesarray–New response choices for the player
sessionIdstringyesSession ID
textstringyesNPC's next dialogue line

No output schema declared.

No examples provided.

advance_time ~34

Advances time by N minutes

NameTypeReqDescription
minutesnumberyesMinutes to advance
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

advance_turn ~27

Move to the next player in turn order

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

analyze_scene ~88

Evaluate current scene for pacing issues. Helps identify when to cut or change direction. Based on the Alexandrian principle: 'Cut to the next meaningful choice.'

NameTypeReqDescription
currentActivitystringyesWhat's happening now
minutesInScenenumberyesReal-time minutes in scene
playerEnergystringyesGM's read on player engagement
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

apply_condition ~96

Add a condition to a character (narrative/exploration). For combat, use `add_combat_condition` instead so combat effects (advantage/disadvantage, modifiers) are picked up.

NameTypeReqDescription
characterIdstringyesCharacter receiving the condition
conditionobjectyesCondition to apply. duration is rounds (number), 'permanent', or 'until_rest'.
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

apply_damage ~59

Apply damage directly to a combatant (bypassing attack roll)

NameTypeReqDescription
amountnumberyesDamage amount (must be >= 0)
sessionIdstringyesSession ID
targetIdstringyesTarget combatant ID

No output schema declared.

No examples provided.

assemble_world_pack ~33

Combine all generated content into a complete WorldContentPack and save it.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

assign_character ~47

Link a player to a character

NameTypeReqDescription
characterIdstringyesCharacter ID to assign
playerIdstringyesPlayer ID
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

attack ~260

Perform an attack against a target. Supports advantage/disadvantage and damage type for resistance/vulnerability. Returns an envelope with `outcome` (five-tier) and a one-line `summary` as the headline; mechanical detail is in `result`, follow-up moves in `suggested_next`.

NameTypeReqDescription
advantageSourcesarray–Sources granting advantage (e.g., 'flanking', 'high ground')
attackerIdstringyesAttacking combatant ID
autoTickClockIdsarray–Clock IDs to automatically tick on partial/failure outcomes
damageTypestring–Damage type for resistance/vulnerability calculation
defenderIdstringyesDefending combatant ID
disadvantageSourcesarray–Sources granting disadvantage (e.g., 'darkness', 'cover')
effectLevelstring–Effect level (impact). limited=0.5× damage, standard=1× (default), great=1.5×. Applies to graze damage on partial hits too.
positionstring–Position (risk level): controlled, risky (default), desperate
sessionIdstringyesSession ID
weaponIndexnumber–Index of weapon to use (default 0)

No output schema declared.

No examples provided.

batch_generate ~84

After seeding, returns ALL generation prompts at once for parallel LLM execution. Execute each prompt with an LLM, then call save_generation_result for each result. This replaces calling individual generate_* tools one by one.

NameTypeReqDescription
phasesarray–Specific phases to generate (default: all)
sessionIdstringyesSession ID (must have a saved world seed)

No output schema declared.

No examples provided.

batch_lookup ~62

Look up multiple entities at once. More efficient than individual lookups. Returns summaries for each entity.

NameTypeReqDescription
includeSecretsboolean––
lookupsarrayyesList of entities to look up
worldPackIdstringyesWorld pack ID

No output schema declared.

No examples provided.

browse_shop ~135

Open a shop interface for the player. Loads items from world pack NPC/location data. Sets the stage to 'shop' so the player can browse, buy, and sell items.

NameTypeReqDescription
characterIdstringyesCharacter who is shopping
flavorstring–Flavor text describing the shop atmosphere
locationIdstring–Location ID to find merchants at (alternative to npcId)
npcIdstring–NPC ID of the merchant (looked up from world pack)
sessionIdstringyesSession ID
shopNamestring–Custom shop name (overrides NPC/location name)

No output schema declared.

No examples provided.

buy_item ~130

Purchase an item from a shop. Deducts gold from the character and adds the item to their inventory.

NameTypeReqDescription
characterIdstringyesCharacter who is buying
itemCategorystring–Item category (weapon, armor, consumable, misc)
itemDescriptionstring–Item description
itemIdstringyesWorld pack item ID to buy
itemNamestringyesDisplay name of the item
priceintegeryesPrice per unit in gold
quantityinteger–Quantity to buy
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

check_clock_triggers ~35

Check if any time-based clock stages have triggered based on current game time.

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

create_character ~183

Create a new character in the session

NameTypeReqDescription
abilitiesobject–Ability modifiers (-5 to +5)
archetypeIdstring–Archetype ID (optional)
armorstring|null–Armor name
backgroundstring–Character background
geararray–Other equipment
hpnumber–Starting HP
idstring–Unique character ID (auto-generated from the name when omitted)
initializeStressboolean–Initialize stress tracker for FitD-style mechanics
maxStressnumber–Maximum stress before trauma (default: 9)
namestringyesCharacter name
personalityarray–Personality traits
sessionIdstringyesSession ID
weaponsarray–Weapons in format 'Name (damage)' e.g. 'Sword (d8)'

No output schema declared.

No examples provided.

create_player ~106

Add a player (human or AI) to the session

NameTypeReqDescription
aiPersonaobject–AI persona configuration (for AI players)
characterIdstring–Character ID to link (optional)
controlTypestringyesHuman or AI controlled
idstringyesUnique player ID
namestringyesDisplay name
rolestringyesPlayer role (gm, pc, or spectator)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

create_portable_clue ~120

Create a revelation that can be discovered through multiple sources. The ultimate flexible clue.

NameTypeReqDescription
gmNotesstring–GM-only notes
informationstringyesWhat the clue reveals
prerequisitesobject––
revealsLeadTostring–Situation ID this clue points to
sessionIdstringyesSession ID
setsFlagsarray–Flags to set when revealed
significancestringyesHow important this clue is
suggestedSourcesarrayyesWays this clue can be discovered

No output schema declared.

No examples provided.

create_session ~75

Create a new game session, optionally associated with a world pack.

NameTypeReqDescription
namestringyesSession name
seednumber–RNG seed for determinism
sessionIdstringyesUnique session ID
worldPackIdstringyesWorld pack ID (required - every session must belong to a world)

No output schema declared.

No examples provided.

damage_character ~111

Deal damage to a character (narrative/environmental, not from combat resolution). Floors HP at 0 and reports defeat. For combat attacks, use `attack`. For combat-target damage, use `apply_damage`.

NameTypeReqDescription
amountintegeryesAmount of HP to subtract. Floored at 0.
characterIdstringyesCharacter to damage
reasonstring–Optional narrative reason (e.g. 'trap', 'falling')
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

delete_character ~37

Delete a character from the session

NameTypeReqDescription
characterIdstringyesCharacter ID to delete
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

delete_player ~37

Remove a player from the session

NameTypeReqDescription
playerIdstringyesPlayer ID to delete
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

delete_session ~28

Delete a session and all its data

NameTypeReqDescription
sessionIdstringyesSession ID to delete

No output schema declared.

No examples provided.

delete_world_pack ~27

Delete a saved world pack.

NameTypeReqDescription
packIdstringyesPack ID to delete

No output schema declared.

No examples provided.

end_combat ~33

End the current combat

NameTypeReqDescription
outcomestringyesCombat outcome
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

end_turns ~30

End turn-based coordination and return to free-form play

NameTypeReqDescription
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

equip_item ~92

Equip an item from inventory to an equipment slot. Automatically unequips existing item if slot is occupied (unless disabled).

NameTypeReqDescription
characterIdstringyesCharacter ID
itemIdstringyesItem instance ID to equip
sessionIdstringyesSession ID
slotstringyesEquipment slot to use
unequipExistingboolean–Automatically unequip existing item in slot

No output schema declared.

No examples provided.

expand_archetype ~61

Expand an archetype with additional detail (skill progression, party role, RP hooks). Returns a prompt for LLM execution.

NameTypeReqDescription
archetypeIdstringyesID of the archetype to expand
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

expand_location ~54

Expand a location with additional detail (areas, random encounters, treasure). Returns a prompt for LLM execution.

NameTypeReqDescription
locationIdstringyesID of the location to expand
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

expand_monster ~55

Expand a monster with additional detail (lair, variants, ecology). Returns a prompt for LLM execution.

NameTypeReqDescription
monsterIdstringyesID of the monster to expand
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

expand_npc ~57

Expand an NPC with additional detail (backstory, combat stats, quest hooks). Returns a prompt for LLM execution.

NameTypeReqDescription
npcIdstringyesID of the NPC to expand
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

export_world_pack ~63

Export a world pack to JSON and/or markdown format.

NameTypeReqDescription
formatstring–Export format (default: json)
packIdstring–Pack ID (if exporting saved pack)
sessionIdstring–Session ID (if exporting from session)

No output schema declared.

No examples provided.

flashback ~65

Execute a flashback to establish retroactive preparation. Costs 2 stress (default; world-overridable).

NameTypeReqDescription
characterIdstringyesCharacter using flashback
descriptionstringyesDescription of what the character prepared
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

frame_scene ~115

Generate an opening description for a new scene. Uses location data and tone to create engaging scene framing.

NameTypeReqDescription
focusOnarray–Elements to emphasize (optional)
layoutstring–Scene layout type (default: exploration)
locationIdstring–Location ID from world pack
locationNamestring–Location name if no ID
moodstring–Desired mood (optional)
sessionIdstringyesSession ID
timeOfDaystring–Time context (optional)

No output schema declared.

No examples provided.

generate_appendices ~51

Generate appendices (items, conditions, encounters) for a world pack.

NameTypeReqDescription
packIdstringyesWorld pack ID
typesarray–Which appendices to generate (default: all)

No output schema declared.

No examples provided.

generate_archetypes ~76

Generate playable character archetypes based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumber–Number of archetypes to generate (default: from world seed)
focusOnarray–Specific archetype seeds to focus on (by name)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_arcs ~75

Generate story arcs that group situations around central tensions. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumber–Number of arcs to generate (default: from world seed or 2)
focusOnarray–Specific arc seeds to focus on (by name)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_conditions ~49

Generate status effects and conditions based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumber–Number of conditions to generate
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_encounter ~117

Create an encounter matching the specified parameters. Uses available monsters from the world pack.

NameTypeReqDescription
difficultystringyesHow challenging the encounter should be
excludeMonsterIdsarray–Exclude these monsters
includeMonsterIdsarray–Force specific monsters
locationIdstring–Use location-appropriate content
sessionIdstringyesSession ID
themestring–Theme like 'ambush', 'negotiation', 'chase'
typestring–Type of encounter

No output schema declared.

No examples provided.

generate_encounters ~63

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

NameTypeReqDescription
countnumber–Number of encounters to generate
sessionIdstringyesSession ID
typesarray–Encounter types to include (at least one required)

No output schema declared.

No examples provided.

generate_engagement_hooks ~68

Generate personalized engagement hooks for a situation, location, or theme.

NameTypeReqDescription
locationIdstring–Location context
sessionIdstringyesSession ID
situationIdstring–Situation to generate hooks for
themestring–Thematic focus (optional)

No output schema declared.

No examples provided.

generate_factions ~54

Generate factions with relationships, resources, and territory based on the world seed. Returns a prompt for LLM execution.

NameTypeReqDescription
countnumber–Number of factions to generate
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_items ~62

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

NameTypeReqDescription
countnumber–Number of items to generate
kindsarray–Item kinds to include (at least one required)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

generate_locations ~69

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

NameTypeReqDescription
countnumber–Number of locations to generate (default: from world seed)
focusOnarray–Specific location seeds to focus on (by name)
sessionIdstringyesSession ID

No output schema declared.

No examples provided.

Install

How do I install the MythxEngine MCP server?

MythxEngine ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. The MCP registry declares no SHA-256 for this bundle, so there is no published digest to check the download against.

mcpb · mythxengine-0.3.0.mcpb

Download bundle

The MCP registry declares no SHA-256 for this bundle, so there is no published digest to check it against. Open it with an MCPB-capable host such as Claude Desktop.

Common questions

What is the MythxEngine MCP server?

MythxEngine is an MCP server listed in the public MCP registry as io.github.protoLabsAI/mythxengine. Tabletop RPG engine over MCP: dice, combat, stress, clocks, world generation, four bundled worlds. This page covers its MCPB bundle (https://github.com/protoLabsAI/mythx-mcp/releases/download/v0.3.0/mythxengine-0.3.0.mcpb).

Is the MythxEngine MCP server safe to use?

MythxEngine scores 55 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the MythxEngine MCP server expose?

MythxEngine exposes 158 tools: roll_dice, roll_test, roll_custom_test, get_character, create_character, and 153 more. Their descriptions and schemas cost roughly 12,266 tokens of context every time the server is loaded.

What licence is the MythxEngine MCP server under?

MythxEngine declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.