Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Builds and checks Hitachi raidcom commands and scripts. Build-only: never contacts a storage system.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
RAIDCOM_TRANSPORT, RAIDCOM_HTTP_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"raidcom": {
"command": "npx",
"args": [
"-y",
"raidcom-mcp"
],
"env": {
"RAIDCOM_TRANSPORT": "ใส่ค่าของคุณ",
"RAIDCOM_HTTP_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add raidcom --env RAIDCOM_TRANSPORT='ใส่ค่าของคุณ' --env RAIDCOM_HTTP_TOKEN='ใส่ค่าของคุณ' -- npx -y raidcom-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"raidcom": {
"command": "npx",
"args": [
"-y",
"raidcom-mcp"
],
"env": {
"RAIDCOM_TRANSPORT": "ใส่ค่าของคุณ",
"RAIDCOM_HTTP_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"raidcom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"raidcom-mcp"
],
"env": {
"RAIDCOM_TRANSPORT": "ใส่ค่าของคุณ",
"RAIDCOM_HTTP_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
RAIDCOM_TRANSPORT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub visubramaniam ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: RAIDCOM_HTTP_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.8) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Toggl 2.0
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
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.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.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.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.raidcom_check_command parses a pasted command line (never executing it; shell operators are refused) and reports every problem.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.
A public instance runs at `https://raidcom-mcp.onrender.com/mcp`. It needs no sign-in.
claude mcp add --transport http raidcom https://raidcom-mcp.onrender.com/mcp{ "servers": { "raidcom": { "type": "http", "url": "https://raidcom-mcp.onrender.com/mcp" } } } to .vscode/mcp.json, then use Copilot Chat in Agent mode.To run it yourself instead, see Setup.
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).
CL1-A, CL3-B-12) are checked against the model you give, or the widest range of any model.; | & $ \ > < ' " and so on) are refused, values containing spaces or # are quoted, and values starting with - are refused so they can't add options. Global options (instance, pair_type, serial`, ...) are checked before anything is written. See SECURITY.md.0x hex or mainframe CU:LDEV (dd:0f); recipes and scripts expand ranges such as 100-109 and dd:00-dd:0f.strict: false turns *missing option* errors into warnings. Unknown options and out-of-range values stay errors.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).You need Node.js 22.19 or later. The server is on npm, so most clients can start it with npx:
claude mcp add raidcom -- npx -y raidcom-mcp
Add to claude_desktop_config.json:
{
"mcpServers": { "raidcom": { "command": "npx", "args": ["-y", "raidcom-mcp"] } } }
git clone https://github.com/visubramaniam/raidcom-mcp.git
cd raidcom-mcp npm ci npm run build
Then use node /path/to/raidcom-mcp/dist/index.js as the command in the examples above.
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.
/plugin install raidcom-community --marketplace visubramaniam/raidcom-mcp
See README.plugin.md.
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 the version and, behind a proxy, the address the server takes as the caller's, to check the proxy settings.
Clients that add servers as connectors (Claude, Microsoft 365 Copilot) can't send a fixed bearer token: they connect without authentication or through OAuth, which this server doesn't implement. For them, run without a token and with RAIDCOM_HTTP_OPEN=true, as the public instance does. Behind Cloudflare (Render, for example), set RAIDCOM_HTTP_CLIENT_IP_HEADER=cf-connecting-ip so the rate limits apply per user. See INSTALL.md and README.docker.md.
| Variable | Default | Meaning |
|---|---|---|
RAIDCOM_TRANSPORT | stdio | stdio or http |
RAIDCOM_HTTP_HOST | 127.0.0.1 | Address to listen on |
RAIDCOM_HTTP_PORT | 8361 | Port (0 picks a free one) |
RAIDCOM_HTTP_TOKEN | none | Bearer token, at least 32 characters. Required unless RAIDCOM_HTTP_OPEN=true |
RAIDCOM_HTTP_OPEN | false | Serve anyone who can reach the port, without a token |
RAIDCOM_HTTP_TLS_CERT, RAIDCOM_HTTP_TLS_KEY | none | PEM files; the server then speaks HTTPS |
RAIDCOM_HTTP_BEHIND_TLS_PROXY | false | A proxy or load balancer ends TLS. Needed for non-loopback addresses without TLS |
RAIDCOM_HTTP_ALLOWED_HOSTS | none | Extra Host values to accept (* for any) |
RAIDCOM_HTTP_ALLOWED_ORIGINS | none | Origin values to accept (* for any) |
RAIDCOM_HTTP_RATE_LIMIT | 120 | Requests per minute per client (0 for none) |
RAIDCOM_HTTP_CLIENT_IP_HEADER | none | A 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_CLIENT | true | /healthz also shows the forwarding headers it received (the caller's own request), to choose the two settings above. Set to false to turn it off |
RAIDCOM_HTTP_TRUST_PROXY | false | Take the client address from X-Forwarded-For: true for one proxy in front, or the number of proxies (see INSTALL.md) |
MCPRUSH_TOKEN | none | Token issued by the mcprush marketplace. Adds a second endpoint (below) that answers only requests carrying it in x-mcprush-token; /mcp is unchanged |
RAIDCOM_HTTP_MCPRUSH_PATH | /mcprush | Path of that endpoint |
RAIDCOM_CATALOG, RAIDCOM_LIMITS, RAIDCOM_RECIPES, RAIDCOM_EXAMPLES | bundled | Use another spec file (an empty RAIDCOM_EXAMPLES turns the example questions off) |
Values are trimmed, and true/false settings accept any case; any other value for them stops the server with a message. At startup the server warns about RAIDCOM_ variables it doesn't recognise (a misspelt name, or one with a stray space), and over HTTP logs one line with its effective settings.
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, and a check that results rated high-confidence are right at least 85% of the time). npm run package builds the release packages and npm run smoke tests the npm package as installed.
The wiki has a quick start, deployment guide, tools and recipe reference, troubleshooting and more.
See CONTRIBUTING.md. Security problems: SECURITY.md. Privacy: PRIVACY.md.
MIT, see LICENSE. "Hitachi", "raidcom" and "VSP" are trademarks of their owners; this project is not affiliated with or endorsed by Hitachi.