Token导航 LogoToken导航TokenDH.com
Sample Mq MCP logo
AI代理stdio官方级别未说明来源级核验

Sample Mq MCP

MCP Server

IBM MQ MCP服务器提供对IBM MQ的监控和管理能力,支持企业级诊断和安全只读访问,适用于AI代理集成和运维团队。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

binwalmanish

提供方

binwalmanish

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python mqmcpserver_enterprise.py

详细介绍

IBM MQ MCP服务器

此存储库包含两个IBM MQ模型上下文协议(MCP)服务器,它们向AI代理(如Claude)公开IBM MQ监控和管理功能。两个服务器都通过HTTPS与IBM MQ的REST API和MQSC命令通信。

______________________________________________________________________

服务器概述

文件服务器名称访问级别用例
mqmcpserver_enterprise.pymqmcpserver-enterprise完全读取权限需要深入诊断的运营团队
mqmcpserver_readolly_secure.pymqmcpserver-enterprise-readonly严格只读(安全强化)AI代理、审计员、只读操作员

______________________________________________________________________

mqmcpserver_enterprise.py

企业级MCP服务器,专为大型MQ基础设施(200多台服务器,500多个队列管理器)而设计。提供全面的监控、分析和健康报告工具。

工具

discover_all_queue_managers

发现并列出所有已配置MQ服务器上的所有队列管理器。

  • 参数:
  • 退货: 按状态和区域分组的发现报告,包括运行状态、环境和关键性元数据
  • MQSC/API: GET /qmgr/
  • 用途: 初步基础设施发现,所有QM的健康检查

______________________________________________________________________

health_check_all_queues

对队列管理器上的所有队列进行全面的健康检查。标记深度阈值以上的队列和没有活动消费者的队列。

  • 参数:

- qmgr_name (str)--队列管理器名称,例如。 QM1 - depth_threshold (int,默认值 80)--如果队列深度超过此百分比,则发出警报

  • 退货: 包含警报(HIGH_DEPTH、NO_CONSUMERS)、汇总统计信息和按深度排列的前10个队列的运行状况报告
  • MQSC命令: DISPLAY QLOCAL(*) CURDEPTH MAXDEPTH IPPROCS OPPROCS
  • 用途: 日常健康检查、事故调查、产能监控

______________________________________________________________________

monitor_channel_status

监控队列管理器上的所有通道(发送方、接收方、服务器、集群)。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: 通道状态报告分类为“正在运行”、“未活动”、“正在重试”或“已停止”。突出显示处于“重试”或“停止”状态的频道
  • MQSC命令: DISPLAY CHSTATUS(*) ALL
  • 用途: 连接故障排除、网络问题检测、群集运行状况

______________________________________________________________________

analyze_queue_depth_trends

分析当前队列深度,以确定容量问题和不断增长的队列。

  • 参数:

- qmgr_name (str)--队列管理器名称 - queue_pattern (str,默认值 *)--队列名称过滤模式

  • 退货: 容量分析,包括每个队列的利用率百分比、严重性分类(信息/警告/关键)和建议
  • MQSC命令: `DISPLAY QLOCAL(

) CURDEPTH MAXDEPTH MSGAGE`

  • 用途: 容量规划、识别慢速消费者、预测问题

______________________________________________________________________

get_application_connections

列出与队列管理器的所有活动应用程序连接。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: 活动连接总数和连接详细信息行(可读性上限为50)
  • MQSC命令: DISPLAY CONN(*) ALL
  • 用途: 安全审计、解决应用程序问题、容量规划

______________________________________________________________________

check_dead_letter_queues

检查死信队列(DLQ)并报告消息累积。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: DLQ深度和补救建议(如果存在消息)
  • MQSC命令: DISPLAY QLOCAL(SYSTEM.DEAD.LETTER.QUEUE) CURDEPTH MAXDEPTH
  • 用途: 排除邮件传递故障,识别有问题的应用程序

______________________________________________________________________

monitor_cluster_health

监控所有已配置队列管理器的MQ群集运行状况。

  • 参数:

- cluster_name (str,默认值 *)--集群名称模式

  • 退货: 来自每个响应队列管理器的群集成员状态
  • MQSC命令: DISPLAY CLUSQMGR() ALL
  • 用途: 集群故障排除,确保集群稳定性,检测大脑分裂

______________________________________________________________________

get_performance_metrics

