Token导航 LogoToken导航TokenDH.com
MCP Snes logo
AI代理未说明官方级别未说明来源级核验

MCP Snes

MCP Server

通过模型上下文协议(MCP)为大型语言模型提供的SNES模拟器,支持加载ROM、按键操作、帧推进和屏幕查看,适用于AI驱动的游戏体验。

工具数

11

提示词数

0

GitHub Stars

3

资源数

0
JavaScriptClaude游戏开发Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

thomasjvu

提供方

thomasjvu

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP:SNES

通过模型上下文协议(MCP)为LLM提供SNES仿真器。

通过MCP兼容界面玩SNES游戏——加载ROM、按下按钮、前进帧并查看屏幕。包括一个带有怀旧CRT电视+SNES控制台设计的浏览器UI和一个完整的MCP工具API,用于LLM驱动的游戏。

演示

snes-mcp.webm

特性

  • 内置SnesJs内核的SNES仿真(无外部仿真器依赖性)
  • 带stdio和SSE传输的MCP服务器
  • 带有CRT电视、SNES控制台和狗骨控制器布局的浏览器UI
  • 客户端60fps渲染,带Web Audio立体声
  • 速度控制(1x/2x/4x/8x)
  • ROM上传和管理(.smc/.sfc)
  • 完全控制器支持(D-pad、A、B、X、Y、L、R、启动、选择)
  • 键盘输入(箭头键、Z/X/A/S/Q/W、Enter、Shift)
  • 自动LoROM/HiROM检测

设置

npm install
npm run build

使用AI编码助手

克劳德代码

使用mcp-snes最简单的方法是使用Claude Code。从项目目录中:

cd mcp-snes
claude

该项目包括 .mcp.json 当Claude Code从此目录启动时,该配置会自动注册MCP服务器。克劳德将能够加载ROM,按下按钮,并看到屏幕。

web UI可在 http://localhost:3002 而MCP服务器正在运行。

注: MCP服务器仅在从项目目录启动Claude Code时激活。要改为全局安装,请运行: ``bash claude mcp add --scope user mcp-snes -- node /path/to/mcp-snes/dist/index.js --stdio ``

开源代码

要将mcp-snes与OpenCode结合使用,请导航到项目目录并启动OpenCode:

cd mcp-snes
opencode

该项目包括 opencode.json 当OpenCode从此目录启动时,该配置会自动注册MCP服务器。OpenCode将能够加载ROM,按下按钮并看到屏幕。

web UI可在 http://localhost:3003 而MCP服务器正在运行。

注: MCP服务器仅在从项目目录启动OpenCode时激活。要改为全局安装,请将以下内容添加到您的OpenCode用户配置中(~/.config/opencode/opencode.json): ``json { "$schema": "https://opencode.ai/config.json", "mcp": { "mcp-snes": { "type": "local", "command": ["node", "/absolute/path/to/mcp-snes/dist/index.js", "--stdio"], "enabled": true, "environment": { "SERVER_PORT": "3003", "NO_BROWSER": "1" } } } } ``

独立使用

标准模式(默认)

ROM_PATH=./roms/game.smc npm start

SSE模式

ROM_PATH=./roms/game.smc npm run start-sse

发展

npm run dev

MCP检查员

npm run debug

环境变量

变量描述默认值
SERVER_PORTWeb服务器端口3001
ROM_PATH启动时自动加载ROM的路径--
NO_BROWSER禁用自动打开浏览器(对MCP模式有用)--

MCP工具

工具说明
load_rom加载SNES ROM文件(.smc/.sfc)
get_screen获取当前屏幕为PNG图像
press_up/down/left/right按D-pad方向
press_a/b/x/y按下面部按钮
press_l/r按下肩部按钮
press_start/select按开始或选择
wait_frames通过N帧进行高级仿真
save_state将仿真器状态保存到插槽(0-9)
load_state从插槽加载模拟器状态(0-9)
is_rom_loaded检查ROM是否已加载
list_roms列出ROMs/目录中的可用ROM

键盘映射

按键按钮
箭头键D-pad
ZB
XA
AY
SX
QL
WR
输入开始
Shift选择

项目结构

src/
  index.ts            # Entry point
  types.ts            # SNESButton enum, interfaces
  snes.ts             # SNES emulator wrapper
  emulatorService.ts  # Service layer
  tools.ts            # MCP tool registration
  ui.ts               # Web UI and API routes
  snes-core/          # SNES emulation core (SnesJs)
  server/
    server.ts         # MCP server factory
    stdio.ts          # Stdio transport
    sse.ts            # SSE transport
  utils/
    logger.ts         # File logger

致谢

  • SNES仿真核心的灵感来自 SnesJs 作者:angelo wf(麻省理工学院许可证)
  • MCP架构的灵感来自 mcp游戏男孩 马里奥·安德烈沙克

许可证

麻省理工学院

目录标签

目录标签

JavaScriptClaude游戏开发SNES模拟器本地部署AI驱动模型上下文协议浏览器UI

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP