Seamless observability and diagnosis of registered storage assets.
IBM Storage Insights MCP Server
DISCLAIMER: This is a community-maintained project and is not officially affiliated with, endorsed by, or supported by IBM. This MCP server utilizes the IBM Storage Insights External APIs.
This open-sourced Model Context Protocol (MCP) server will help IBM Storage Insights to integrate in the Agentic-AI ecosystem. It will help users to bring their AI-Agents for seamless observability and diagnosis of their Storage Assets registered with IBM Storage Insights .
🚀 Features
- Observability Tools: Leverage key IBM Storage Insights monitoring capabilities via an MCP interface.
- Extensible Design: Easily integrate additional Storage Insights APIs for future expansions.
- Pythonic: Allowing ease of use and extension for AI developers
🛠️ Tools
Listed below are the tools which are presently exposed thought the MCP server:
1. `fetch_tenant_alerts`
- Description: Retrieve a list of alerts for a tenant.
- Inputs:
tenant_id_input(optional string): Storage Insights Tenant id.
- Returns: List of alerts present for the tenant.
2. `fetch_tenant_notifications`
- Description: Retrieve a list of notifications for a tenant.
- Inputs:
tenant_id_input(optional string): Storage Insights Tenant id.
- Returns: List of notifications present for the tenant.
3. `fetch_storage_systems`
- Description: Get all storage systems added to the tenant for monitoring tenant.
- Inputs:
tenant_id_input(optional string): Storage Insights Tenant id.
- Returns: List of storage systems present on the tenant.
4. `fetch_system_notifications`
- Description: Get notifications of system under the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.
- Returns: List of notifications for a system represented by unique system id.
5. `fetch_system_details`
- Description: Get details for given system present on the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.
- Returns: Details of a system represented by unique system id.
6. `fetch_system_io_rate`
- Description: Get io rate for a system present on the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.metric_types(optional list of strings): performance metric typesduration(optional string): duration for the data fetch (e.g.20m,1h,1d)
- Returns: Requested IO Rate for the given system represented by unique system id.
- Supported IO rate metrics
volume_overall_read_io_ratevolume_overall_write_io_ratevolume_overall_total_io_rate
7. `fetch_system_data_rate`
- Description: Get data rate for a system present on the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.metric_types(optional list of strings): performance metric typesduration(optional string): duration for the data fetch (e.g.20m,1h,1d)
- Returns: Requested Data Rate for the given system represented by unique system id.
- Supported IO rate metrics
volume_read_data_ratevolume_write_data_ratevolume_total_data_rate
8. `fetch_system_response_time`
- Description: Get response time for a system present on the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.metric_types(optional list of strings): performance metric typesduration(optional string): duration for the data fetch (e.g.20m,1h,1d)
- Returns: Requested Response time for the given system represented by unique system id.
- Supported IO rate metrics
volume_read_response_timevolume_write_response_timevolume_total_response_time
9. `fetch_system_transfer_size`
- Description: Get transfer size for a system present on the tenant.
- Inputs:
system_id(string): Unique system id for the system.tenant_id_input(optional string): Storage Insights Tenant id.metric_types(optional list of strings): performance metric types
Tools (9)
fetch_tenant_alertsRetrieve a list of alerts for a tenant.fetch_tenant_notificationsRetrieve a list of notifications for a tenant.fetch_storage_systemsGet all storage systems added to the tenant for monitoring tenant.fetch_system_notificationsGet notifications of system under the tenant.fetch_system_detailsGet details for given system present on the tenant.fetch_system_io_rateGet io rate for a system present on the tenant.fetch_system_data_rateGet data rate for a system present on the tenant.fetch_system_response_timeGet response time for a system present on the tenant.fetch_system_transfer_sizeGet transfer size for a system present on the tenant.Environment Variables
IBM_SI_API_KEYrequiredAPI key for IBM Storage Insights External APIsIBM_SI_TENANT_IDrequiredDefault Tenant ID for Storage InsightsConfiguration
{"mcpServers":{"ibm-storage-insights":{"command":"python","args":["-m","ibm_storageinsights_mcpserver"],"env":{"IBM_SI_API_KEY":"your_api_key","IBM_SI_TENANT_ID":"your_tenant_id"}}}}