Hitachi raidcom command builder (Community)

Registre officiel Autres

Builds and checks Hitachi raidcom commands and scripts. Build-only: never contacts a storage system.

Que pouvez-vous faire avec Hitachi raidcom command builder (Community) ?

  • Finds the right command. raidcom_list_commands ranks the 178 commands in the catalogue against a question (BM25 with synonyms and verb intent) and says how confident it is.
  • Builds one command. raidcom_build_command takes a command name and options as structured data, checks them against the manual's syntax and the storage model's limits, and returns the command line.
  • Builds many. raidcom_build_script repeats steps over ranges (foreach, zip), adds get command_status after asynchronous commands, optionally locks the resource group, and returns a script that stops at the first failure.
  • Ready-made workflows. raidcom_list_recipes and raidcom_build_recipe cover 14 common jobs: FC, iSCSI and NVMe/TCP provisioning, DP pools, mainframe (3390) pools, extending and deleting volumes, command devices, zero-page reclaim, inventory, copy groups.
  • Checks an existing command. raidcom_check_command parses a pasted command line (never executing it; shell operators are refused) and reports every problem.
  • Knows the model limits. raidcom_model_limits gives the LDEV, LUN, pool, serial and port ranges of VSP One Block 24/26/28, VSP 5000 series and VSP E series.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package raidcom-mcp
Claude Code
claude mcp add hitachi-raidcom-command-builder-communit -e 'RAIDCOM_TRANSPORT=stdio' -e 'RAIDCOM_HTTP_TOKEN=<your raidcom_http_token>' -- npx -y raidcom-mcp@0.1.3
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "hitachi-raidcom-command-builder-communit": {
            "command": "npx",
            "args": [
                "-y",
                "raidcom-mcp@0.1.3"
            ],
            "env": {
                "RAIDCOM_TRANSPORT": "stdio",
                "RAIDCOM_HTTP_TOKEN": "<your raidcom_http_token>"
            }
        }
    }
}

Variables d'environnement

  • RAIDCOM_TRANSPORT stdio (default) or http
  • RAIDCOM_HTTP_TOKEN secret Bearer token for the HTTP transport (at least 32 characters)

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. raidcom-mcp: build Hitachi raidcom commands from plain-language requests
  2. What it does
  3. How the catalogue is made
  4. Validation
  5. Setup
  6. Configuration
  7. Tests
  8. Contributing
  9. License

raidcom-mcp: build Hitachi raidcom commands from plain-language requests

A community MCP server that turns a request such as "present four 100 GB volumes from pool 0 to host esx01 on CL1-A and CL2-A" into validated raidcom commands. It is build-only: it never connects to a storage system, never runs a command and holds no credentials. It returns command text (or a shell script) for a person to review and run on a host with CCI installed. That makes it safe to host online for anyone to use.

It is an independent project, not an official Hitachi Vantara product.

What it does

  • Finds the right command. raidcom_list_commands ranks the 178 commands in the catalogue against a question (BM25 with synonyms and verb intent) and says how confident it is.
  • Builds one command. raidcom_build_command takes a command name and options as structured data, checks them against the manual's syntax and the storage model's limits, and returns the command line.
  • Builds many. raidcom_build_script repeats steps over ranges (foreach, zip), adds get command_status after asynchronous commands, optionally locks the resource group, and returns a script that stops at the first failure.
  • Ready-made workflows. raidcom_list_recipes and raidcom_build_recipe cover 14 common jobs: FC, iSCSI and NVMe/TCP provisioning, DP pools, mainframe (3390) pools, extending and deleting volumes, command devices, zero-page reclaim, inventory, copy groups.
  • Checks an existing command. raidcom_check_command parses a pasted command line (never executing it; shell operators are refused) and reports every problem.
  • Knows the model limits. raidcom_model_limits gives the LDEV, LUN, pool, serial and port ranges of VSP One Block 24/26/28, VSP 5000 series and VSP E series.

All eight tools are marked read-only. There is no tool that executes anything.

How the catalogue is made

spec/raidcom-catalog.json is generated by scripts/generate-catalog.mjs from the text of the Command Control Interface Command Reference (MK-90RD7009). For every command it keeps the name, supported models, a one-line summary, each syntax form (as a small grammar), each option's value shape and a short description, and the command lines of the manual's examples. Hitachi's prose, tables and output samples are not copied. The manuals themselves are not part of this repository; to regenerate the catalogue with your own copy:

pdftotext -layout CCI_Command_Reference.pdf cci-reference.txt
npm run generate-catalog -- cci-reference.txt

