Sign inSign up

lordraw/zabbix-mcp

By lordraw

•Updated 14 days ago

MCP server exposing Zabbix monitoring as tools for AI agents (stdio + Streamable HTTP)

Image
Machine learning & AI
0

1.0K

lordraw/zabbix-mcp repository overview

⁠zabbix-mcp

A Model Context Protocol (MCP) server that exposes Zabbix monitoring as callable tools for AI agents and MCP-compatible clients (Claude Desktop, Claude Code, custom agents…).

Source: https://github.com/lordraw77/zabbix-mcp⁠

⁠Tags

TagContents
latestLatest release
v1.2.0Streamable HTTP transport; legacy HTTP+SSE kept for backwards compatibility
v1.1.1Previous release (HTTP+SSE only)

⁠Transports

TransportEndpointNotes
stdio (default)stdin/stdoutThe MCP client spawns the container
Streamable HTTPPOST / GET / DELETE /mcpRecommended for remote and multi-client setups
HTTP+SSEGET /sse, POST /messages/Deprecated (MCP 2024-11-05) — served alongside /mcp so older clients keep working

GET /health returns a JSON status document in HTTP mode.

HTTP+SSE was superseded by Streamable HTTP in the 2025-03-26 revision of the MCP specification. Point anything new at /mcp; /sse remains available until clients have caught up.

⁠Quick start

Create a .env file:

ZABBIX_URL=https://zabbix.example.com
ZABBIX_TOKEN=your_api_token_here
ZABBIX_VERIFY_SSL=true
⁠stdio (spawned by the MCP client)
docker run --rm -i --env-file .env lordraw/zabbix-mcp:latest
{
  "mcpServers": {
    "zabbix": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env-file", "/absolute/path/to/.env",
               "lordraw/zabbix-mcp:latest"]
    }
  }
}
⁠Streamable HTTP (persistent server)
docker run -d --name zabbix-mcp \
  --env-file .env \
  -e MCP_TRANSPORT=http \
  -p 8000:8000 \
  lordraw/zabbix-mcp:latest

curl -s http://localhost:8000/health

Client URL: http://localhost:8000/mcp

claude mcp add --transport http zabbix http://localhost:8000/mcp

Legacy clients can still use http://localhost:8000/sse against the same container.

⁠Environment variables

⁠Zabbix connection
VariableRequiredDefaultDescription
ZABBIX_URLyes—Full base URL of the Zabbix frontend
ZABBIX_TOKENone of†—API token (Zabbix 5.4+, recommended)
ZABBIX_USERone of†—Username for user/password auth
ZABBIX_PASSWORDone of†—Password for user/password auth
ZABBIX_VERIFY_SSLnotrueSet false to skip TLS verification

† Either ZABBIX_TOKEN or ZABBIX_USER + ZABBIX_PASSWORD. The token takes priority if both are present.

⁠Transport
VariableDefaultDescription
MCP_TRANSPORTstdiostdio, http / streamable-http, or sse (deprecated alias of http)
MCP_HOST0.0.0.0Bind address (HTTP mode only)
MCP_PORT8000TCP port (HTTP mode only)
MCP_PATH/mcpPath of the Streamable HTTP endpoint
MCP_JSON_RESPONSEfalseReply to POSTs with plain JSON instead of an SSE stream
MCP_STATELESSfalseFresh transport per request, no session tracking (useful behind a load balancer)
MCP_LEGACY_SSEtrueAlso serve the deprecated /sse + /messages/ endpoints

⁠Tools (30)

Hosts, triggers/problems, items/history, maintenance windows, host groups, events and acknowledgements, graphs, templates, inventory, actions, users and user groups, analytics (flapping triggers, availability reports, trends, problem duration stats) and operational writes (enable/disable host, add or remove a host from a group).

⁠Image details

PropertyValue
Base imagepython:3.12-slim
Working dir/app
Entrypointpython server.py
Exposed port8000 (HTTP mode; ignored in stdio mode)
Credentialspassed at runtime via --env-file — never baked into the image

⁠Security notes

  • In HTTP mode the server is unauthenticated — bind it to trusted networks only, or put a reverse proxy with TLS and authentication in front.
  • Use a read-only API token with the minimum required permissions; write access is needed only for the maintenance and operational tools.

License: MIT

Tag summary

Content type

Image

Digest

sha256:36ea6accd…

Size

61 MB

Last updated

14 days ago

docker pull lordraw/zabbix-mcp