DuckStation MCP (snowyegret23/Duckstation_MCP) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 32 tools. No publisher has claimed this listing.
Enables debugging of PlayStation games through DuckStation by providing MCP tools for execution control, register access, memory inspection, breakpoints, process management, and log analysis.
Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. 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
snowyegret23
Source: Glama
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.
connectOpen a GDB RSP connection to DuckStation.
disconnectClose the GDB RSP connection. Does not affect the running emulator.
statusCurrent connection state: connected host/port and whether the emu is running.
pauseInterrupt the emulator CPU. Required for register inspection / single-step.
resumeResume emulation. Memory reads still work while running.
stepSingle-step one MIPS instruction. The CPU stays paused afterwards.
get_registersReturn MIPS registers as name→value. Emulator should be paused for stable values.
read_memoryRead ``length`` bytes at ``address``.
write_memoryWrite hex-encoded bytes to ``address``. Length inferred from the hex string.
dump_memoryDump ``length`` bytes at ``address`` into a binary file on disk.
dump_regionDump a named PSX memory region to a file.
set_breakpointSet a breakpoint. ``kind`` is one of: exec (default), sw, hw, read, write, rw.
remove_breakpointRemove a previously-set breakpoint of the same kind.
list_breakpoint_kindsReturn the accepted breakpoint kind strings and their GDB RSP numeric types.
get_log_pathReturn the resolved path to duckstation.log (override with ``path`` if custom).
tail_log_linesReturn the last ``lines`` lines of duckstation.log verbatim.
get_errorsReturn log entries filtered to Error (and optionally Warning) level.
filter_log_linesFlexible log filter. ``levels`` is a list of names from: error, warning, info, verbose, dev, debug, trace.
list_duckstation_processesList currently-running DuckStation processes (pid, name, exe path).
launch_duckstationLaunch DuckStation without activating its window.
list_duckstation_windowsList visible DuckStation windows without changing focus or window state.
capture_duckstation_windowCapture an inactive or covered DuckStation window without restoring or activating it.
take_screenshotCapture the emulated frame natively when GDB is connected, otherwise use inactive window capture.
configure_background_inputEnable background input and add keyboard plus optional XInput bindings.
background_input_statusReturn native, keyboard, and optional XInput backend state without activating DuckStation.
input_button_pressPress and release a button through native input, keyboard, or optional XInput without focus.
input_buttons_sendSet multiple button states through native input, keyboard, or optional XInput.
input_analog_sendSet an analog stick through native input, XInput, or configured keyboard directions.
input_resetRelease keyboard and/or virtual controller state without focusing DuckStation.
kill_duckstationTerminate all running DuckStation processes.
list_register_namesReturn MIPS register names in the order get_registers() uses.
list_memory_regionsReturn the PSX memory region presets known to dump_region.
Tool 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
32/32 tools missing one or more hints — connect (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); disconnect (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); status (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +29 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.
Tests exist
No test files found
Add tests that exercise each declared tool.
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/snowyegret23/duckstation_mcp)?variant=verified to the badge 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