Cookiecutter MCP UV Container
A Cookiecutter template for creating MCP servers with Apple container support and configurable transport methods.
Cookiecutter MCP UV Container
A cookiecutter template for quickly creating MCP (Model Context Protocol) servers with Apple container support.
Why Apple Containers?
Apple containers provide VM-level isolation with Docker-like simplicity:
- Superior Security: Each container runs in its own lightweight VM
- macOS Native: Deep integration with macOS frameworks
- On-Demand: Start/stop servers as needed (not constantly running)
- Resource Efficient: Less overhead than traditional VMs
- OCI Compatible: Works with existing container registries
Features
- š FastMCP server setup with example tools
- š³ Multi-stage Dockerfile for optimized containers
- š¦ UV package management
- š VM-level isolation with non-root container user
- š Multiple transport methods (stdio, streamable-http, sse)
- š Optimized for Apple Silicon
- š Example calculator tools with typed parameters
Usage
Prerequisites
-
Install UV (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Install cookiecutter:
uv tool install cookiecutter # or pip install cookiecutter -
Install Apple/Container:
Create a new project
# From local directory
cookiecutter /path/to/cookiecutter-mcp-uv-container
# From GitHub
cookiecutter https://github.com/daviddrummond95/cookiecutter-mcp-uv-container
Template Variables
You'll be prompted for:
- project_name: Human-readable project name (e.g., "My Calculator MCP")
- project_slug: Package name (auto-generated from project_name)
- mcp_name: The MCP server name (e.g., "MyCalculatorMCP")
- description: Project description
- author_name: Your name
- author_email: Your email
- python_version: Python version (default: 3.13)
- mcp_version: MCP SDK version (default: 1.9.4)
Project Structure
After generation, your project will have:
my-mcp-server/
āāā Dockerfile # Multi-stage build for containers
āāā pyproject.toml # UV project configuration
āāā hello.py # MCP server implementation
āāā QUICKSTART.md # Quick start guide
āāā .env.example # Environment configuration
Next Steps
After creating your project:
-
Navigate to your project:
cd my-mcp-server # or whatever you put as project-slug -
Start Container System (first time only):
container system start -
Build Container:
container build --tag my-mcp . # Replace my-mcp with whatever you want to name the container -
Run MCP Server:
# Interactive stdio mode container run --interactive my-mcp -
Customize: Edit
hello.pyto add your own MCP tools
Claude Desktop Integration
For Claude Desktop, you have two options:
Option 1: Run locally without container (recommended for development)
{
"mcpServers": {
"My MCP Server (Local)": {
"command": "uv",
"args": ["run", "fastmcp", "/path/to/my-mcp-server/hello.py"]
}
}
}
Option 2: Use HTTP transport with container
Then configure Claude Desktop to connect via STDIO:
{
"mcpServers": {
"My MCP Server (Container)": {
"command": "container",
"args": ["run", "--interactive", "my-mcp-container"]
}
}
}
Transport Options
The template supports multiple transport methods via environment variables:
- stdio: Default
- More in progress for flow from local-> cloud
Set via: MCP_TRANSPORT=<transport-type>
License
MIT
Related Servers
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Debugger MCP Server
A development tool for real-time debugging, code quality monitoring, and AI insights for React/Next.js applications.
Together AI Image Server
A TypeScript-based server for generating images using the Together AI API.
Authn8
Access your team's 2FA codes from AI agents without sharing secrets. List accounts, generate TOTP codes, and maintain full audit trails
Developer MCP Server
A context management system designed for software development teams with customizable data storage.
Pharo NeoConsole
Evaluate Pharo Smalltalk expressions and get system information via a local NeoConsole server.
Mentor MCP
Provides AI-powered mentorship to LLM agents for tasks like code review, design critique, and brainstorming, using the Deepseek API.
Sapiom
One API key gives agents access to 80+ tools: web search, deep search, browser automation, screenshots, 400+ LLM models, image generation, text-to-speech, sound effects, and phone verification. Pay-per-use with spend governance built in.
pip Package README MCP Server
Fetch READMEs, metadata, and search for Python packages on PyPI.
Credos
Share your team's Coding Best Practices with Cursor, VS Code, Claude code, Windsurf, JetBrains IDEs and other coding tools supporting remote MCP connection.
Rust Docs MCP Server
Query up-to-date documentation for Rust crates.