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

MCP Games Public

MCP Server

MCP Games Server 是一个为AI代理提供多种经典游戏、Gymnasium环境和棋盘游戏的统一接口的服务器。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

IshanTiwari0112

提供方

IshanTiwari0112

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

MCP 游戏服务器

一个模型上下文协议(MCP)服务器,通过统一的工具接口,为AI代理提供访问各种经典游戏、Gymnasium环境以及棋盘游戏的途径。

特点/特性

  • 33+ MCP 工具 用于游戏互动
  • 视觉渲染 - 返回游戏状态为base64编码的PNG图像或SVG
  • 多种游戏类型 - 经典控制、棋盘游戏、雅达利游戏
  • 统一界面 所有游戏类型间的一致API
  • 丰富的游戏状态 - 视觉和文本形式的游戏状态信息

安装

# Clone the repository
git clone https://github.com/itsish/mcp-games-public
cd mcp-games-public

# Install dependencies
pip install -r requirements.txt

# Run the server
python -m src.main

快速入门

对于Claude Desktop

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-games": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "/path/to/mcp-games-public"
    }
  }
}

对于MCP检查员

npx @modelcontextprotocol/inspector python -m src.main

支持的游戏

经典控制(体育馆)

  • CartPole-v1(译文:杆球平衡问题-v1) - 在移动的车上平衡一根杆
  • MountainCar-v0(山地汽车环境v0版本) - 把车开上陡峭的山路
  • FrozenLake-v1(冻结湖-v1) - 在结冰的湖面上穿行,避开冰洞

雅达利游戏(Atari Games)

  • 逃脱(或突破) - 经典的打砖块街机游戏

棋盘游戏

  • 井字棋 - 经典的3x3网格游戏
  • 国际象棋 - 完整的国际象棋实现,包含合法走法验证
  • 四子棋(或称为“连四棋”) - 移动棋子以连接成四连
  • 二十一点(一种纸牌游戏) - 赌场纸牌游戏(选择要牌或停牌以达到21点)

多智能体游戏(PettingZoo)

  • 国际象棋(PettingZoo版) - 双人象棋,实现全部规则

可用工具

游戏管理

  • list_games - 列出所有可用的游戏
  • start_game - 开始一个新的游戏实例
  • get_game_state - 获取当前游戏状态并进行可视化渲染
  • reset_game - 将游戏重置为初始状态
  • end_game - 结束游戏实例并进行清理

杆球平衡动作

  • cartpole_move_left - 将购物车向左移动
  • cartpole_move_right - 将手推车向右移动
  • cartpole_get_state - 获取小车位置、速度、杆的角度

山地汽车动作(或:山地赛车操作)

  • mountaincar_accelerate_left - 加速向左行驶
  • mountaincar_accelerate_right - 加速向右行驶
  • mountaincar_coast - 无加速滑行

突破行动

  • breakout_start - 开始新的消消乐游戏
  • breakout_move - 移动桨板(左/右/保持不动)
  • breakout_get_state - 通过视觉帧获取游戏状态

二十一点游戏行动

  • blackjack_start - 开始新的二十一点游戏
  • blackjack_hit - 再抽一张牌
  • blackjack_stand - 保持当前手(或保持现状)
  • blackjack_get_state - 获取当前玩家的手牌和庄家的可见牌

井字棋动作

  • tictactoe_start - 开始新的井字棋游戏
  • tictactoe_place - 在位置放置X或O
  • tictactoe_get_state - 获取棋盘状态

“FrozenLake Actions” 可以翻译为“冰湖动作”或“冰冻湖面行动”,具体取决于上下文和语境。如果是指游戏或模拟环境中的动作,那么“冰湖动作”可能更为贴切;如果是指某种策略或计划的实施,则“冰冻湖面行动”可能更合适。但通常情况下,“冰湖动作”是一个较为通用的翻译

  • frozenlake_move_up - 让玩家向上移动
  • frozenlake_move_down - 将玩家向下移动
  • frozenlake_move_left - 玩家向左移动
  • frozenlake_move_right - 玩家向右移动

国际象棋动作

  • chess_move - 下一步棋(例如,“e2e4”)
  • chess_get_legal_moves - 获取当前位置的所有合法走法
  • chess_analyze_position - 获取职位分析与评估

“Connect Four Actions”可以翻译为“四子棋行动”或“连线四行动”,具体取决于上下文和语境,但通常“四子棋”是更常见的翻译,因为它直接关联到了游戏Connect Four(又称“四子棋”或“连线四”)。所以,翻译为“四子棋行动”较为贴切

  • connectfour_start - 开始新的四子棋游戏
  • connectfour_drop_piece - 在列(0-6)中放置棋子
  • connectfour_get_state - 获取带视觉效果的棋盘状态
  • connectfour_get_valid_moves - 获取有效列的列表
  • connectfour_undo_move - 撤销上一步操作
  • connectfour_get_winner - 检查游戏是否有胜者

PettingZoo 国际象棋动作

  • pettingzoo_chess_start - 开始PettingZoo棋类游戏
  • pettingzoo_chess_move - 使用动作索引进行移动
  • pettingzoo_chess_get_state - 获取董事会意见/看法
  • pettingzoo_chess_get_legal_actions - 获取法律诉讼指标

示例用法

# Start a game
response = await start_game(game_type="CartPole-v1", player_name="AI_Agent")

# Get visual state
state = await cartpole_get_state(game_id=response.game_id)
# Returns state with base64 PNG image of current frame

# Make a move
result = await cartpole_move_right(game_id=response.game_id)

# For chess
await chess_move(game_id=chess_id, move="e2e4")
legal_moves = await chess_get_legal_moves(game_id=chess_id)

视觉渲染

所有游戏均支持在响应中进行视觉渲染:

  • PNG 图像对于基于像素的游戏,返回的是Base64编码的字符串
  • SVG 渲染适用于桌游和简单环境的矢量图形
  • 自动格式选择游戏选择最佳的可视化格式

建筑

  • FastMCP 框架基于装饰器的简单MCP服务器实现
  • 游戏注册表游戏类型和实例的集中管理
  • 体操馆整合与OpenAI Gym环境的直接集成
  • 模块化设计易于添加新游戏和环境

要求

  • Python 3.10+
  • requirements.txt 对于包依赖

许可证

麻省理工学院许可证

做出贡献

欢迎投稿!请随时:

  • 添加新游戏或环境
  • 提高可视化渲染效果
  • 增强游戏状态表示
  • 修复漏洞或改进文档

支持

如遇到问题或疑问,请在GitHub上提交一个议题。

目录标签

目录标签

PythonClaudeAI代理游戏交互本地部署统一接口视觉渲染多游戏类型

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP