返回市场
ibm-存储洞察-mcpserver

ibm-存储洞察-mcpserver

作者:IBM9 星标更新:2025-11-06

项目介绍

IBM 存储洞察 MCP 服务器

免责声明:这是一个由社区维护的项目,并未得到 IBM 的正式认可、支持或背书。此 MCP 服务器利用了 IBM 存储洞察 的外部 API。

这个开源的模型上下文协议(MCP)服务器将帮助 IBM 存储洞察 集成到 Agentic-AI 生态系统中。它将帮助用户将其 AI 代理无缝地用于监控和诊断已注册到 IBM 存储洞察 的存储资产。

🚀 特性

  • 可观测性工具:通过 MCP 接口利用 IBM 存储洞察 的关键监控能力。
  • 可扩展设计:轻松集成额外的存储洞察 API 以供未来扩展。
  • Pythonic:便于 AI 开发者使用和扩展。

🛠️ 工具

以下列出的是目前通过 MCP 服务器暴露的工具:

1. fetch_tenant_alerts

  • 描述:检索租户的警报列表。
  • 输入
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:租户的警报列表。

2. fetch_tenant_notifications

  • 描述:检索租户的通知列表。
  • 输入
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:租户的通知列表。

3. fetch_storage_systems

  • 描述:获取添加到租户用于监控的所有存储系统。
  • 输入
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:租户上的存储系统列表。

4. fetch_system_notifications

  • 描述:获取租户下的系统通知。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:由唯一系统 ID 表示的系统的通知列表。

5. fetch_system_details

  • 描述:获取租户上给定系统的详细信息。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:由唯一系统 ID 表示的系统的详细信息。

6. fetch_system_io_rate

  • 描述:获取租户上给定系统的 I/O 速率。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的 I/O 速率,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • volume_overall_read_io_rate
    • volume_overall_write_io_rate
    • volume_overall_total_io_rate

7. fetch_system_data_rate

  • 描述:获取租户上给定系统的数据传输速率。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的数据传输速率,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • volume_read_data_rate
    • volume_write_data_rate
    • volume_total_data_rate

8. fetch_system_response_time

  • 描述:获取租户上给定系统的响应时间。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的响应时间,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • volume_read_response_time
    • volume_write_response_time - volume_total_response_time

9. fetch_system_transfer_size

  • 描述:获取租户上给定系统的传输大小。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的传输大小,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • volume_read_transfer_size
    • volume_write_transfer_size
    • volume_total_transfer_size

10. fetch_system_cpu_utilization

  • 描述:获取租户上给定系统的 CPU 利用率。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的 CPU 利用率,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • cpu_utilization

11. fetch_system_capacity

  • 描述:获取租户上给定系统的容量。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
    • metric_types (可选字符串列表):性能指标类型
    • duration (可选字符串):数据获取的时间长度(例如 20m1h1d
  • 返回值:请求的容量,由唯一系统 ID 表示的系统。
  • 支持的 I/O 速率指标
    • used_capacity
    • available_capacity

12. fetch_system_components

  • 描述:获取租户上给定系统的组件。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • comp_type (字符串):要获取的组件名称。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:请求的容量,由唯一系统 ID 表示的系统。
  • 支持的组件
    • volumes
    • pools
    • enclosures
    • drives
    • fc-ports
    • ip-ports
    • host-connections
    • io-groups
    • managed-disks

13. fetch_system_alerts

  • 描述:获取租户下系统的警报。
  • 输入
    • system_id (字符串):系统的唯一系统 ID。
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:由唯一系统 ID 表示的系统的警报列表。

💬 提示

1. morning_cup_of_coffee

  • 描述:按顺序获取存储系统详细信息、警报详细信息和通知详细信息,使用相同的输入。过滤结果仅显示处于错误状态的系统、严重警报和通知。
  • 输入
    • tenant_id_input (可选字符串):存储洞察租户 ID。
  • 返回值:执行所需工具并输出结果的提示

🧪 设置

设置您的环境

  • 安装 uv :参考 安装 UV 部分来安装 uv。

存储洞察凭证

此 MCP 服务器中的工具调用了 IBM 存储洞察 的 API,因此需要存储洞察租户 ID 和 API 密钥才能正常工作。参考 生成 REST API 密钥 来为您的租户 ID 生成 REST API 密钥。

src/si_mcp_server_oss/.env 文件中添加以下值:

DEFAULT_SI_TENANT_ID =  <您的存储洞察租户 ID>
DEFAULT_SI_API_KEY = <您的存储洞察外部 REST API 密钥>
ADDITIONAL_TENANT_API_MAPPING = <如果希望服务器支持多个租户,可以添加额外的租户 ID 和 API 密钥映射(可选)>
LOG_FILE_PATH = <存储 MCP 服务器日志的目录路径(可选)>
LOG_LEVEL = <配置的日志器的日志级别(可选)>
CONFIG_FILE_PATH = <配置文件的路径(可选)>

🖥️ 使用 Claude Desktop

在您的 claude_desktop_config.json 中添加以下配置:

MacOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "si_mcp_server": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/si-mcp-server-oss/src/si_mcp_server_oss",
        "run",
        "server.py"
      ]
    }
  }
}

🐞 测试与调试

  1. 我们推荐使用 MCP Inspector 进行测试和调试。您可以运行检查器:

    npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/si-mcp-server-oss/src/si_mcp_server_oss run server.py
    

    检查器将提供一个 URL,您可以在浏览器中打开该 URL 查看日志并手动发送请求。

  2. 可选地,更改 .env 文件中的 LOG_LEVEL 并设置为 DEBUG 以收集来自服务器的调试日志。

使用流式 HTTP 传输运行 MCP 服务器

此 MCP 服务器配置为通过标准输入/输出(传输=stdio)进行通信,但可以重新配置为流式 HTTP。要设置流式 HTTP,请参阅 身份验证流式 HTTP 传输

🤝 贡献

欢迎贡献!如果您有任何建议、错误报告或改进意见,请随时打开问题或拉取请求。

📄 许可证

本项目根据 Apache 许可证,第 2.0 版 许可。