Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for Zabbix API MCP

Pod holds 11 of 11 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to Zabbix API MCP.

Most discussed

set_maintenance: comma/whitespace-only hosts bypasses this tool's own validation

`set_maintenance`'s `location`/`hosts` normalization strips and rejects a wholly empty or whitespace-only string (fixed in #57), but a string that's non-empty after stripping yet resolves to zero real host names after splitting -- e.g. `hosts=" , "` -- still passes the "exactly one of location/hosts" check here.

Not a silent-success bug: the resulting empty `host_list` is passed to `zapi_lib.ZapiClient.set_maintenance_for_hosts([])`, which raises `ZapiError("... requires at lea

Read the thread · 2026-08-10 · closed · 2 comments

Pre-public audit: review for sensitive data (secrets / PII / org-specific settings)

Goal

Before making this repository public, audit the current tree and the entire git history for any secrets, third-party personal data, real infrastructure identifiers, or organization-specific settings. Once clear, proceed with going public.

Note: All concrete sensitive values are redacted below and described only by category, so this audit issue does not itself leak the data it tracks.

Method

Multi-agent audit across 5 dimensions (secrets / pii / infra / org-config / docs-

Read the thread · 2026-06-01 · closed · 1 comment

daily_brief: stale fossil alerts crowd Active Problems — want recency-focused display

Recreated from the pre-public repository (history was reset before going public). Original was in Japanese; translated here. Resolved by #3 / #4.

Problem

daily_brief's Active Problems lists all currently-active problems per severity. In Zabbix, liveness alerts whose recovery is not auto-confirmed (e.g. "Unavailable by ICMP ping", "RDP service is down") can stay active for months or years, so problems from long ago pile up under High / Average and **bury the day's real operational anom

Read the thread · 2026-06-01 · closed · 1 comment

docs: set_maintenance has no docs/reference.* entry

Problem

docs/reference.md / docs/reference.ja.md document every read-only tool plus acknowledge_problem, but set_maintenance — the only other write tool — has no entry in either file. It ships without a documented output format, argument semantics, or the write-tool caveats that acknowledge_problem's entry calls out (visibility, irreversibility).

Context

Noticed while adding get_maintenance_windows (#63) as the read counterpart to set_maintenance. The new tool's docs expli

Read the thread · 2026-08-11 · closed · 0 comments

set_maintenance に期間上限が無く、遠い未来の till で長期間アラート抑制されうる

背景

shigechika/zapi-mcpset_maintenance ツールは till に任意の未来日時を渡せる。呼び出し元(例: slack-mcp-bridge)が承認ゲート等の人間チェックを挟んでいても、それは目視確認どまりで機械的な歯止めではない。till に例えば2037年のような遠い未来を指定した呼び出しが承認されてしまうと、対象ホスト(location タグ一致の場合は多数になりうる)のアラートが何年も抑制され続ける。加えて、現状 set_maintenance を取り消す(メンテナンスウィンドウをキャンセルする)ツールが無いため、一度作成すると till を迎えるまで手動でZabbix UI等から消すしかない。

NichidaiSRE PR#328(slack-mcp-bridge のWRITE_TOOL_WHITELISTにset_maintenance追加)のai-reviewで指摘された(advisory、blockingではない)。

提案

以下のいずれか、または組み合わせ:

  • `set

Read the thread · 2026-08-10 · open · 0 comments

set_maintenance: reset_client() and generic-KeyError catch mislabel pure-validation errors

Two related, pre-existing patterns in this file that `set_maintenance` (#57) exercises through a new code path:

  1. `except ZapiError as e: reset_client()` fires even when the `ZapiError` came from pure local validation with zero network I/O -- e.g. `zapi_lib._parse_maintenance_time` raises `ZapiError` on a malformed `since`/`till` string before any `self._call()`, and `_resolve_hostids_by_name`'s empty-list guard does the same. Every other tool's `ZapiError` has always

Read the thread · 2026-08-10 · open · 0 comments

set_maintenance: idempotency key (name+since) doesn't include the actual target

`set_maintenance`'s idempotency key is `name` + `since` + a tag/host mode suffix only (`zapi_lib.ZapiClient._create_maintenance_window`, shigechika/zapi-lib#26) -- it never includes the `location` value or the `hosts` list itself.

Two calls sharing the same `name`+`since` but a different target silently collide: the second call hits Zabbix's `maintenance.get`, finds the first call's window, and returns its id without creating anything for the new target and without validat

Read the thread · 2026-08-10 · open · 0 comments

feat: exclude_hosts option in categories.ini to suppress known-normal hosts from daily_brief

Problem

daily_brief flags every host whose item value crosses the category threshold. Some hosts are known-normal at extreme values — the typical case is a DHCP pool dedicated to static (fixed) address assignment: every address in the range is bound to a host entry, so the pool sits at 100% usage by design, forever. Each morning brief then reports it as a critical exhaustion, and downstream consumers (e.g. an automated patrol routine) keep escalating a false positive.

Today the only w

Read the thread · 2026-08-06 · open · 0 comments

Most recent

Add a live smoke test that exercises every registered tool

Motivation

Unit tests check logic against fixtures. They cannot tell you that a tool users actually call has stopped returning real data — a tool that exists but does not work is worse than no tool.

This happened for real in jquants-mcp: the earnings-calendar tools returned well-formed empty results for every query while the whole suite stayed green (shigechika/jquants-mcp#523). A live smoke test was built there to close the gap, and on its first production run it found three defects,

Read the thread · 2026-07-25 · closed · 0 comments

docs: user documentation site on GitHub Pages (family rollout)

Summary

Roll out the family documentation-site pattern to this repository: a task-oriented user guide on GitHub Pages, complementing the reference README.

Template (live example): https://github.com/shigechika/mcp-stdio — issue shigechika/mcp-stdio#284, scaffold PR shigechika/mcp-stdio#285, published at https://shigechika.github.io/mcp-stdio/ (Japanese at /ja/).

Steps

  1. Copy the three-piece scaffold from mcp-stdio and adapt:
    • mkdocs.yml — change site_name / site_url / `rep

Read the thread · 2026-07-02 · closed · 0 comments

Exit cleanly on ^C instead of dumping an anyio teardown traceback

Observed

Launching zapi-mcp interactively by mistake and pressing ^C dumps a 78-line anyio teardown traceback ending in KeyboardInterrupt (measured on 0.5.0, macOS, Python 3.14).

Expected

Silent clean exit, same as the sibling MCP servers (junos-mcp / eos-mcp / aruba-central-mcp / keycloak-mcp all exit 0 with zero stderr on SIGINT).

Fix (fleet convention, see eos-mcp __main__.py)

try:
    mcp.run()
except KeyboardInterrupt:
    os._exit(0)

Plus a subprocess-bas

Read the thread · 2026-07-02 · closed · 0 comments

The remaining reports are on the project's issue tracker.