Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI โ†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE โ†— (opens in a new tab)
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐ŸŽฎ Gaming
  3. MCP Retroarch
MCP Retroarch logo
Health: ActiveRecent health check succeeded.Last checked 9/9/2026, 4:18:07 PM

MCP Retroarch

User RatingsBe the first to rate and review this MCP server!
View Repository3 GitHub StarsTotal stargazers on GitHub for the source repository (3 stars).Visit Website
gamingretroarchemulationmemorysavestate

MCP server to control RetroArch via its Network Control Interface for memory, state, screenshot, pause, reset, and messages.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Automated check passedโ€” started and listed 17 tools correctly (3d ago).
Manual Client & Custom JSON ConfigExpand JSON โ–พ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "dmang-dev-mcp-retroarch": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-retroarch"
      ]
    }
  }
}

๐Ÿ’ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Tool Schemas (17) Directory Badge Claim listing Alternatives๐ŸŽฎ More in Gaming

Overview

This MCP server connects AI agents to RetroArch's Network Control Interface over UDP, enabling control of any libretro core. It supports memory read/write, save/load states, screenshots, pause/frame advance, reset, and on-screen messages. It is suitable for automating gameplay, testing, or tooling around RetroArch emulation sessions.

Use cases

โ€ขRead and write emulator memory for analysis or automation
โ€ขSave and load game states programmatically
โ€ขCapture screenshots during gameplay
โ€ขPause, frame advance, or reset the running game
โ€ขDisplay on-screen notifications within RetroArch

Key features

โ€ขMemory read/write via system memory map or CHEEVOS fallback
โ€ขSave/load states with current or explicit slots
โ€ขScreenshot saving to RetroArch's configured directory
โ€ขPause toggle and single frame advance controls
โ€ขHard reset of the running game
โ€ขOn-screen message display

Capabilities & Tool Schemas (17) ~8.7k tokensApproximate context cost of this serverโ€™s tool schemas (~4 chars/token), before any tool is called. Actual usage depends on your client and model.Verified live Verified liveCaptured by calling this serverโ€™s live tools/list endpoint.

Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Retroarch.

retroarch_ping

PURPOSE: Verify connectivity to RetroArch's Network Control Interface and return the running RetroArch version string. USAGE: Call once at start-of-session before issuing other tool calls โ€” if it succeeds, the UDP transport is up and other tools should reach RetroArch. Use retroarch_get_status afterwards to confirm a game is loaded (ping succeeds even when RetroArch is sitting at the menu with no content). BEHAVIOR: No side effects โ€” pure liveness probe. Transport: RetroArch's Network Control Interface (NCI) over UDP (default 127.0.0.1:55355, requires `network_cmd_enable = true` in retroarch.cfg). Times out after ~5 seconds with a clear error if RetroArch isn't running, has Network Commands disabled, is bound to a different host/port, or a firewall is blocking UDP 55355. RETURNS: Single line 'OK โ€” RetroArch VERSION', e.g. 'OK โ€” RetroArch 1.20.0'.

retroarch_get_status

PURPOSE: Report whether RetroArch is currently playing or paused, plus the loaded system, game basename, and CRC32. USAGE: Call after retroarch_ping to learn what (if anything) is loaded; before retroarch_pause_toggle to decide whether the toggle will pause or unpause; before retroarch_frame_advance (which only steps when paused); whenever you need to confirm the previous fire-and-forget control command (pause/reset/load_state) actually took effect. For RetroArch settings (paths, flags) use retroarch_get_config instead โ€” this tool only reports run-state and the loaded ROM identity. BEHAVIOR: No side effects โ€” pure read of emulator status via the NCI's GET_STATUS command. Returns 'No content loaded' (state=contentless) when RetroArch is sitting at the menu with no ROM. Returns an error on UDP timeout (RetroArch not reachable). RETURNS: When content is loaded: four lines 'State: playing|paused', 'System: SYSTEM_ID', 'Game: BASENAME', 'CRC32: HEX or (none reported)'. When no content: literal 'No content loaded'.

