Provides an example tool for retrieving Red Hat branding assets, such as the Red Hat logo, and includes deployment configurations for Red Hat platforms like OpenShift.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Template MCP Servergenerate a code review prompt for my Python function"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Template MCP Server
A production-ready template for developing Model Context Protocol (MCP) servers using Python and FastMCP. This server provides a foundation for creating MCP-compliant servers with comprehensive examples of tools, structured logging, configuration management, and containerized deployment.
The template includes three example MCP tools: a multiply calculator, a code review prompt generator, and a Red Hat logo tool. It demonstrates best practices for MCP server development including proper error handling, health checks, multiple transport protocols (HTTP, SSE, streamable-HTTP), SSL support, and comprehensive development tooling.
Features
FastMCP + FastAPI with multiple transport protocols (HTTP, SSE, streamable-HTTP)
Three example tools: multiply calculator, code review prompt, Red Hat logo
Pydantic configuration via environment variables
Structured JSON logging with structlog
SSL/TLS support for secure deployments
Container-ready with Red Hat UBI base image
OpenShift deployment manifests included
Full CI/CD with GitHub Actions (tests, linting, security, releases)
OAuth integration with PostgreSQL token storage
Quick Start
git clone https://github.com/redhat-data-and-ai/template-mcp-server
cd template-mcp-server
make install # creates venv, installs deps + pre-commit hooks
make local # starts server on localhost:5001Verify in another terminal:
curl http://localhost:5001/health# Create venv and install
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pre-commit install
# Configure and run
cp .env.example .env
template-mcp-server
# Verify
curl http://localhost:5001/healthHow to Use This Template
Option 1: GitHub Template (Recommended)
Click the "Use this template" button at the top of the repository page.
Name your new repository (e.g.,
my-mcp-server).Clone your new repository and follow the rename checklist below.
Option 2: Manual Clone
git clone https://github.com/redhat-data-and-ai/template-mcp-server.git my-mcp-server
cd my-mcp-server
rm -rf .git
git initRename Checklist
After creating your project, replace all references to template-mcp-server and template_mcp_server with your project name. The following files require updates:
File / Directory | What to Change |
| Rename the package directory (e.g., |
|
|
| References in |
|
|
|
|
| App labels, image names, route hostnames in all manifests ( |
| Workflow names and paths |
| Title, description, clone URL, and all badge URLs (tests, coverage, Codespaces) |
| Adjust defaults if your server uses a different port or protocol |
Verify Rename
Run this to catch any leftover references:
grep -rn "template.mcp" --include="*.py" --include="*.yaml" --include="*.yml" --include="*.toml" --include="*.md" .The output should be empty (or only match this README section itself).
Configuration
Variable | Default | Description |
|
| Server bind address |
|
| Server port (1024-65535) |
|
| Transport protocol ( |
|
| SSL private key file path |
|
| SSL certificate file path |
|
| Enable OAuth authentication (see Auth Guide) |
|
| Browser-based OAuth for local dev |
|
| Logging level |
* ENABLE_AUTH defaults to False in .env.example but True in code. Always copy .env.example to .env to start with auth disabled.
Documentation
Guide | Description |
System diagrams, code structure, key components, MCP tools | |
Setup, running locally, testing, code quality | |
Podman, OpenShift, container configuration | |
Workflows, pipeline features, running CI locally | |
Development workflow, commit conventions, PR process | |
Vulnerability reporting policy | |
Release history | |
OAuth setup, auth modes, troubleshooting | |
Your First Tool in 5 Minutes | |
FastMCP and LangGraph client examples |
Contributing
See CONTRIBUTING.md for detailed guidelines.
# Fork, clone, and set up
git clone https://github.com/<your-username>/template-mcp-server.git
cd template-mcp-server
make install
# Create a branch, make changes, verify
git checkout -b feat/your-feature
make lint && make test && make pre-commit
# Commit and open a PR
git commit -m "feat: your descriptive message"
git push origin feat/your-featureLicense
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.