Skip to content

v1.20

Choose a tag to compare

@hermanekt hermanekt released this 15 Apr 23:21
· 171 commits to main since this release
e40e925

Highlights

πŸͺ„ Client MCP Wizard (beta) β€” new

A standalone /wizard page in the admin portal that replaces hand-editing JSON / TOML config files for 14 AI clients:

Claude Desktop, Claude Code (CLI), OpenAI Codex, ChatGPT, VS Code + GitHub Copilot, Cursor, Cline, JetBrains AI, Goose (Block), Open WebUI, 5ire, Gemini CLI, n8n, Generic.

Four-step flow: pick a Zabbix server β†’ pick a token β†’ pick a client β†’ copy the config. Handles URL composition, 0.0.0.0 host override (auto-detected Docker IPs de-emphasized behind a <details> since they are not client-reachable), transport picker with a "detected" badge on the running transport, live Bearer token substitution in both the config snippet and a matching curl quick-test block, copy-on-hover overlay icons. When the MCP server is in no-auth mode a Continue without token card generates a tokenless snippet.

Per-client snippets come from a single-source-of-truth catalog (src/zabbix_mcp/admin/wizard_clients.py) cross-checked against each client's current April 2026 documentation:

  • Claude Desktop β€” uses mcp-remote npx wrapper because the in-app Custom Connectors UI only accepts OAuth 2.0 (not raw Bearer).
  • Claude Code β€” new --transport / --header flags (2025 rename from -t / -h), stdio transport via -- <command>.
  • ChatGPT β€” Developer mode Apps & Connectors path (replaces the old "Beta features > Custom Connectors").
  • Gemini CLI β€” httpUrl for Streamable HTTP, url for SSE (different JSON keys, not a type discriminator).
  • Goose β€” Streamable HTTP YAML schema at ~/.config/goose/config.yaml (type: streamable_http, uri, headers).
  • Open WebUI β€” native MCP support since v0.6.31 (no mcpo bridge needed for Streamable HTTP).
  • n8n β€” HTTP Streamable supported since 1.104.0 (July 2025).

Marked beta pending real-world feedback on OAuth-vs-Bearer handling and Docker / NAT / reverse-proxy host override edge cases β€” report issues at https://github.com/initMAX/zabbix-mcp-server/issues.

🧹 Admin portal polish

  • Dashboard Zabbix Servers card β€” fixed text overflow when the server URL error message is long (ellipsis + full error in tooltip, min-width: 0 on flex children so text-overflow: ellipsis can actually kick in).
  • Tokens list β€” removed the non-functional Copy prefix clipboard button (prefix is a hash identifier, not a valid credential), dropped the duplicate ... suffix from the displayed prefix, aligned Activate/Revoke/Delete action buttons with min-width: 78px, bumped .btn-ghost border color so it stays visible against the hover row tint in light mode, min-width: 70px on status badges so Revoked does not stick out.
  • /tokens/create β€” card is now full-width to match the /tokens list page.

πŸ“Έ Screenshots refreshed

Every admin screenshot in docs/ (dashboard, tokens, transport settings, wizard) has a dark + light variant at 1280x800, plus three wizard variants (steps 1-2, step 3 client picker, step 4 output).

Verification

  • pytest: 285/287 (2 pre-existing symlink path-handling fails unrelated to this release)
  • Docker build + runtime: v1.20 healthy (/health returns {"status":"ok","version":"1.20"})
  • Installer tests: 18/18 PASS across RHEL 8/9/10, AlmaLinux 8/9/10, Oracle 8/9/10, Fedora, Amazon 2023, SUSE Leap 15, Ubuntu 22/24, Debian 12/13, Minimal
  • Template render: 0/14 errors across all wizard client snippets with sample inputs
  • Visual: Playwright regression of all admin portal pages in both themes

Upgrade

# host install
sudo ./deploy/install.sh update

# docker
docker compose pull && docker compose up -d

Full changelog: CHANGELOG.md