retroarch_get_config

PURPOSE: Read a single RetroArch configuration parameter by name via the NCI GET_CONFIG_PARAM command. USAGE: Discover RetroArch's filesystem paths and selected settings without parsing retroarch.cfg yourself. For run-state (playing/paused, loaded ROM) use retroarch_get_status instead โ€” this tool only reads static config. RetroArch whitelists which params are exposed; non-whitelisted names error even if they exist in retroarch.cfg. `screenshot_directory` is NOT exposed โ€” see retroarch_screenshot. BEHAVIOR: No side effects โ€” pure read. Transport: RetroArch's Network Control Interface (NCI) over UDP (default 127.0.0.1:55355, requires `network_cmd_enable = true` in retroarch.cfg). Errors if the param isn't in RetroArch's NCI whitelist, the value contains characters that break the line-based reply parser (rare โ€” embedded newlines or null bytes), or the UDP query times out. RETURNS: 'NAME = VALUE' where VALUE is the raw string as stored in retroarch.cfg (paths unquoted, booleans as 'true'/'false', integers as decimal).

retroarch_read_memory

PURPOSE: Read up to 4096 bytes from emulated memory via the libretro core's system memory map (READ_CORE_MEMORY) and return them as a hex dump. USAGE: Preferred memory-read tool when the loaded core advertises a memory map (most modern cores do). If it returns 'no memory map defined', fall back to retroarch_read_ram which uses the CHEEVOS address space. To poke a value back, pair with retroarch_write_memory at the same address. The classic two-snapshot RAM-hunt workflow uses this: snapshot before a known change, snapshot after, diff for matching deltas. Maximum 4096 bytes per call (NCI line-length limit); for larger reads, batch in 4 KiB chunks. BEHAVIOR: No side effects โ€” pure read. Transport: RetroArch's Network Control Interface (NCI) over UDP (default 127.0.0.1:55355, requires `network_cmd_enable = true` in retroarch.cfg). Reads work whether emulation is paused or running. Returns an error if the loaded core doesn't expose a memory map ('no memory map defined'), the address is outside any core descriptor, length < 1, length > 4096, or the UDP query times out. RetroArch may return FEWER bytes than requested if the read crosses a memory-region boundary โ€” the response reports the actual count. RetroArch exposes TWO distinct memory APIs with different address spaces: โ€ข READ_CORE_MEMORY / WRITE_CORE_MEMORY (used by retroarch_read_memory / retroarch_write_memory): goes through the libretro core's system memory map. Preferred when the loaded core advertises a memory map (most modern cores do). Errors with 'no memory map defined' if the loaded core doesn't. โ€ข READ_CORE_RAM / WRITE_CORE_RAM (used by retroarch_read_ram / retroarch_write_ram): uses the achievement (CHEEVOS) address space. Works even when no core memory map is defined, but addresses follow CHEEVOS conventions, not the system bus. Use as a fallback when read_memory returns 'no memory map defined'. Both APIs depend on the loaded core's exposed mapping โ€” addresses you used on a different core / system will NOT carry over. RETURNS: Header line 'ADDR_HEX [N bytes]:' followed by space-separated 2-digit uppercase hex bytes.

retroarch_read_ram

