A Cookiecutter template for creating MCP servers with Apple container support and configurable transport methods.
A cookiecutter template for quickly creating MCP (Model Context Protocol) servers with Apple container support.
Apple containers provide VM-level isolation with Docker-like simplicity:
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:
# From local directory
cookiecutter /path/to/cookiecutter-mcp-uv-container
# From GitHub
cookiecutter https://github.com/daviddrummond95/cookiecutter-mcp-uv-container
You'll be prompted for:
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
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.py
to add your own MCP tools
For Claude Desktop, you have two options:
{
"mcpServers": {
"My MCP Server (Local)": {
"command": "uv",
"args": ["run", "fastmcp", "/path/to/my-mcp-server/hello.py"]
}
}
}
Then configure Claude Desktop to connect via STDIO:
{
"mcpServers": {
"My MCP Server (Container)": {
"command": "container",
"args": ["run", "--interactive", "my-mcp-container"]
}
}
}
The template supports multiple transport methods via environment variables:
Set via: MCP_TRANSPORT=<transport-type>
MIT
Generate images using Bytedance's SeedDream 3.0 model via the Replicate platform.
Interact with Homebrew (the package manager for macOS and Linux) using natural language commands.
Integrates with Azure DevOps, allowing interaction with its services. Requires a Personal Access Token (PAT) for authentication.
Interact with Odoo instances using the XML-RPC API. Requires configuration via environment variables or config files.
MCP Language Server gives MCP enabled clients access to semantic tools like get definition, references, rename, and diagnostics.
Interact with the Unstructured API to manage data sources, destinations, workflows, and jobs.
Interact with Azure DevOps for managing projects, pipelines, and repositories.
A Model Context Protocol server that provides access to the connpass users API v2, utilizing Gemini for grounding.
Add translation keys to Lokalise projects. Requires a Lokalise API key.
Finds relevant code snippets, developer articles, and blog posts based on your queries.