PCSX2 MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectB | Connect to PCSX2's EE or IOP GDB server. PCSX2 pauses the VM on connect. |
| disconnectC | Disconnect one GDB target. |
| statusA | Return MCP-side connection status for both EE and IOP. |
| pcsx2_status | Ask PCSX2 for VM status, title, serial, and CRCs via qPcsx2. |
| pause | Interrupt/pause the VM through GDB Ctrl-C. |
| resumeC | Resume the VM. |
| stepC | Single-step one guest instruction and stop again. |
| resetC | Request a VM reset. |
| frame_advanceC | Advance the VM by one or more frames and pause. |
| save_state_slotC | Save a PCSX2 savestate slot synchronously. |
| load_state_slotC | Load a PCSX2 savestate slot. |
| save_state_file | Save a savestate to an explicit file path. |
| load_state_fileB | Load a savestate from an explicit file path. |
| wait_savestate_flushC | Wait until async savestate compression has flushed. |
| take_screenshotB | Save the current PCSX2 render frame to an image file, even if the emulator window is inactive or minimized. |
| get_registersC | Return guest registers for EE or IOP. |
| write_registerC | Overwrite one register by name or numeric index. |
| get_debug_registersC | Return full-width PCSX2 debug registers through qPcsx2. |
| write_debug_registerC | Write a full-width PCSX2 debug register by category and index. |
| set_pc | Set the current program counter through PCSX2's debug interface. |
| disassembleC | Disassemble guest instructions using PCSX2's native debugger disassembler. |
| evaluateC | Evaluate a PCSX2 debugger expression. |
| read_memoryC | Read guest memory as hex, base64, ascii, hexdump, or u32_array. |
| read_stringC | Read a null-terminated guest string. |
| write_memoryC | Overwrite guest memory with hex bytes. |
| overwrite_memory_from_fileB | Overwrite guest memory with bytes read from a local file. |
| dump_memoryC | Dump guest memory to a local file. |
| dump_regionB | Dump a named memory region. Use list_memory_regions for names. |
| list_memory_regionsA | List predefined dump regions. |
| find_patternC | Search guest memory for a hex pattern. Use ?? as a wildcard byte. |
| memory_diffA | Snapshot and diff a guest memory range. First call saves, second call compares and clears. |
| set_breakpointC | Set an exec/read/write/rw breakpoint or watchpoint. |
| remove_breakpointC | Remove a breakpoint or watchpoint. |
| list_breakpoint_kindsA | Return accepted breakpoint kind names and RSP types. |
| set_debug_breakpoint | Set a PCSX2 debugger breakpoint with an optional expression condition. |
| remove_debug_breakpointD | Remove a PCSX2 debugger breakpoint. |
| list_debug_breakpointsC | List PCSX2 debugger breakpoints and conditions. |
| set_watchpointC | Set a PCSX2 debugger memory watchpoint. |
| remove_watchpointC | Remove a PCSX2 debugger memory watchpoint. |
| list_watchpointsC | List PCSX2 debugger memory watchpoints. |
| clear_debug_breakpointsC | Clear all PCSX2 debugger breakpoints and watchpoints. |
| get_threads | List BIOS threads through PCSX2's debugger. |
| get_modules | List IOP modules through PCSX2's debugger. |
| get_backtrace | Return a PCSX2 debugger stack backtrace. |
| reload_patches | Reload PCSX2 cheats/patches from disk and refresh enabled lists. |
| list_cheats | List loaded cheat groups and their current runtime enabled state. |
| set_cheat | Enable or disable one named cheat group at runtime. |
| set_cheats_enabled | Enable or disable the global cheats switch at runtime. |
| sample_traceC | Take one timestamped register/memory sample. |
| start_traceC | Start background register/memory tracing, optionally writing JSONL records. |
| stop_trace | Stop a background trace. |
| list_tracesB | List active background traces. |
| start_rewind_captureB | Start periodic savestate capture into a ring buffer for rewind. |
| stop_rewind_capture | Stop a rewind capture worker but keep its files available. |
| list_rewind_captures | List active rewind workers and captured savestate files. |
| rewind_step | Load a previous rewind savestate. steps=1 loads the newest capture. |
| configure_gdb_settings | Write PCSX2.ini EmuCore GDB server keys for this fork. |
| list_pcsx2_processes | List running PCSX2 processes. |
| kill_pcsx2 | Terminate running PCSX2 processes. |
| launch_pcsx2 | Launch PCSX2, optionally with a game path. |
| get_log_path | Resolve PCSX2 log path. |
| tail_log_lines | Return trailing PCSX2 log lines. |
| get_errors | Return recent error/warning log lines. |
| list_register_names | Return GDB register names in order. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/snowyegret23/PCSX2_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server