PURPOSE: Read up to 4096 bytes from emulated memory via the achievement (CHEEVOS) address space (READ_CORE_RAM) and return them as a hex dump. USAGE: Fallback memory-read tool โ€” use when retroarch_read_memory returns 'no memory map defined' (older cores or those without an exposed system memory map can still respond to the older CHEEVOS read API). To poke back, pair with retroarch_write_ram at the same CHEEVOS address. Maximum 4096 bytes per call (NCI line-length limit). BEHAVIOR: No side effects โ€” pure read. Transport: RetroArch's Network Control Interface (NCI) over UDP (default 127.0.0.1:55355, requires `network_cmd_enable = true` in retroarch.cfg). Reads work whether emulation is paused or running. Returns an error if the address is invalid for the CHEEVOS space, length < 1, length > 4096, or the UDP query times out. Like read_memory, RetroArch may return fewer bytes than requested at memory-region boundaries. RetroArch exposes TWO distinct memory APIs with different address spaces: โ€ข READ_CORE_MEMORY / WRITE_CORE_MEMORY (used by retroarch_read_memory / retroarch_write_memory): goes through the libretro core's system memory map. Preferred when the loaded core advertises a memory map (most modern cores do). Errors with 'no memory map defined' if the loaded core doesn't. โ€ข READ_CORE_RAM / WRITE_CORE_RAM (used by retroarch_read_ram / retroarch_write_ram): uses the achievement (CHEEVOS) address space. Works even when no core memory map is defined, but addresses follow CHEEVOS conventions, not the system bus. Use as a fallback when read_memory returns 'no memory map defined'. Both APIs depend on the loaded core's exposed mapping โ€” addresses you used on a different core / system will NOT carry over. RETURNS: Header line 'ADDR_HEX [N bytes, CHEEVOS]:' followed by space-separated 2-digit uppercase hex bytes.

retroarch_write_memory

PURPOSE: Write a byte sequence to emulated memory via the libretro core's system memory map (WRITE_CORE_MEMORY). USAGE: Preferred memory-write tool when the loaded core advertises a memory map. Use for cheats, debug pokes, and game-state mutations (give a player N lives, unlock a flag, install a cheat table). If it returns 'no memory map defined', fall back to retroarch_write_ram. Maximum 4096 bytes per call (NCI line-length limit); for larger writes, batch in 4 KiB chunks. To establish a rollback point first, use retroarch_save_state_current. BEHAVIOR: DESTRUCTIVE: overwrites N bytes starting at `address` with no undo (snapshot via retroarch_save_state_current first if you need rollback). Disables RetroArch's hardcore mode for the rest of the session (RetroArch silently flips this flag when any memory-write NCI command is used). UNLIKE most NCI commands, this one DOES return a count โ€” RetroArch replies with the number of bytes actually written, which may be less than requested if a read-only descriptor is hit mid-write (writes still apply up to that boundary). Direct memory write โ€” bypasses MBC/mapper/DMA semantics. Transport: RetroArch's Network Control Interface (NCI) over UDP (default 127.0.0.1:55355, requires `network_cmd_enable = true` in retroarch.cfg). Returns an error if the loaded core doesn't expose a memory map, the address is invalid, the byte array is empty or > 4096, or the UDP query times out. RetroArch exposes TWO distinct memory APIs with different address spaces: โ€ข READ_CORE_MEMORY / WRITE_CORE_MEMORY (used by retroarch_read_memory / retroarch_write_memory): goes through the libretro core's system memory map. Preferred when the loaded core advertises a memory map (most modern cores do). Errors with 'no memory map defined' if the loaded core doesn't. โ€ข READ_CORE_RAM / WRITE_CORE_RAM (used by retroarch_read_ram / retroarch_write_ram): uses the achievement (CHEEVOS) address space. Works even when no core memory map is defined, but addresses follow CHEEVOS conventions, not the system bus. Use as a fallback when read_memory returns 'no memory map defined'. Both APIs depend on the loaded core's exposed mapping โ€” addresses you used on a different core / system will NOT carry over. RETURNS: Single line 'Wrote N bytes โ†’ ADDR_HEX' where N is RetroArch's reported actual byte count.

Documentation Overview

mcp-retroarch

npm version npm downloads CI License: MIT Snyk Socket Bundlephobia npmgraph

An MCP server that bridges Claude (and any other MCP client) to RetroArch via its built-in Network Control Interface (UDP, port 55355).

Works against any libretro core (NES, SNES, Genesis, GB/GBC/GBA, PSX, N64, etc.) โ€” give the model memory r/w, save-state automation, screenshot, pause / frame-advance / reset, and on-screen messages.

What it can do