检索队列管理器的性能指标。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: 原始队列管理器状态数据,包括CPU、内存和消息速率指示器
  • MQSC命令: DISPLAY QMSTATUS(*) ALL
  • 用途: 性能故障排除、容量规划、SLA监控

______________________________________________________________________

generate_capacity_report

在所有队列管理器或筛选环境中生成容量规划报告。

  • 参数:

- environment (str,默认值 all)--筛选条件 production, staging, development,或 all

  • 退货: 执行摘要,包括QM总计数、队列计数、消息计数;按消息量排序的每个QM细分;以及缩放建议
  • MQSC命令: DISPLAY QLOCAL(*) CURDEPTH MAXDEPTH
  • 用途: 月度容量审查、预算规划、基础设施扩展决策

______________________________________________________________________

detect_anomalies

检测队列管理器行为中的异常,例如队列接近容量或没有消费者的消息。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: 按类型(容量、NO_消耗者)分类的关键和高优先级问题的异常报告
  • MQSC命令: DISPLAY QLOCAL(*) CURDEPTH MAXDEPTH IPPROCS MSGAGE
  • 用途: 主动问题检测、自动监控、事件预防

______________________________________________________________________

batch_health_check

使用可选的区域和关键性过滤器并行跨多个队列管理器运行健康检查。

  • 参数:

- region (str,默认值 all)--筛选条件 us-east, us-west, eu-west,或 all - criticality (str,默认值 all)--筛选条件 high, medium, low,或 all

  • 退货: 包含总警报计数和每个QM状态(正常/警报/错误)的汇总报告
  • 代表们: health_check_all_queues 每个匹配的队列管理器
  • 用途: 日常健康检查、高管仪表板、SLA报告

______________________________________________________________________

mqmcpserver_readolly_secure.py

企业服务器的安全强化版本。所有MQSC命令在执行前都要经过一个验证层,该层强制执行严格的只读策略。此服务器可以安全地暴露给AI代理、审计员或任何无法修改MQ基础架构的用户。

工具

discover_all_queue_managers

与企业版相同,但明确仅使用HTTP GET 请求:

  • 参数:
  • 退货: 根据QM提供运行状态、地区、环境和关键性的发现报告
  • API方法: GET /qmgr/

______________________________________________________________________

health_check_all_queues

与企业版相同的功能,通过只读安全包装器执行。

  • 参数:

- qmgr_name (str)--队列管理器名称 - depth_threshold (int,默认值 80)--警报百分比阈值

  • 退货: 运行状况报告,或者如果底层命令被阻止,则显示安全违规消息
  • MQSC命令(已验证): DISPLAY QLOCAL(*) CURDEPTH MAXDEPTH IPPROCS OPPROCS

______________________________________________________________________

monitor_channel_status

与企业版相同的功能,通过只读安全包装器执行。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: 通道状态报告,或者如果底层命令被阻止,则显示安全违规消息
  • MQSC命令(已验证): DISPLAY CHSTATUS(*) ALL

______________________________________________________________________

check_dead_letter_queues

与企业版功能相同,但明确指出不允许浏览或删除DLQ消息。

  • 参数:

- qmgr_name (str)--队列管理器名称

  • 退货: DLQ深度报告和建议,或安全违规消息
  • MQSC命令(已验证): DISPLAY QLOCAL(SYSTEM.DEAD.LETTER.QUEUE) CURDEPTH MAXDEPTH

______________________________________________________________________

get_security_policy

内联返回完整的安全策略文档——允许的操作、阻止的操作、执行详细信息和升级联系人。

  • 参数:
  • 退货: 格式化的安全策略,显示允许的MQSC命令、阻止的MQSC指令、允许/阻止的REST操作和更改管理过程

______________________________________________________________________

安全架构(只读服务器)

如何阻止写入命令

只读服务器强制执行多层安全模型。每个MQSC命令都经过 execute_mqsc_readonly() 在到达IBM MQ REST API之前。

AI Agent Tool Call
       │
       ▼
execute_mqsc_readonly(qmgr_name, command)
       │
       ├─► validate_mqsc_command(command)
       │         │
       │         ├─ Extracts the command verb (first word, uppercased)
       │         ├─ Checks verb against BLOCKED_MQSC_COMMANDS blocklist
       │         ├─ Checks verb against ALLOWED_MQSC_COMMANDS allowlist
       │         └─ Scans full command text for dangerous keyword patterns
       │
       ├─ If BLOCKED → log_security_event(CRITICAL) → return security violation message
       │
       └─ If ALLOWED → log_security_event(INFO) → send to IBM MQ REST API

