Dell SC Series MCP Server

Dell SC Series MCP Server

A read-only MCP server that lets AI assistants diagnose Dell SC Series storage arrays through the array's own REST API.

Category
访问服务器

README

Dell SC Series MCP Server

CI License: MIT Python MCP

A read-only Model Context Protocol (MCP) server that lets AI assistants (opencode, Claude Desktop, any MCP client) diagnose Dell SC Series / Compellent storage arrays (SC5020/F, SC7020/F, SC8000, SC9000, SCv20xx/30xx, SC4020…) through the array's own REST API.

Ask your AI: "How is the SAN doing?", "Any hardware alerts?", "When will the SSD pool run out of space?" — and get answers straight from the controller.

Why this server

  • No Dell Storage Manager (DSM) required. It talks directly to the Storage Center controller REST API (https://<array>:3033/api/rest, SCOS 7.x). If a DSM Data Collector is present, it works against that too.
  • Read-only by design. After login it issues only GET requests. It cannot create/modify/delete anything on your array.
  • Battle-tested diagnostics. The tool set was built while investigating a real production SC5020F incident (emergency write-outage caused by pool exhaustion, dead cache batteries, broken phone-home) — the tools surface exactly the signals that matter.

Features

  • API-version negotiation (works against SCOS 7.x, API 2.0–6.x)
  • Session management with transparent re-login on expiry
  • TLS verification configurable (self-signed default, CA bundle supported)
  • Thread-safe client; sync tools safe for concurrent MCP calls
  • Fully mocked test suite — contributors don't need an array

Tools

Tool Description
sc_health_report Aggregated markdown health report — the "how is the array?" one-shot
sc_alerts Alerts with filters (unacknowledged_only, category)
sc_capacity Disk folders/pools, thresholds, projected full dates, provisioned vs written totals
sc_volumes Volumes: size, pool, folder, last UNMAP/space-reduction time
sc_servers Hosts: connectivity, path counts, mapped volumes, OS
sc_hardware Controllers & enclosures: status, last boot, LEDs, conditions
sc_ports Front/back-end ports + iSCSI fault domains (IPs, MTU, CHAP)
sc_storage_center Array identity, SCOS version, operation mode, background-task flags

Requirements

  • Python 3.10+

  • Network access to the array on TCP 3033

  • An SCOS user account. Important visibility note (learned the hard way):

    Role Sees
    Admin Everything (volumes, pools/capacity, all servers, alerts)
    Reporter Filtered subset on direct connections: alerts, controllers, enclosures — but no volumes, capacity pools, or servers

    For full diagnostics use an Admin account; a Reporter is fine for alert/hardware-only monitoring.

Installation

From source (until published to PyPI):

git clone https://github.com/DigitainIT/dell-sc-series-mcp.git
cd dell-sc-series-mcp
python -m venv .venv
.venv/Scripts/activate        # Windows; use source .venv/bin/activate on Linux/macOS
pip install -e .

Configuration

Environment variables (see .env.example):

Variable Required Default Purpose
SC_HOST Storage Center management IP/hostname
SC_USER SCOS username
SC_PASS SCOS password
SC_PORT 3033 REST API port
SC_TLS_VERIFY false Verify TLS (arrays ship self-signed certs)
SC_CA_BUNDLE Path to CA bundle (overrides SC_TLS_VERIFY)

Run

Standalone (stdio transport — this is what MCP clients spawn for you):

export SC_HOST=192.0.2.10 SC_USER=reader SC_PASS=secret
dell-sc-mcp            # or: python -m dell_sc_mcp

opencode (opencode.json)

{
  "mcp": {
    "dell-sc": {
      "type": "local",
      "command": ["dell-sc-mcp"],
      "environment": {
        "SC_HOST": "192.0.2.10",
        "SC_USER": "reader",
        "SC_PASS": "secret"
      },
      "enabled": true
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "dell-sc": {
      "command": "dell-sc-mcp",
      "args": [],
      "env": {
        "SC_HOST": "192.0.2.10",
        "SC_USER": "reader",
        "SC_PASS": "secret"
      }
    }
  }
}

On Windows, point command at the console script in your venv, e.g. C:\\path\\to\\.venv\\Scripts\\dell-sc-mcp.exe.

Example conversation

You: Give me a health overview of the storage array. AI (via sc_health_report): Status Up, mode Normal, 23 unacknowledged alerts — including active cache battery alerts on both controllers and SSD-Pool projected full 2026-12-25…

You: Which hosts have degraded connectivity? AI (via sc_servers): degradedConnectivity: ["esxi-02"] — 2/4 paths.

Troubleshooting

Symptom Cause / fix
login failed … HTTP 401 Wrong credentials. SCOS usernames are case-sensitive (Adminadmin).
Login loops through all API versions Array unreachable or port wrong — verify Test-NetConnection <ip> -Port 3033.
sc_volumes/sc_capacity return empty You're using a Reporter account — see visibility table above.
Method not available on some object Direct controller connections expose fewer objects than a DSM Data Collector (e.g. no physical disk list, no perf counters). Deploy DSM for those.
TLS errors with verify on Use SC_CA_BUNDLE with the array's CA, or keep SC_TLS_VERIFY=false on a trusted management LAN.

Development

pip install -e ".[dev]"
pytest                 # fully mocked - no array needed

Layout:

src/dell_sc_mcp/
  client.py     # SCOS REST API client (auth, version negotiation, relogin)
  server.py     # FastMCP server + tools
tests/          # pytest + responses (HTTP fully mocked)
examples/       # standalone diagnostic scripts (diagnose, probe, summarize,
                # MCP smoke test against a live array)

Live smoke test against a real array (optional):

export SC_HOST=... SC_USER=... SC_PASS=...
python examples/mcp_smoke_test.py

Roadmap

  • [ ] Publish to PyPI
  • [ ] Optional write tools with explicit guardrails (acknowledge alerts)
  • [ ] DSM Data Collector target support (historical performance stats)
  • [ ] Response caching for high-frequency polling
  • [ ] Streamable HTTP transport

Contributing

Issues and PRs welcome. Please keep the server read-only by default and never commit real array data (serials, IPs, hostnames) — tests use fictional fixtures only.

Disclaimer

This is an independent community project. It is not affiliated with, endorsed, or supported by Dell Technologies. "Dell" and "Compellent" are trademarks of Dell Inc.

License

MIT © 2026 Gegham Simonyan

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选