MQ-Sentinel is a read-only MCP server that gives Claude, Cursor, and Claude Code Root Cause + Recommended Fix Steps + IBM Knowledge Center citations for every IBM MQ deployment — Standalone, Multi-Instance, RDQM, Native HA + CRR, Uniform Cluster, z/OS QSG, Containerized.
No alerts to triage. No grepping AMQERR logs. No paging the SME.
APP.SVRCONN is in
RETRYING with reason 2035 (NOT_AUTHORIZED).
Most likely cause: a CHLAUTH BLOCKUSER rule blocked the user, or the
resolved MCAUSER lacks +connect / +inq on the QM.
DISPLAY CHLAUTH('APP.SVRCONN') ALL
Every recommendation cites IBM Knowledge Center. The MCP itself never calls an LLM, never invents a fix, and cannot execute a destructive command — enforced by three layers of allowlist + the MQ service account's own permissions.
2035 NOT_AUTHORIZED, 2009/2059 connection errors, INDOUBT, AMQ9202/9208/9503 from log tail.
Headers only — bodies never read. Grouped by reason 2035/2080/2030/2051/2053/2079, backout-loop detection.
Partial repository, stale CLUSQMGR, suspended members, unhealthy cluster channels.
Replica state, quorum, log replay lag, split-brain, Cross-Region Replication lag.
Pacemaker quorum + offline nodes + failed resources, DRBD per-peer state, split-brain.
QSG members, CHIN, page sets, buffer pools, coupling facility structures.
Active/standby state, dual-active split-brain detection, failover events.
Composite — channels + DLQ + cluster against a single connection. Executive summary, severity counts, top issues. The page that ships to PagerDuty.
Same product, three packagings. Same security guarantees regardless of how you run it.
curl -fsSL https://raw.githubusercontent.com/pramodreddyboddu/mq-sentinel/main/scripts/install.sh \
| MQS_DEV_MODE=true \
MQS_DEV_MODE_ACK_INSECURE=yes \
bash
helm install mq-sentinel \ oci://ghcr.io/pramodreddyboddu/charts/mq-sentinel \ --set oidc.issuer=https://login.example.com/... \ --set oidc.audience=mq-sentinel \ --set oidc.jwksUrl=https://...
examples/kind/.sudo dnf install \ https://github.com/pramodreddyboddu/mq-sentinel/releases/latest/download/mq-sentinel-0.1.0-1.x86_64.rpm sudo systemctl enable --now mq-sentinel
brew install pramodreddyboddu/tap/mq-sentineldocker run -i --rm ghcr.io/pramodreddyboddu/mq-sentinel:latest serveBanks, healthcare, telcos. Read-only is enforced by code, not policy. Compliance teams approved this in two days.
Static MQSC + shell allowlist. DISPLAY / DIS / PING CHANNEL only. Three-layer defense: tool, connector, MQ-side setmqaut.
Every MQ-sourced string sanitized: control/zero-width/tag chars stripped, jailbreak markers redacted, URLs constrained to www.ibm.com.
Append-only JSONL with SHA-256 chain. mq-sentinel verify-audit detects retroactive edits. SOX-evidence ready.
Message bodies are never read. Enforced by tests that scan the source code's own dataclass fields.
JWT bearer auth (RS256/384/512, ES256, PS256). Scopes: nonprod-read, prod-read, admin-audit. JWKS cached, stale-served on transient errors.
Read-only filesystem, dropped capabilities, seccomp profile, MemoryDenyWriteExecute. Cosign-signed images. CycloneDX SBOM per release.
The MCP itself never calls an LLM. Pattern-matched RCS only. Eliminates a whole class of injection-to-model-call attacks.
40+ security negative tests. pytest -m security must stay green or CI fails. Source of truth for every guarantee on this page.
From a real enterprise pain point to a hardened, documented, org-ready MCP server — using Grok Build as the primary coding partner while maintaining strict standards.
A public read-only demo runs against sandboxed fixture QMs with seeded faults. Same code path as production. No credit card. No live MQ.
curl -H "Authorization: Bearer demo-readonly" \
-H "Content-Type: application/json" \
-d '{"tool":"full_mq_health_check","params":{"qm_name":"DEMO_QM"}}' \
https://demo.mq-sentinel.io/mcp/tools/call \
| jq .summary
Or add the MCP to Claude Desktop and ask "What's wrong with DEMO_QM?"