Dockerized MCP Server Template
@zantis
A reusable Dockerized Python server template implementing the Model Context Protocol (MCP) with Streamable HTTP transport, built using the official MCP Python SDK (v1.8.0+) for easy integration with Large Language Models (LLMs).
Overview
What is Dockerized 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. It enables easy integration with Large Language Models (LLMs) by exposing data and functionality in a standardized way.
How to use Dockerized MCP Server Template?
Build and run with Docker Compose using docker-compose up --build, or run directly with Python after installing dependencies (pip install -r src/requirements.txt) by executing python src/server.py. The server becomes accessible at http://localhost:8080/mcp.
Key features of Dockerized MCP Server Template
- Dockerized for easy deployment and portability
- Uses Streamable HTTP for stateless, real-time communication
- Built on the Python Model Context Protocol SDK (v1.8.0+)
- Compatible with serverless architectures and standard web infrastructure
- Includes an example
addtool to demonstrate functionality - Eliminates persistent connections for better resource efficiency
Use cases of Dockerized MCP Server Template
- Integrate LLM applications with custom tools and data via MCP
- Deploy a production-ready MCP server in a Docker container
- Build serverless-friendly MCP servers using stateless Streamable HTTP
- Expose arithmetic or other simple functions to AI assistants
FAQ from Dockerized MCP Server Template
What transport protocol does this server use?
It uses Streamable HTTP, a stateless transport available starting with the Python MCP SDK v1.8.0.
What are the runtime dependencies?
Python 3, the packages listed in src/requirements.txt, and optionally Docker and Docker Compose for containerized deployment.
How do I build and run the server?
Run docker-compose up --build to build and start the containerized server. The server listens on port 8080 at /mcp.
What is the advantage of Streamable HTTP over SSE?
Streamable HTTP enables stateless operation, making MCP compatible with serverless architectures and standard web infrastructure, eliminating the need for persistent connections and improving resource efficiency.
Is there an example tool included?
Yes, the template includes a simple add tool that takes two integers and returns their sum.