使用说明
项目简介
Gamepad MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在充当 AI 助手(例如 Claude)与游戏之间的桥梁。它允许 AI 助手通过发送手柄、键盘和鼠标事件来控制游戏,实现更自然的交互体验。此服务器本身并不直接模拟游戏输入,而是作为一个中间层,将来自 AI 助手的指令转换为游戏可以理解的事件,并通过 WebSocket 传递给另一个负责实际输入模拟的服务器。
主要功能点
- 资源管理: 提供 "Gamepad Events" 和 "Valid Gamepad Events" 资源。
- "Gamepad Events" 资源允许 MCP 客户端查询服务器记录的最近一次接收到的游戏事件状态,用于调试或状态同步。
- "Valid Gamepad Events" 资源提供服务器支持的所有手柄、鼠标和键盘输入事件的列表,方便客户端了解可以发送哪些指令。
- 工具执行: 提供 "send_gamepad_event" 工具,这是核心功能,允许 AI 助手调用此工具并发送 JSON 格式的游戏事件指令。
- AI 助手可以指示服务器发送例如 "按下 A 键"、"移动左摇杆" 或 "鼠标左键点击" 等指令,从而控制游戏行为。
- 事件转发: 接收到来自 MCP 客户端的 "send_gamepad_event" 工具调用后,服务器会验证事件参数的有效性,并将验证通过的游戏事件通过 WebSocket 连接发送到预先配置的 WebSocket 服务器,由该服务器负责将事件转化为实际的游戏输入操作。
安装步骤
- 克隆仓库: 打开终端,执行以下命令克隆 GitHub 仓库到本地:
git clone https://github.com/squirelo/mcpgame.git - 进入项目目录: 克隆完成后,进入项目文件夹:
cd mcpgame - 安装依赖: 在项目目录下,使用 npm 安装项目所需的依赖包:
npm install - 构建项目: 执行构建命令,将 TypeScript 代码编译为 JavaScript 代码:
npm run build - 使服务器脚本可执行: 给予服务器启动脚本执行权限:
chmod +x build/index.js
服务器配置 (MCP 客户端)
此 MCP 服务器设计与 MCP 客户端协同工作,例如 Claude Desktop。为了让 MCP 客户端能够连接到此服务器,您需要在客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,您需要编辑其配置文件,并添加如下 JSON 配置。请将 '/absolute/path/to/mcpgame/build/index.js' 替换为 'build/index.js' 文件在您电脑上的绝对路径。
{ "servers": [ { "name": "gamepad-server", "command": "node /absolute/path/to/mcpgame/build/index.js" } ] }
配置说明:
- '"name": "gamepad-server"': 为该服务器连接配置指定一个名称,例如 "gamepad-server",这个名称会在 MCP 客户端中显示。
- '"command": "node /absolute/path/to/mcpgame/build/index.js"': 关键配置,指定启动 MCP 服务器的命令。
- 'node': 使用 Node.js 运行时环境。
- '/absolute/path/to/mcpgame/build/index.js': 服务器主程序 'index.js' 的绝对路径。请务必替换为实际路径。
基本使用方法
- 启动 WebSocket 服务器 (游戏输入模拟): 重要: Gamepad MCP Server 依赖于一个独立的 WebSocket 服务器来实际模拟游戏输入。您需要自行搭建或配置这样一个 WebSocket 服务器,并确保它运行在 'ws://127.0.0.1:13123' 并且能够接收和处理来自 MCP 服务器发送的游戏事件。 本仓库不包含此 WebSocket 服务器的实现。
- 启动 Gamepad MCP Server: 打开终端,进入项目根目录 'mcpgame',执行以下命令启动 MCP 服务器:
启动成功后,您应该能在终端看到 "Gamepad MCP server running on stdio" 的提示信息。node build/index.js - 连接 MCP 客户端: 配置并启动 MCP 客户端 (例如 Claude Desktop),客户端应该能够自动连接到 Gamepad MCP Server。
- 使用 AI 助手控制游戏: 在 MCP 客户端中,您可以指示 AI 助手使用 "gamepad-server" 连接的服务来控制游戏。例如,您可以向 Claude 发送指令,要求其调用 'send_gamepad_event' 工具,并提供相应的游戏事件参数来发送手柄、键盘或鼠标指令。
例如,您可以指示 Claude 执行类似以下操作:
"请使用 gamepad-server 发送指令,模拟按下手柄 A 键。"
Claude (或其他 MCP 客户端) 会将您的指令转换为对 'send_gamepad_event' 工具的调用,并将事件参数发送给 Gamepad MCP Server。服务器验证参数后,会将事件通过 WebSocket 发送给游戏输入模拟服务器,最终实现游戏控制。
请确保 WebSocket 服务器已正确配置并运行,否则 MCP 服务器无法正常工作,AI 助手也无法控制游戏。
信息
分类
桌面与硬件