CapabilityAvailable?Notes
Memory read / writeโœ…Two paths: READ_CORE_MEMORY (system memory map, preferred) and READ_CORE_RAM (CHEEVOS, fallback)
Save / load stateโœ…Current slot or explicit slot for load; save is current-slot-only (NCI limitation)
Screenshotโœ…Saved to RetroArch's configured screenshot directory
Pause / frame advanceโœ…PAUSE_TOGGLE flips state; FRAMEADVANCE steps one frame
Resetโœ…Hard-reset the running game
On-screen messageโœ…Useful for "look here" cues during scripted runs
Game infoโœ…Title, system, CRC32
Game-pad inputโŒNCI doesn't expose this. RetroArch has a separate "Remote RetroPad" core on UDP port 55400 that does, but it requires loading that specific core (you can't drive an existing emulation core through it). Not in scope for v0.1.0.

If you need game-pad input on Game Boy Advance specifically, see mcp-mgba. For PCSX2 (memory + savestate only, no input/screenshot), see mcp-pine.

How it works

Code
+----------------+    stdio     +-----------------+   UDP :55355  +-----------------+
|   MCP client   |   JSON-RPC   |  mcp-retroarch  |  text proto   |    RetroArch    |
|  (Claude etc)  | -----------> |    (Node.js)    | ------------> |  (NCI enabled)  |
+----------------+              +-----------------+               +-----------------+

Requirements

  • RetroArch (any recent version) with Network Commands enabled
  • Node.js 22+

Install

Option A โ€” install from npm (recommended)

Terminal
npm install -g mcp-retroarch

Option B โ€” npx (no install)

Terminal
npx -y mcp-retroarch

Option C โ€” clone and develop

bash
git clone https://github.com/dmang-dev/mcp-retroarch
cd mcp-retroarch
npm install

Enable RetroArch's Network Control Interface

Either:

  • GUI: Settings โ†’ Network โ†’ Network Commands โ†’ ON, then confirm Network Cmd Port is 55355 (the default)
  • Or via retroarch.cfg:
    ini
    network_cmd_enable = "true"
    network_cmd_port   = "55355"
    

Then launch any libretro core + game. The NCI is always-on once enabled โ€” no script to load.

Register with your MCP client

Claude Code

Terminal
claude mcp add retroarch --scope user mcp-retroarch

Verify:

Terminal
claude mcp list
# retroarch: mcp-retroarch - โœ“ Connected

Claude Desktop

Edit claude_desktop_config.json:

PlatformPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
config.json
{
  "mcpServers": {
    "retroarch": {
      "command": "mcp-retroarch"
    }
  }
}

Restart Claude Desktop after editing.

Configuration

Env varDefaultPurpose
RETROARCH_HOST127.0.0.1UDP destination host
RETROARCH_PORT55355UDP port (must match network_cmd_port in retroarch.cfg)

Tools

ToolDescription
retroarch_pingVerify reachability โ€” returns RetroArch version
retroarch_get_statusState (playing/paused), system, game, CRC32
retroarch_get_configRead named RetroArch config values (e.g. savestate_directory)
retroarch_read_memory / retroarch_write_memoryMemory r/w via system memory map
retroarch_read_ram / retroarch_write_ramMemory r/w via CHEEVOS address space (fallback when no memory map)
retroarch_pause_toggleToggle pause state
retroarch_frame_advanceStep one frame (only effective while paused)
retroarch_resetHardware-reset the running game
retroarch_screenshotSave a screenshot to RetroArch's screenshot directory
retroarch_show_messageDisplay a notification on the RetroArch window
retroarch_save_state_currentSave to currently-selected slot
retroarch_load_state_currentLoad from currently-selected slot
retroarch_load_state_slotLoad from explicit slot number
retroarch_state_slot_plus / retroarch_state_slot_minusChange current slot pointer (NCI has no "set slot to N")

See docs/RECIPES.md for end-to-end examples.

Tested cores

Verified end-to-end against mcp-retroarch:

SystemCoreread_memoryread_ramNotes
Game Boy Advancemgba_libretroโœ…โœ…GBA interrupt vector table visible at 0x0000 (d3 00 00 ea ...)
NESmesen_libretroโœ… (only NES core tested that does)โœ…Full 16-bit NES address space exposed. WRAM at 0x0000-0x07FF, mirrored to 0x1FFF. CHEEVOS bounded to first 64 KB.
NESnestopia_libretroโŒ no memory mapโœ…CHEEVOS only. 64 KB bound. For NES + memory map, prefer Mesen.
SNESsnes9x_libretroโŒ no memory mapโœ…CHEEVOS bounded to ~128 KB (matches SNES WRAM size). 65C816 RTS opcodes (60) visible in code regions.
Sega Mega Drive / Genesisgenesis_plus_gx_libretroโŒ no memory mapโš ๏ธ sparseCHEEVOS exposes some 68K WRAM addresses but fails at others ("no error message"). Usable if you know specific addresses; blanket sweep doesn't work.
Nintendo 64mupen64plus_next_libretroโœ…โœ…Full N64 RAM exposed. KSEG0 mirror is faithful โ€” read_memory(0x80000000) returns the same bytes as read_memory(0x0). Bound is the connected RAM size (4 MB without Expansion Pak, 8 MB with).
PlayStation 1swanstation_libretroโŒ no memory mapโœ…CHEEVOS only. PSX main RAM begins around CHEEVOS offset 0x010000 (lower addresses are typically zero).

Patterns observed

  • Most libretro cores don't advertise a system memory map to NCI โ€” they implement only the CHEEVOS read API. Of those tested, only Mesen (NES) and Mupen64Plus-Next (N64) expose a system memory map. Both also expose CHEEVOS, so they're strictly better.
  • System memory maps are faithful to real hardware โ€” Mupen64Plus-Next preserves the N64's KSEG0 mirror (0x80000000 reads as 0x0); Mesen preserves the NES's WRAM mirroring (0x1000 reads as 0x0). This is great for anyone using the bridge alongside disassembly.
  • CHEEVOS bounds match the system's main RAM size โ€” NES exposes 64 KB, SNES 128 KB, etc. Reads past the bound fail with "no error message".
  • When choosing a core for memory work, prefer the one with a system memory map if available.

If you've tested another core, please open a PR adding it to this table.

Troubleshooting

SymptomCause / Fix
RetroArch query timed outNetwork Commands aren't enabled in RetroArch, or the port doesn't match RETROARCH_PORT. Confirm network_cmd_enable = "true" in retroarch.cfg. Also: UDP datagrams can be dropped under load even on loopback โ€” if a single call times out but a retry succeeds, that's the cause. The bridge doesn't auto-retry; just call again.
READ_CORE_MEMORY failed: no memory map definedThe loaded libretro core doesn't advertise a system memory map. Try retroarch_read_ram (CHEEVOS path) โ€” many cores expose CHEEVOS even without a memory map. Confirmed for SwanStation (PSX); use read_ram for that core.
READ_CORE_MEMORY failed: no descriptor for addressThe address isn't covered by the core's memory map. Either a different core would expose it, or the address you want is outside the system bus (e.g. video memory in some cores).
Screenshots don't appear where I expectRetroArch saves to its configured screenshot directory. The NCI doesn't expose screenshot_directory via GET_CONFIG_PARAM, so check the value via RetroArch's GUI: Settings โ†’ Directory โ†’ Screenshot.
Can't save to a specific state slot directlyNCI limitation, not a bug. The protocol only exposes "save to current slot" โ€” you have to walk the slot pointer to your target with state_slot_plus/state_slot_minus, then save.

Development

Terminal
npm install
npm run dev      # tsc --watch

Smoke test against a running RetroArch:

bash
node .scratch/smoke.cjs

Debugging with the MCP Inspector

Browse and call this server's tools interactively with the MCP Inspector:

Terminal
npm run inspector

Read the full README โ†’View source on GitHub โ†’

Related MCP Servers

