MCP Hub
Back to servers

e2e-mcp-test

An end-to-end test MCP server built with FastMCP that exposes a REST API as a set of tools for AI agents. It enables LLMs to perform CRUD operations on an upstream API by mapping HTTP methods to MCP tools.

glama
Updated
Mar 20, 2026

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 MethodMCP Tool Pattern
GET (list)Tool that returns a list of resources
GET (by id)Tool that returns a single resource
POSTTool that creates a resource
PATCH / PUTTool that updates a resource
DELETETool that removes a resource

Reviews

No reviews yet

Sign in to write a review