Prepare the server locally
Run this once before adding it to Claude Code.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtRegister it in Claude Code
claude mcp add e2e-mcp-test -- python /path/to/mcp_server.pyReplace any placeholder paths in the command with the real path on your machine.
Make your agent remember this setup
e2e-mcp-test's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- 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
Tools 3
list_itemsReturns a list of resources from the upstream APIget_itemReturns a single resource by its IDcreate_itemCreates a new resource in the upstream APITry it
Original README from rrbanda/e2e-mcp-test
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:
- Clone -- fetches the repository source
- Build -- builds the container image with buildah and pushes to the OpenShift internal registry
- 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 |