MCP Software-Engineering RL Environment

MCP Software-Engineering RL Environment

Enables reproducible evaluation of AI coding agents by exposing repository inspection, code editing, test running, and deterministic verification through MCP tools.

Category
Visit Server

README

MCP Software-Engineering RL Environment (Mini Project)

A reproducible benchmark environment for evaluating an AI coding agent through Model Context Protocol (MCP).

The agent receives a task, discovers repository information through MCP tools, edits code, and runs deterministic verification. The benchmark records whether the agent used the tools correctly and whether the final repository satisfies the specification.

Scenario

The repository contains a small inventory service. InventoryService.search() is intentionally buggy: when a product has multiple matching tags, it can appear more than once. The agent must diagnose the bug, implement a feature-safe fix, and add a regression test.

Environment contract

The agent can use these MCP tools:

  • list_files() - inspect repository structure
  • read_file(path) - read repository files
  • search_code(query) - search source code
  • write_file(path, content) - modify/create files
  • run_tests() - run deterministic tests
  • git_diff() - inspect changes

The environment itself verifies the result with verify.py. The golden solution is stored separately in golden/solution.patch.

Run

python -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell: .venv\\Scripts\\Activate.ps1
pip install -r requirements.txt

python -m mcp_rl_env.server

In another terminal:

python verify.py

Run the reference solution:

python apply_golden.py
python verify.py

Benchmark idea

An evaluation episode is:

  1. Reset repository to the task seed.
  2. Give the agent only the task statement.
  3. Start the MCP server.
  4. Agent discovers files using MCP.
  5. Agent diagnoses and edits code.
  6. Agent runs tests.
  7. Deterministic verifier computes reward.

A simple reward can be:

reward = 0.50 * tests + 0.20 * regression_test + 0.15 * tool_use + 0.15 * patch_quality

The important point is that verification is deterministic; the model does not grade itself.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured