项目简介

Gym MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它能够将任何 Gymnasium 强化学习环境(如CartPole、Atari游戏等)的操作接口转换为MCP工具,使得AI代理可以通过JSON-RPC协议来控制游戏环境。

主要功能

  • 环境控制:提供reset、step、render等标准Gym操作
  • 多协议支持:同时支持MCP over HTTP和REST API
  • 通用兼容:适用于所有Gymnasium环境,无需额外编码
  • AI代理集成:专门为OpenAI Agents SDK、LangChain等AI框架设计
  • 自动序列化:智能处理各种数据类型的JSON序列化
  • 类型安全:完整的类型提示和错误处理

安装步骤

pip install gym-mcp-server

环境依赖:某些特定环境可能需要额外安装包:

pip install gymnasium[atari]   # Atari游戏环境
pip install gymnasium[box2d]   # Box2D物理环境
pip install gymnasium[mujoco]  # MuJoCo机器人环境

服务器配置

MCP客户端需要以下配置来连接此服务器:

{
  "mcpServers": {
    "gym-environment": {
      "command": "python",
      "args": [
        "-m", "gym_mcp_server",
        "--env", "CartPole-v1",       // 环境ID,如CartPole-v1、Pong-v4等
        "--host", "localhost",           // 服务器绑定的主机地址
        "--port", "8000",                // 服务器监听的端口号
        "--render-mode", "rgb_array"     // 渲染模式:rgb_array、human等
      ]
    }
  }
}

参数说明

  • 'env':必需参数,指定要运行的Gymnasium环境ID
  • 'host':可选,服务器地址(默认:localhost)
  • 'port':可选,服务器端口(默认:8000)
  • 'render-mode':可选,控制环境渲染方式

基本使用方法

  1. 启动服务器
python -m gym_mcp_server --env CartPole-v1 --host localhost --port 8000
  1. 访问接口
  • REST文档:http://localhost:8000/docs
  • MCP端点:http://localhost:8000/mcp
  1. AI代理集成:在OpenAI Agents SDK中使用:
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(
    name="Gym Environment",
    params={"url": "http://localhost:8000/mcp", "timeout": 10},
) as server:
    # 将server添加到agent配置中
    agent = Agent(name="GymAgent", instructions="控制CartPole游戏", mcp_servers=[server])

服务器会自动暴露以下MCP工具供AI代理调用:

  • 'reset_env' - 重置环境到初始状态
  • 'step_env' - 执行动作并推进环境状态
  • 'render_env' - 渲染当前环境状态
  • 'get_env_info' - 获取环境元数据
  • 'close_env' - 关闭环境释放资源

信息

分类

AI与计算