E2E MCP Test MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add e2e-mcp-test -- python "<FULL_PATH_TO_E2E_MCP_TEST>/dist/index.js"

Replace <FULL_PATH_TO_E2E_MCP_TEST>/dist/index.js with the actual folder you prepared in step 1.

README.md

An end-to-end test MCP server that exposes a REST API as a set of tools

e2e-mcp-test

E2E test MCP server

Overview

This is a FastMCP server that exposes a REST API as a set of MCP (Model Context Protocol) tools. AI agents and LLMs can invoke these tools to interact with the upstream API.

Local Development

Prerequisites

  • Python 3.11+
  • The upstream API running at http://localhost:8080

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run

python3 mcp_server.py

The server starts on http://0.0.0.0:8000/mcp using the streamable HTTP transport.

Container Build

docker build -t e2e-mcp-test .
docker run -p 8000:8000 e2e-mcp-test

CI/CD with Pipelines as Code (Tekton)

This project uses Pipelines as Code (PAC) for fully automated CI/CD on OpenShift. No manual setup is required -- every push to main automatically builds the container image and deploys to OpenShift.

The pipeline definition lives in .tekton/push.yaml and performs:

  1. Clone -- fetches the repository source
  2. Build -- builds the container image with buildah and pushes to the OpenShift internal registry
  3. Deploy -- applies the deployment manifests and rolls out the new version

How It Works

A GitHub webhook (created automatically by the RHDH template) sends push events to the Pipelines as Code controller on OpenShift. PAC reads .tekton/push.yaml from the repo and creates a PipelineRun automatically.

Manual Deployment (without pipeline)

Apply the included manifests directly:

oc apply -f deploy/deployment.yaml

This creates a Deployment, Service, and Route in the mcp-servers namespace. The Route provides a TLS-terminated public endpoint.

Customization

Edit mcp_server.py to replace the placeholder tools (list_items, get_item, create_item) with tools that match your actual API endpoints. Each @mcp.tool function maps to one REST endpoint:

HTTP Method MCP Tool Pattern
GET (list) Tool that returns a list of resources
GET (by id) Tool that returns a single resource
POST Tool that creates a resource
PATCH / PUT Tool that updates a resource
DELETE Tool that removes a resource

Tools (3)

list_itemsReturns a list of resources from the upstream API
get_itemReturns a single resource by its ID
create_itemCreates a new resource in the upstream API

Configuration

claude_desktop_config.json
{"mcpServers": {"e2e-mcp-test": {"command": "python", "args": ["/path/to/mcp_server.py"]}}}

Try it

List all items available in the API.
Get the details for the item with ID 123.
Create a new item with the provided data.

Frequently Asked Questions

What are the key features of E2E MCP Test?

Exposes REST API endpoints as MCP tools. Built using the FastMCP framework. Supports CRUD operations via LLM tool calls. Ready for containerized deployment with Docker. Supports automated CI/CD pipelines via Tekton.

What can I use E2E MCP Test for?

Testing AI agent interactions with RESTful APIs. Rapid prototyping of MCP servers for custom backend services. Automating CRUD operations on internal APIs using natural language.

How do I install E2E MCP Test?

Install E2E MCP Test by running: python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt

What MCP clients work with E2E MCP Test?

E2E MCP Test works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep E2E MCP Test docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare