项目简介
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':可选,控制环境渲染方式
基本使用方法
- 启动服务器:
python -m gym_mcp_server --env CartPole-v1 --host localhost --port 8000
- 访问接口:
- REST文档:http://localhost:8000/docs
- MCP端点:http://localhost:8000/mcp
- 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与计算