Observed since 21 Oct, 10:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
MCP server for AI Coding Gym - fetch and submit coding challenges
Local MCP server for interacting with the AI Coding Gym platform. Provides tools to fetch coding problems and submit solutions.
/fetch: Fetch a coding problem and clone the repository to your local machine/submit: Submit your solution by committing and pushing changesOption 1: Install from PyPI
pip install ai-coding-gym-mcp
Option 2: Install from GitHub
pip install git+https://github.com/yourusername/ai-coding-gym-mcp.git
Option 3: Install from source
git clone https://github.com/yourusername/ai-coding-gym-mcp.git
cd ai-coding-gym-mcp
pip install -e .
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"ai-coding-gym": {
"command": "ai-coding-gym-mcp"
}
}
}
Add to your VS Code settings (.vscode/settings.json or User Settings):
{
"github.copilot.chat.codeGeneration.instructions": [
{
"text": "Use AI Coding Gym MCP tools for problem solving"
}
],
"mcp.servers": {
"ai-coding-gym": {
"command": "python",
"args": ["-m", "server"],
"cwd": "/path/to/ai-coding-gym-mcp"
}
}
}
Or if installed via pip, use the executable directly:
{
"mcp.servers": {
"ai-coding-gym": {
"command": "ai-coding-gym-mcp"
}
}
}
The server uses stdio for communication with MCP clients:
python server.py
Or configure it in your MCP client settings (e.g., Claude Desktop).
/configureConfigure the MCP server with your user ID. This generates an SSH key pair and registers it with the server.
Parameters:
user_id (required): Your user ID for authenticationworkspace_dir (required): Default workspace directory for cloning repositoriesExample:
{
"user_id": "user_123",
"workspace_dir": "./workspace"
}
What it does:
~/.mcp-keys/)/fetchFetches a problem from the backend and clones the repository locally. This tool is single-purpose: it does not install dependencies, run tests, or perform any other follow-up actions after fetching.
Parameters:
problem_id (required): Problem identifier (e.g., "django__django-10097")user_id (optional): Your user ID (uses configured value if not provided)workspace_dir (optional): Local workspace directory (defaults to configured workspace_dir)Example:
{
"problem_id": "django__django-10097"
}
What it does:
/configure to access the repositoryworkspace/{problem_id}//submitSubmits your solution by committing changes and pushing to the remote repository.
Parameters:
problem_id (required): Problem identifieruser_id (optional): Your user ID (uses configured value if not provided)commit_message (required): Custom commit messageworkspace_dir (optional): Local workspace directory where the repo was cloned (defaults to configured workspace_dir)force_push (optional): Force push the branch (use with caution; default: false)Example:
{
"problem_id": "django__django-10097",
"commit_message": "Fixed the authentication bug",
"workspace_dir": "./workspace",
"force_push": false
}
What it does:
git add -A)/resetResets a problem repository back to the original setup commit.
Parameters:
problem_id (required): Problem identifieruser_id (optional): Your user ID (uses configured value if not provided)Example:
{
"problem_id": "django__django-10097"
}
What it does:
Setup SWE-bench instance:git reset --hard)git clean -fd)The MCP server connects to the hardcoded AI Coding Gym server and uses the following endpoints:
/api/configureRequest:
{
"user_id": "user_123",
"public_key": "ssh-rsa AAAAB3..."
}
Response:
{
"repo_name": "user_123-swebench",
"repo_url": "git@github.com:AICodingGym/submission-user_123.git"
}
/api/submitRequest:
{
"problem_id": "django__django-10097",
"user_id": "user_123",
"commit_hash": "abc123def456...",
"branch": "django__django-10097-user_123",
"commit_message": "Fixed the authentication bug",
"timestamp": "2026-02-03T10:30:00"
}
Response:
{
"status": "success",
"message": "Submission received"
}
~/.mcp-keys/ with 600 permissions"No credentials found for problem_id"
/configure first to set up your credentials/fetch to download the problem"Git clone/push failed"
"Directory already exists"
The server uses:
# Clone the repository
git clone https://github.com/yourusername/ai-coding-gym-mcp.git
cd ai-coding-gym-mcp
# Install in development mode
pip install -e .
# Run tests (if available)
pytest
# Test the server locally
python server.py
Contributions welcome! Please:
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.3.0 | 16 Feb 2026 | 2 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 10:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f86c116f884595bb5c210d12d7c845f66bc6f0d9cbae0eeac12710e6120a7fe5