Get the FREE Ultimate OpenClaw Setup Guide →

Zammad

A Model Context Protocol (MCP) server for Zammad integration, enabling AI assistants to interact with tickets, users, and organizations.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio basher83-zammad-mcp uvx --from git+https://github.com/basher83/zammad-mcp.git mcp-zammad \
  --env ZAMMAD_URL="https://your-instance.zammad.com/api/v1" \
  --env ZAMMAD_HTTP_TOKEN="your-api-token"

How to use

This MCP server integrates AI assistants with Zammad, exposing a suite of tools to manage tickets, users, organizations, and attachments via the Zammad API. It offers ticket search, retrieval, creation and updates, article additions, tag management, and attachment handling, along with user and organization lookups, system metadata, and convenient data access prompts. You can reach Zammad data through direct API calls or via the provided zammad:// resource references. The server includes pre-configured prompts for ticket analysis, drafting responses, and escalation summaries to streamline AI-assisted support workflows. To use it, configure the MCP transport (stdio or HTTP) and point the server at your Zammad instance using the environment variables described in the installation instructions. You can run the server directly with uvx, in Docker, or as a Python module, depending on your deployment preferences.

How to install

Prerequisites:

  • Node.js or Python tooling as appropriate for your deployment (uvx is a Python tool that orchestrates MCP servers).
  • Access to a Zammad instance and credentials (URL and API token or OAuth2/username credentials).

Option A: Run with uvx (recommended for quick start)

  1. Ensure uv is installed on your system. On macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh On Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  2. Run the MCP server from the GitHub repo: uvx --from git+https://github.com/basher83/zammad-mcp.git mcp-zammad
  3. Provide credentials via environment variables (example): ZAMMAD_URL=https://your-instance.zammad.com/api/v1
    ZAMMAD_HTTP_TOKEN=your-api-token
    uvx --from git+https://github.com/basher83/zammad-mcp.git mcp-zammad

Option B: Docker Run

  1. Run with environment variables: docker run --rm -i
    -e ZAMMAD_URL=https://your-instance.zammad.com/api/v1
    -e ZAMMAD_HTTP_TOKEN=your-api-token
    ghcr.io/basher83/zammad-mcp:latest
  2. If using docker secrets/files for tokens, mount them accordingly and reference via file path as shown in the README.
  3. Stand up with an .env file by using --env-file .env if desired.

Option C: Standalone as a Python module

  1. Install dependencies and run as a module: python -m mcp_zammad
  2. Ensure environment variables are available in the process environment (ZAMMAD_URL, ZAMMAD_HTTP_TOKEN, etc.).

Additional notes

Tips and caveats:

  • Always keep your Zammad credentials secure. Prefer token-based authentication (ZAMMAD_HTTP_TOKEN) or OAuth2 when available.
  • If using Docker transport, remember to include the -i (interactive) flag for stdio transport to ensure proper stdin handling.
  • The MCP_TRANSPORT option in the .env file controls whether stdio or HTTP transport is used. If switching to HTTP transport, ensure MCP_HOST and MCP_PORT are set accordingly.
  • For production deployments, pin Docker images to a specific version (e.g., ghcr.io/basher83/zammad-mcp:1.0.0) rather than latest to avoid unexpected changes.
  • The zammad:// URIs (e.g., zammad://ticket/{id}) provide convenient navigation to resources within the Zammad UI or API layer.
  • Review the available tools in the README to understand the capabilities (e.g., zammad_search_tickets, zammad_get_ticket, zammad_create_ticket, zammad_get_user, zammad_list_ticket_states, etc.).

Related MCP Servers

Sponsor this space

Reach thousands of developers