Gym MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gym MCP ServerReset the CartPole environment and show the initial state."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gym MCP Server
Expose any Gymnasium environment as an MCP (Model Context Protocol) server, automatically converting the Gym API (reset, step, render) into MCP tools that any agent can call via standard JSON interfaces.
Features
🎮 Works with any Gymnasium environment
🔧 Exposes gym operations via multiple protocols:
MCP (Model Context Protocol) over HTTP (
/mcp, streamable-http)HTTP/REST - FastAPI with Swagger UI (same server)
🚀 Simple API with automatic serialization and error handling
🤖 Designed for AI agent integration (OpenAI Agents SDK, LangChain, etc.)
🔍 Type safe with full type hints
♻️ Shared service layer for code reuse across protocols
Related MCP server: OpenClaw MCP Proxy
Installation
pip install gym-mcp-serverRequirements: Python 3.10+
Quick Start
Combined HTTP server (REST + MCP)
Run a single server that exposes both REST endpoints and the MCP endpoint:
python -m gym_mcp_server --env CartPole-v1 --host localhost --port 8000
# REST docs: http://localhost:8000/docs
# MCP endpoint: http://localhost:8000/mcpProgrammatic Usage
from gym_mcp_server import GymHTTPServer
# One HTTP server exposing both REST + MCP (/mcp) for the same env instance
server = GymHTTPServer(env_id="CartPole-v1", render_mode="rgb_array")
# server.run(host="localhost", port=8000)Available Tools
The server exposes these MCP tools:
reset_env- Reset to initial state (optionalseed)step_env- Take an action (requiredaction)render_env- Render current state (optionalmode)close_env- Close environment and free resourcesget_env_info- Get environment metadatasample_action- Sample a random action from the action space
All tools return a standardized format:
{
"success": bool, # Whether the operation succeeded
"error": str, # Error message (if success=False)
# ... tool-specific data
}Examples
You can use the server with any MCP-compatible client. Here's a simple example using the MCP Python client:
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
async with streamable_http_client("http://localhost:8000/mcp") as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
# List available tools
tools = await session.list_tools()
print(f"Available tools: {[tool.name for tool in tools.tools]}")
# Reset the environment
result = await session.call_tool("reset_env", arguments={})
print(f"Reset result: {result.content[0].text}")Integration
OpenAI Agents SDK
Use the MCPServerStreamableHttp class to connect agents to gym environments:
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
async with MCPServerStreamableHttp(
name="Gym Environment",
params={"url": "http://localhost:8000/mcp", "timeout": 10},
) as server:
agent = Agent(name="GymAgent", instructions="...", mcp_servers=[server])
result = await Runner.run(agent, "Play CartPole")Documentation: OpenAI Agents SDK MCP Integration
Other Frameworks
Compatible with any MCP-compatible framework (LangChain, AutoGPT, custom MCP clients, etc.)
Configuration
Command Line Options
python -m gym_mcp_server --help--env: Gymnasium environment ID (required)--render-mode: Default render mode (e.g., rgb_array, human)--host: Host to bind (default: localhost)--port: Port to bind (default: 8000)
Troubleshooting
Environment-Specific Dependencies
Some environments require additional packages:
pip install gymnasium[atari] # For Atari environments
pip install gymnasium[box2d] # For Box2D environments
pip install gymnasium[mujoco] # For MuJoCo environmentsPython Version
Ensure you're using Python 3.10+:
python --version # Should show 3.10 or higherDevelopment
For development and testing:
git clone https://github.com/haggaishachar/gym-mcp-server.git
cd gym-mcp-server
make install # Install with dependencies
make check # Run all checks (lint, typecheck, test)See the Makefile for all available commands.
License
MIT License - see the LICENSE file for details.
Links
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Create guides as MCP servers to instruct coding agents to use your software (library, API, etc).
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes internal tools from agent harnesses (Claude Code, Codex, etc.) as a standard MCP server by intercepting LLM API calls.1MIT
- FlicenseNot gradedqualityDmaintenanceExposes app-registered tools as an MCP server for OpenClaw, forwarding actual tool execution back to the app over a WebSocket bridge.-
- AlicenseNot gradedqualityCmaintenanceEnables turning any command-line tool into an MCP server with auto-generated JSON schema, supporting stdio, timeouts, and stderr capture.MIT
- FlicenseNot gradedqualityCmaintenanceConverts any MCP server into simple HTTP endpoints, enabling AI agents that only support HTTP (like ChatGPT Custom GPT or web_fetch) to use MCP tools.-