About Dockerized MCP Server Template
A Python MCP server template built with the official MCP Python SDK, runnable in Docker or directly. It uses stateless Streamable HTTP for developers building services for LLM applications.
Key features
- 01Python MCP server template
- 02Dockerized execution
- 03Stateless Streamable HTTP
- 04Example add tool
Use cases
- 01Prototype a Python MCP server
- 02Run the server with Docker Compose
MCP support
The template implements an MCP server exposed at /mcp over Streamable HTTP, including an add tool callable by MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDockerized MCP Server Template
This repository provides a reusable template for a Python server implementing the Model Context Protocol (MCP), running in a Docker container and utilizing Streamable HTTP for real-time communication. Built on the Python implementation of the Model Context Protocol (MCP), this template enables easy integration with Large Language Models (LLMs).
What is MCP?
The Model Context Protocol (MCP) lets you build servers that expose data and functionality to LLM applications in a secure, standardized way.
This template demonstrates a production-ready MCP server running in a Docker container, utilizing stateless Streamable HTTP for real-time communication.
Project Structure
dockerized-mcp-server-template/
├── src/
│ ├── Dockerfile
│ ├── requirements.txt
│ └── server.py
├── docker-compose.yml
└── README.md
Getting Started
Build and Run with Docker Compose
docker-compose up --build
The server will be accessible at:
http://localhost:8080/mcp
Running Directly (without Docker)
Alternatively, you can run the server directly using Python. First, install dependencies:
pip install -r src/requirements.txt
Then run the server:
python src/server.py
The server will be accessible at:
http://localhost:8080/mcp
Example Usage
The example includes a simple MCP tool function add:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
You can invoke this tool via MCP client requests.
Technical Notes
This template uses Streamable HTTP transport, which is available in the Model Context Protocol starting with the Python SDK v1.8.0 (https://github.com/modelcontextprotocol/python-sdk).
Why Streamable HTTP?
Streamable HTTP significantly improves upon the previous SSE transport by enabling stateless operation, making MCP compatible with serverless architectures and standard web infrastructure. This approach eliminates the need for persistent connections, resulting in better resource efficiency and cost effectiveness, while offering a more straightforward implementation for developers. The result is an MCP server that's easier to deploy, more scalable, and more resource-efficient without sacrificing functionality.
Resources
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.