阻止MQSC命令

以下命令谓词被无条件阻止:

命令原因
DEFINE创建队列、通道、进程等。
ALTER修改现有MQ对象定义
DELETE删除MQ对象
CLEAR清除队列中的所有消息
START启动频道、听众、服务
STOP停止频道、听众、服务
RESET重置通道统计信息或序列号
REFRESH刷新群集或安全配置
SUSPEND从群集中挂起队列管理器
RESUME恢复暂停的队列管理器
PING通过通道发送ping(副作用)
RESOLVE解决有疑问的交易
MOVE在队列之间移动消息
SET更改系统参数
ARCHIVE归档日志文件
RECOVER恢复对象或事务
RCDMQIMG记录MQ映像以进行恢复
RCRMQOBJ从映像中重新创建MQ对象

允许的MQSC命令

只允许使用一个命令动词:

命令描述
DISPLAY读取对象定义和运行时状态

除了块列表检查外,还会扫描命令文本以查找危险关键字(CLEAR, DELETE, ALTER, DEFINE, START, STOP, RESET)使用正则表达式防止通过嵌入式子命令注入。

HTTP方法限制

GET 对于直接REST API调用是允许的。 POST, PUT, DELETE,以及 PATCH 被封锁。(注意:MQSC执行端点使用 POST 通过IBM MQ的REST API设计,但是 *内容* 该POST被验证为仅包含 DISPLAY 命令。)

被阻止的REST端点

端点模式原因
/messaging/消息发送和获取操作
/action/qmgr/*/mqscMQSC执行(单独验证)

安全审计日志记录

每个命令执行(无论是允许还是阻止)都通过以下方式记录 log_security_event() 以结构化格式发送到stderr:

[] SECURITY [] : 
事件类型严重性触发器
ALLOWED_MQSC_COMMAND信息命令通过验证并发送到MQ
BLOCKED_MQSC_COMMAND关键命令被安全层拒绝
MQSC_EXECUTION_ERROR警告允许的命令在MQ REST API级别失败

在生产中,将这些日志重定向到SIEM或安全监控系统。

安全违规响应

当尝试执行被阻止的命令时,该工具会返回一个格式化错误,而不是执行任何操作:

╔════════════════════════════════════════════════════════════════════════════╗
║                          SECURITY POLICY VIOLATION                          ║
╚════════════════════════════════════════════════════════════════════════════╝

❌ COMMAND BLOCKED: BLOCKED: 'ALTER' commands are not allowed...

Requested Command: ALTER QLOCAL(MY.QUEUE) MAXDEPTH(10000)
Queue Manager: QM1
Timestamp: 2025-01-15T10:30:00.000000
...

在返回给调用者之前,该事件也会写入审计日志。

______________________________________________________________________

配置

两台服务器共享相同的 MQ_SERVERS 配置字典:

MQ_SERVERS = {
    "QM1": {
        "url": "https://localhost:9443/ibmmq/rest/v3/admin/",
        "username": "admin",
        "password": "passw0rd",
        "region": "us-east",
        "environment": "production",
        "criticality": "high"
    },
    ...
}

通过扩展此字典添加其他队列管理器。对于只读服务器,使用具有最小权限(OAM)的专用只读IBM MQ服务帐户 +inq +browse 在对象上,否 +put, +get, +set,或管理权)。

______________________________________________________________________

运行服务器

# Enterprise server
python mqmcpserver_enterprise.py

# Read-only security hardened server
python mqmcpserver_readonly_secure.py

两台服务器都使用 stdio 用于与Claude Desktop等MCP客户端集成的传输。

依赖项

pip install mcp httpx

______________________________________________________________________

选择合适的服务器

场景推荐服务器
AI代理/LLM集成mqmcpserver_readonly_secure.py
合规性审计mqmcpserver_readonly_secure.py
只读操作员仪表板mqmcpserver_readonly_secure.py
运营团队深度诊断mqmcpserver_enterprise.py
容量规划和趋势要么(企业拥有更多工具)
暴露于人工智能的生产环境mqmcpserver_readonly_secure.py 只有
安全建议: 始终部署 mqmcpserver_readonly_secure.py 当MCP服务器可由AI代理访问时。企业服务器不提供写命令保护,只应在受控、受信任的上下文中使用。

目录标签

目录标签

PythonClaudeAI代理消息队列监控本地部署企业级诊断安全只读访问AI代理集成运维工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP