dmcp (shawnrushefsky/dmcp) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 204 tools. No publisher has claimed this listing.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
shawnrushefsky
Source: Glama · also listed on github_code
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
create_abilityCreate an ability template or character-owned ability
get_abilityGet an ability by ID
update_abilityUpdate an ability's details
delete_abilityDelete an ability
list_abilitiesList abilities with optional filters
learn_abilityCopy a template ability to a character
use_abilityUse an ability (checks cooldown, sets new cooldown)
tick_ability_cooldownsReduce all ability cooldowns (call at end of round)
check_ability_requirementsCheck if a character meets an ability's requirements
store_audioStore an audio file for an entity. Provide either a URL to fetch from or a local file path. Useful for TTS-generated narration, character dialogue, or voice reference clips for voice cloning.
get_audioGet audio file metadata by ID
get_audio_file_pathGet the full local file path for an audio file. Useful when you need to pass the audio file to another tool (like TTS voice cloning).
get_audio_dataGet audio with base64 data included (for playback or processing)
list_entity_audioList all audio files for an entity
list_game_audioList all audio files in a game
list_voice_referencesList voice reference clips for voice cloning. These are audio samples that can be used as reference audio for TTS engines that support voice cloning (like Chatterbox, XTTS, CosyVoice).
get_character_voice_referencesGet all voice reference clips for a specific character, along with character info. Returns file paths ready to use with voice cloning TTS engines.
delete_audioDelete a stored audio file (removes file and database record)
set_primary_audioSet an audio file as the primary audio for its entity
update_audio_metadataUpdate metadata for an audio file (label, description, voice reference info)
batch_create_npcsCreate multiple NPCs at once. Use this when populating a location with several characters. Returns all created characters.
setup_combat_encounterComplete combat setup in one call: creates enemy NPCs and starts combat with all participants (enemies + players at location). Returns the ready-to-play combat state.
scene_transitionComplete scene transition in one call: moves specified characters to a new location and logs a narrative event. Perfect for moving between scenes.
get_character_contextGet comprehensive character context in one call: character details, inventory, and current location info. Reduces multiple tool calls to one.
get_location_contextGet comprehensive location context in one call: location details, present characters, and items here. Reduces multiple tool calls to one.
create_characterCreate a new character (PC or NPC). IMPORTANT: Call this IMMEDIATELY when introducing any named NPC in narrative, BEFORE continuing the scene. Every named character mentioned in dialogue or description should exist in the database.
get_characterGet character details
update_characterUpdate character attributes, skills, status, or voice
list_charactersList characters in a game. Use verbosity to control response size: 'minimal' for quick lookups (id/name only), 'standard' for common fields, 'full' for all details.
move_characterMove a character to a different location
modify_healthModify a character's health. Use mode 'damage' to reduce health, or 'heal' to restore health.
modify_conditionsAdd and/or remove conditions from a character in a single call. More efficient than separate add/remove calls.
get_character_by_nameLook up a character by name within a game. Supports exact, partial, and fuzzy matching. Returns the best match or an error if no reasonable match found.
list_character_summariesList characters with quick-identification summaries. Use this to help identify characters by appearance before looking up their full details. More efficient than loading full character data when you just need to identify who's who.
delete_characterDelete a character permanently. This is IRREVERSIBLE and will remove the character and all associated data.
rollRoll dice using standard notation
checkPerform a skill or ability check
contestOpposed check between two characters
start_combatInitialize a combat encounter
get_combatGet current combat state
get_active_combatGet the active combat for a game
next_turnAdvance to the next combatant's turn
add_combat_logAdd an entry to the combat log
remove_combatantRemove a character from combat (defeated, fled, etc.)
end_combatEnd a combat encounter
get_game_menuCALL THIS FIRST when player wants to play. Returns existing games (most recent first) or instructs to start new game if none exist.
create_gameCreate a new game with a setting and style
load_gameLoad an existing game by ID
list_gamesList all saved games
get_game_stateGet full current state overview for a game
delete_gameDelete a game and all its data. This is IRREVERSIBLE and removes all characters, locations, quests, and history.
update_gameUpdate a game's name, setting, or style
set_game_title_imageSet or remove the title image for a game
set_game_faviconSet or remove the favicon image for a game. This image will be displayed as the browser favicon when viewing this game in the web UI. Should be a square image (ideally 32x32 or larger).
get_interview_templateGet the full game setup interview template with all questions. Use this to guide players through game creation.
save_game_preferencesSave the player's game preferences after the interview
get_game_preferencesGet the saved game preferences for a game
list_image_generation_presetsList all image generation presets for a game. Presets allow different configurations for different use cases (character portraits, location art, items with text, etc.)
get_image_generation_presetGet a specific image generation preset by ID, including full configuration details
get_default_image_presetGet the default image generation preset for a game
create_image_generation_presetCreate a new image generation preset. Use different presets for different purposes: character portraits, location art, items with text, etc. Each preset can have its own tool, model, style, and workflow configuration.
update_image_generation_presetUpdate an existing image generation preset. Only specified fields are updated; others are preserved.
delete_image_generation_presetDelete an image generation preset. This is IRREVERSIBLE.
set_default_image_presetSet which image generation preset should be used by default
set_rulesStore a rule system for the game
get_rulesGet the current rule system for a game
update_rulesPartially update the rule system
get_display_configGet the current display configuration for the web viewer (colors, fonts, visibility options)
set_display_configSet display configuration for the web viewer. Can set any subset of options.
reset_display_configReset display configuration to defaults
apply_theme_presetApply a predefined theme preset globally. Available presets include genre-specific themes with appropriate colors, fonts, and styles.
list_theme_presetsList all available theme presets with their colors and styles
get_game_themeGet the display configuration for a specific game
set_game_themeSet display configuration for a specific game. Each game can have its own visual theme.
apply_game_theme_presetApply a predefined theme preset to a specific game. This allows different games to have completely different visual themes.
reset_game_themeRemove a game's custom theme, reverting to the global theme
auto_theme_gameAutomatically apply an appropriate theme to a game based on its genre and setting. Call this when creating a new game to set up the visual style.
create_factionCreate a new faction/organization
get_factionGet a faction by ID
update_factionUpdate a faction's details
delete_factionDelete a faction
list_factionsList factions in a game
update_faction_resourceUpdate a faction resource value. Use mode 'delta' to add/subtract, or 'set' to set an absolute value.
modify_faction_goalsAdd and/or complete faction goals in a single call. More efficient than separate add/complete calls.
modify_faction_traitsAdd and/or remove faction traits in a single call. More efficient than separate add/remove calls.
store_imageStore an image for an entity. Provide a URL and the image will be downloaded and stored locally.
get_imageGet image metadata by ID
get_image_dataGet image with base64 data included (for displaying or processing). Supports format conversion, resizing, and quality control.
list_entity_imagesList all images for an entity
list_entities_missing_imagesList all entities in a game that don't have a primary image. Useful for batch image generation workflows. Returns entities grouped by type with counts.
delete_imageDelete a stored image (removes file and database record)
set_primary_imageSet an image as the primary image for its entity
update_image_metadataUpdate label, description, or entity association of an image
build_image_promptBuild an image generation prompt from an entity's structured imageGen data. If a template exists for the entity type (or a specific templateId is provided), uses template-based building. Otherwise combines imageGen schema, notes/description, and preset defaults.
list_image_prompt_templatesList all image prompt templates for a game. Templates allow configurable prompt building from entity data using placeholder syntax.
get_image_prompt_templateGet full details of an image prompt template including the template strings.
create_image_prompt_templateCreate a new image prompt template for building prompts from entity data. Templates use placeholder syntax: - {{field.path}} - simple value substitution - {{field.path|"default"}} - value with default if missing - {{field.path|}} - value or empty string if missing Available fields include: name, no…
update_image_prompt_templateUpdate an existing image prompt template. Only specified fields are updated.
delete_image_prompt_templateDelete an image prompt template. This is IRREVERSIBLE.
create_itemCreate a new item. IMPORTANT: Call this IMMEDIATELY when introducing any item in narrative - whether found, given, purchased, or mentioned. Items must exist in the database before being referenced in dialogue or description.
104 further tools are not listed here. The complete surface is in the source.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
When Vitest UI server is listening, arbitrary file can be read and executed
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591
uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
DMCP_DB_PATHDMCP_HTTP_PORTTo use a different port, add -e =8080 and change -p 8080:8080.DMCP_LOG_LEVELXDG_DATA_HOMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
204/204 tools missing one or more hints — create_ability (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_ability (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); update_ability (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +201 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool inputs are validated
197/204 tool handlers declare input schemas (97%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool test coverage
Only 0/204 tools referenced in tests (0%)
Write tests that reference each tool by name so every tool has at least one test.
Production dependencies are patched
0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.25.1 (high), @modelcontextprotocol/sdk@1.25.1 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
1 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/shawnrushefsky/dmcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check