Zammad MCP Server — Deployment

Docker, SSE transport, and production deployment options for the Zammad MCP Server.

Deployment

This page covers common deployment patterns. For cloud-specific guides (Cloud Run, Fly.io, Railway), see the full Deployment guide on GitHub.

Local development with Zammad

The repository includes Docker Compose for a local Zammad instance:

git clone https://github.com/Softoft-Orga/zammad-mcp-server.git
cd zammad-mcp-server/docker
docker-compose up -d

Wait until Zammad is ready (often 2–3 minutes), then open http://localhost:8080, create an API token, and point ZAMMAD_URL at that host from your MCP client.

Install from source

git clone https://github.com/Softoft-Orga/zammad-mcp-server.git
cd zammad-mcp-server
uv sync --extra dev
zammad-mcp-server

Docker image

Build and run the packaged server:

docker build -t zammad-mcp-server .
docker run --rm -e ZAMMAD_URL=... -e ZAMMAD_HTTP_TOKEN=... zammad-mcp-server

Pass environment variables for URL, token, and MCP_DENIED_TOOLS. Mount no ticket data volumes — the server is stateless.

SSE transport (remote MCP)

zammad-mcp-server --transport sse --port 8000

Use when an MCP client connects over HTTP instead of stdio. Restrict network access; terminate TLS at a reverse proxy in production.

PyPI releases

Production installs typically use pinned versions:

pip install zammad-mcp-server==0.1.0

Check PyPI for the current release.

CI and quality

The public repository runs automated tests and lint on each push. Before relying on a release in production, verify the GitHub Actions status on the tag you deploy.

Architecture

For component diagrams, request flow, and extension points, read ARCHITECTURE.md on GitHub.