tests/unit/catalog.test.mjs replays every example in the manual through the parser and validator (about 96% pass; the rest are places where the manual's syntax line and its examples disagree).

Validation

  • Unknown options, wrong number of values, values outside an option's allowed words, and missing required options (checked against the syntax grammar) are errors with a suggested fix.
  • LDEV IDs, LUN IDs, pool IDs, serial numbers and port names (CL1-A, CL3-B-12) are checked against the model you give, or the widest range of any model.
  • Values that a shell could misread (; | & $ \ > < ' "` and so on) are refused, and names with spaces are quoted.
  • Because the manual's syntax lines are occasionally incomplete, strict: false turns missing option errors into warnings. Unknown options and out-of-range values stay errors.
  • Out of scope: the pair* commands (paircreate, pairdisplay, ...) from the Quick Reference, and raidcom -login/-logout lines as commands of their own (scripts can add them with login: true, reading $RAIDCOM_USER and $RAIDCOM_PASSWORD from the shell).

Setup

You need Node.js 22.19 or later.

git clone https://github.com/visubramaniam/raidcom-mcp.git
cd raidcom-mcp
npm ci
npm run build
Claude Code
claude mcp add raidcom -- node /path/to/raidcom-mcp/dist/index.js
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "raidcom": { "command": "node", "args": ["/path/to/raidcom-mcp/dist/index.js"] }
  }
}
Claude Desktop, standalone packages

Each release has a Claude Desktop extension (.mcpb), standalone packages for macOS, Linux and Windows with Node.js bundled, the npm package, and a skill zip. See INSTALL.md.

Claude Code plugin
/plugin install raidcom-community --marketplace visubramaniam/raidcom-mcp

See README.plugin.md.

Hosted over HTTP
RAIDCOM_TRANSPORT=http RAIDCOM_HTTP_HOST=0.0.0.0 RAIDCOM_HTTP_TOKEN=$(openssl rand -hex 32) \
RAIDCOM_HTTP_BEHIND_TLS_PROXY=true RAIDCOM_HTTP_ALLOWED_HOSTS=raidcom.example.com node dist/index.js

The endpoint is /mcp (stateless Streamable HTTP); /healthz reports liveness. See INSTALL.md and README.docker.md.

Configuration

VariableDefaultMeaning
RAIDCOM_TRANSPORTstdiostdio or http
RAIDCOM_HTTP_HOST127.0.0.1Address to listen on
RAIDCOM_HTTP_PORT8361Port (0 picks a free one)
RAIDCOM_HTTP_TOKENnoneBearer token, at least 32 characters. Required unless RAIDCOM_HTTP_OPEN=true
RAIDCOM_HTTP_OPENfalseServe anyone who can reach the port, without a token
RAIDCOM_HTTP_TLS_CERT, RAIDCOM_HTTP_TLS_KEYnonePEM files; the server then speaks HTTPS
RAIDCOM_HTTP_BEHIND_TLS_PROXYfalseA proxy or load balancer ends TLS. Needed for non-loopback addresses without TLS
RAIDCOM_HTTP_ALLOWED_HOSTSnoneExtra Host values to accept (* for any)
RAIDCOM_HTTP_ALLOWED_ORIGINSnoneOrigin values to accept (* for any)
RAIDCOM_HTTP_RATE_LIMIT120Requests per minute per client (0 for none)
RAIDCOM_HTTP_CLIENT_IP_HEADERnoneA header your proxy sets to the client's address, e.g. cf-connecting-ip behind Cloudflare (Render uses Cloudflare). Takes precedence over X-Forwarded-For
RAIDCOM_HTTP_DEBUG_CLIENTfalse/healthz also shows the forwarding headers it received, to choose the two settings above
RAIDCOM_HTTP_TRUST_PROXYfalseTake the client address from X-Forwarded-For: true for one proxy in front, or the number of proxies (see INSTALL.md)
RAIDCOM_CATALOG, RAIDCOM_LIMITS, RAIDCOM_RECIPES, RAIDCOM_EXAMPLESbundledUse another spec file (an empty RAIDCOM_EXAMPLES turns the example questions off)

Tests

npm test

runs the unit tests (tests/unit) and the search evaluation (tests/search-eval.mjs: 40 tuning and 30 held-out requests, each with a minimum top-1 and top-3 score that may only go up).

Contributing

See CONTRIBUTING.md. Security problems: SECURITY.md.

License

MIT, see LICENSE. "Hitachi", "raidcom" and "VSP" are trademarks of their owners; this project is not affiliated with or endorsed by Hitachi.

Questions fréquentes

Qu'est-ce que Hitachi raidcom command builder (Community) ?

Builds and checks Hitachi raidcom commands and scripts. Build-only: never contacts a storage system.

Comment installer Hitachi raidcom command builder (Community) ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add hitachi-raidcom-command-builder-communit -e 'RAIDCOM_TRANSPORT=stdio' -e 'RAIDCOM_HTTP_TOKEN=<your raidcom_http_token>' -- npx -y raidcom-mcp@0.1.3. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Hitachi raidcom command builder (Community) ?

Oui. Il attend RAIDCOM_HTTP_TOKEN, à renseigner dans sa configuration.

Hitachi raidcom command builder (Community) est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Hitachi raidcom command builder (Community) ?

Il est publié par visubramaniam. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.