View all in Gaming View all alternatives
  • MCP Mgba logoMCP Mgba

    Drive the mGBA Game Boy Advance emulator from any MCP client: read/write GBA memory, inject button presses, take screenshots, save/load state, and step the emulator. Lua bridge inside mGBA + Node MCP server.

    ๐ŸŽฎ Gaming5 views
    Compare vs MCP Mgba โ†’
  • MCP Pine logoMCP Pine

    Memory inspection and savestate control for PCSX2 and other emulators speaking the PINE protocol. Read/write 8/16/32/64-bit memory, save/load state slots, query game metadata. TCP on Windows, Unix sockets on Linux/macOS.

    ๐ŸŽฎ Gaming4 views
    Compare vs MCP Pine โ†’
  • MCP Bizhawk logoMCP Bizhawk

    Drive the BizHawk multi-system emulator from any MCP client. Memory r/w across named domains, joypad input, frame-advance, screenshot, save/load state. One bridge unlocks NES, SNES, GB/GBC/GBA, Genesis, N64, PSX, Saturn, and more.

    ๐ŸŽฎ Gaming6 views
    Compare vs MCP Bizhawk โ†’
  • MCP Dolphin logoMCP Dolphin

    Drive the Dolphin GameCube/Wii emulator from any MCP client: read/write PowerPC memory (MEM1/MEM2), GameCube + Wii Remote input (buttons, IR pointer, accelerometer, MotionPlus), reset, save/load state, and frame advance. Python bridge inside Felk's scripting fork + Node MCP server.

    ๐ŸŽฎ Gaming2 views
    Compare vs MCP Dolphin โ†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks โ€” not a rating.

GitHub stars
3
Stargazers on the source repository.
npm downloads
82
Package downloads in the last 30 days.
Last commit
5d ago
Most recent push to the default branch.
Availability
100%
Our rolling endpoint + install checks that succeeded.
Install check
Passed
Our sandbox started it and listed its tools.
Tools exposed
17
Callable tools this server registers over MCP.
Directory activity
2 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet โ€” be the first to share how this listing worked for you.

Frequently Asked Questions about MCP Retroarch

Works with any libretro core including NES, SNES, Genesis, N64, GBA, PSX, and others.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Retroarch AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/dmang-dev-mcp-retroarch?style=directory)](https://allmcps.com/mcp/dmang-dev-mcp-retroarch)
HTML Embed
<a href="https://allmcps.com/mcp/dmang-dev-mcp-retroarch"><img src="https://allmcps.com/api/badge/dmang-dev-mcp-retroarch?style=directory" alt="MCP Retroarch on AllMCPs" /></a>

Technical Specs & Signals

Category๐ŸŽฎGaming
PricingFree
More technical detailsExpand โ–พ
TransportSTDIO
RuntimeNode.js
AuthNo auth required
LicenseMIT
ClientsClaude Desktop, Cursor, Windsurf, Cline / VS Code
Last updatedSep 5, 2026
11/11 checks healthy over the last 32d
Views2
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars3
GitHub Star CountTotal stargazers on GitHub representing community popularity (3 stars).
Last commit5d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Sep 5, 2026
npm downloads82/mo
Monthly npm DownloadsAverage monthly package installs recorded from npm registry statistics.
72Quality signal: Great ยท 72/100How this signal is calculated โ–พ
Server availability25/25
Verified ownership10/20
Documentation & tools30/30
Adoption & activity7/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 22d ago via OSV.dev ยท mcp-retroarch (npm)

โ˜… FeaturedAllMCPs Server logo

AllMCPs Server

The official MCP server for AllMCPs.com - submit and manage tools directly from your AI. The open directory for MCP servers. Connect Claude, Cursor, Windsurf, and AI agents to databases, tools, files, and APIs. Explore 10,000+ servers. AllMCPs is the premier, open directory for discovering, evaluating, and installing Model Context Protocol (MCP) servers to equip AI agents and LLMs with real-world superpowers.

Explore Server โ†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge โ€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it โ€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐ŸŽฎ Gaming โ†’Best MCP servers for Gaming โ†’Alternatives to MCP Retroarch โ†’Install in Claude DesktopInstall in CursorInstall in VS Code