Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Governed MCP server for DMTF Redfish BMCs. Read-only by default; writes are opt-in and dry-run.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MIRASTACK_REDFISH_ENDPOINTS, MIRASTACK_REDFISH_DEFAULT_ENDPOINT, MIRASTACK_REDFISH_HOST, MIRASTACK_REDFISH_USERNAME, MIRASTACK_REDFISH_PASSWORD, MIRASTACK_REDFISH_PASSWORD_FILE, MIRASTACK_REDFISH_VERIFY_SSL, MIRASTACK_REDFISH_CA_BUNDLE, MIRASTACK_REDFISH_TIMEOUT_SEC, MIRASTACK_REDFISH_AUTH_MODE, MIRASTACK_REDFISH_WRITE_MODE, MIRASTACK_REDFISH_TOOL_PROFILE, MIRASTACK_REDFISH_TOOLSETSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"mirastack-redfish": {
"command": "uvx",
"args": [
"mirastack-redfish-mcp"
],
"env": {
"MIRASTACK_REDFISH_ENDPOINTS": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_DEFAULT_ENDPOINT": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_HOST": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_USERNAME": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD_FILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_VERIFY_SSL": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_CA_BUNDLE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TIMEOUT_SEC": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_AUTH_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_WRITE_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOL_PROFILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add mirastack-redfish --env MIRASTACK_REDFISH_ENDPOINTS='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_DEFAULT_ENDPOINT='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_HOST='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_USERNAME='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_PASSWORD='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_PASSWORD_FILE='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_VERIFY_SSL='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_CA_BUNDLE='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_TIMEOUT_SEC='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_AUTH_MODE='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_WRITE_MODE='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_TOOL_PROFILE='ใส่ค่าของคุณ' --env MIRASTACK_REDFISH_TOOLSETS='ใส่ค่าของคุณ' -- uvx mirastack-redfish-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mirastack-redfish": {
"command": "uvx",
"args": [
"mirastack-redfish-mcp"
],
"env": {
"MIRASTACK_REDFISH_ENDPOINTS": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_DEFAULT_ENDPOINT": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_HOST": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_USERNAME": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD_FILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_VERIFY_SSL": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_CA_BUNDLE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TIMEOUT_SEC": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_AUTH_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_WRITE_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOL_PROFILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mirastack-redfish": {
"type": "stdio",
"command": "uvx",
"args": [
"mirastack-redfish-mcp"
],
"env": {
"MIRASTACK_REDFISH_ENDPOINTS": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_DEFAULT_ENDPOINT": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_HOST": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_USERNAME": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_PASSWORD_FILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_VERIFY_SSL": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_CA_BUNDLE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TIMEOUT_SEC": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_AUTH_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_WRITE_MODE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOL_PROFILE": "ใส่ค่าของคุณ",
"MIRASTACK_REDFISH_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MIRASTACK_REDFISH_DEFAULT_ENDPOINT envMIRASTACK_REDFISH_HOST envMIRASTACK_REDFISH_VERIFY_SSL envMIRASTACK_REDFISH_CA_BUNDLE envMIRASTACK_REDFISH_TIMEOUT_SEC envMIRASTACK_REDFISH_AUTH_MODE envMIRASTACK_REDFISH_WRITE_MODE envMIRASTACK_REDFISH_TOOL_PROFILE envMIRASTACK_REDFISH_TOOLSETS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน mirastacklabs.ai แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: MIRASTACK_REDFISH_ENDPOINTS, MIRASTACK_REDFISH_USERNAME, MIRASTACK_REDFISH_PASSWORD, MIRASTACK_REDFISH_PASSWORD_FILE
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Tethered Trust
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Governed MCP server for DMTF Redfish-compliant BMCs — iDRAC, iLO, XCC,
OpenBMC and compatible implementations. Read-only by default: mutating
tools are not registered unless you explicitly raise the write mode, and
every mutation is a dry-run until confirmed.
Built by MIRASTACK LABS. Apache-2.0.
stdio and streamable-http transports via the official Python MCP SDK.2026.1.If-Match, 202 task polling, and registry-backed error rendering.A BMC is a pre-OS, out-of-band control plane with authority above normal host-level root access. Giving an autonomous agent BMC access without strong guardrails creates immediate blast-radius risk across power, boot, firmware, and account boundaries. This server forces dangerous actions behind deliberate write-mode elevation, and keeps every mutation dry-run by default so intent can be reviewed before application. The result is a governed operational interface rather than an always-armed remote control. The model can still move fast on diagnostics, but privilege transitions become explicit and auditable.
pip install mirastack-redfish-mcp
Run a local DMTF mockup, start the MCP server in read-only mode, and call a read tool:
docker compose -f examples/mockup/docker-compose.yml up -d
export MIRASTACK_REDFISH_HOST="http://127.0.0.1:18000" export MIRASTACK_REDFISH_USERNAME=" " export MIRASTACK_REDFISH_PASSWORD=" " export MIRASTACK_REDFISH_WRITE_MODE="off" mirastack-redfish-mcp --transport stdio
Example tool call:
{"tool":"service_info","arguments":{}}
Expected output shape:
{
"endpoint": "default", "service_root": { "@odata.id": "/redfish/v1" }, "capabilities": { "redfish_version": "..." } }
The server also starts with zero endpoint credentials and still serves read-only tool discovery (for MCP scanner validation and metadata indexing). In this mode, schema/corpus-backed tools continue to work, while BMC-connected tools return a configuration error that names the required environment variables: MIRASTACK_REDFISH_HOST, MIRASTACK_REDFISH_USERNAME, and MIRASTACK_REDFISH_PASSWORD (or MIRASTACK_REDFISH_PASSWORD_FILE), or MIRASTACK_REDFISH_ENDPOINTS for multi-endpoint setup.
Discovery mode also covers a missing endpoints file. If MIRASTACK_REDFISH_ENDPOINTS points at a path that does not exist - which is how container platforms and MCP directory scanners inject a placeholder - the server logs a warning naming that path on stderr and starts with zero endpoints. A file that *does* exist but cannot be read or parsed remains a hard startup failure, and a partially configured single endpoint (for example MIRASTACK_REDFISH_HOST without MIRASTACK_REDFISH_PASSWORD) still raises, so a typo can never silently downgrade a configured deployment.
export MIRASTACK_REDFISH_HOST="https://192.0.2.10"
export MIRASTACK_REDFISH_USERNAME=" " export MIRASTACK_REDFISH_PASSWORD=" " export MIRASTACK_REDFISH_WRITE_MODE="off" mirastack-redfish-mcp --transport stdio
mirastack-redfish-mcp \
--transport streamable-http \ --host 127.0.0.1 \ --port 8000 \ --path /mcp \ --stateless-http \ --json-response
Warning: binding to
0.0.0.0exposes BMC control to every host that can reach this port. Bind to loopback unless the listener sits behind an authenticating proxy on a trusted management network.
Use MIRASTACK_REDFISH_* variables:
MIRASTACK_REDFISH_HOSTMIRASTACK_REDFISH_USERNAMEMIRASTACK_REDFISH_PASSWORD or MIRASTACK_REDFISH_PASSWORD_FILEMIRASTACK_REDFISH_VERIFY_SSL (default: `true`), MIRASTACK_REDFISH_CA_BUNDLE, MIRASTACK_REDFISH_TIMEOUT_SEC, MIRASTACK_REDFISH_AUTH_MODESet MIRASTACK_REDFISH_ENDPOINTS to inline JSON or a YAML/JSON file:
{
"idrac-prod": { "base_url": "https://192.0.2.10", "username": " ", "password_file": "/run/secrets/idrac_password", "verify_ssl": true, "read_only": true }, "ilo-lab": { "base_url": "https://192.0.2.11", "username": " ", "password": " ", "verify_ssl": true } }
Lab-only override (not recommended for production):
{
"ilo-lab": { "verify_ssl": false } }
Set MIRASTACK_REDFISH_DEFAULT_ENDPOINT to choose the default endpoint.
Legacy bare REDFISH_* environment variables are still read as a fallback, with a one-time deprecation warning per variable.
MIRASTACK_REDFISH_TOOL_PROFILE=full (default): all toolsets allowed by write mode.MIRASTACK_REDFISH_TOOL_PROFILE=standard: excludes raw write escape hatches.MIRASTACK_REDFISH_TOOL_PROFILE=core: curated 15-tool small-model surface.MIRASTACK_REDFISH_TOOLSETS (comma-separated) overrides profiles with explicit toolsets.Measured advertised tool-schema payload at MIRASTACK_REDFISH_WRITE_MODE=full: core 20,795 bytes (15 tools), standard 43,669 bytes (33 tools), full 54,745 bytes (40 tools). Re-measure with python3 scripts/check_tool_metadata.py --sizes.
MIRASTACK_REDFISH_WRITE_MODE=off (default): mutating tools are not registered.MIRASTACK_REDFISH_WRITE_MODE=power: power/reset/boot control tools are registered.MIRASTACK_REDFISH_WRITE_MODE=config: config-tier tools are registered.MIRASTACK_REDFISH_WRITE_MODE=full: full-tier tools are registered.Every mutating tool accepts confirm:
confirm=false: dry-run response (dry_run=true, applied=false) with next_step.confirm=true: action is applied.Per-endpoint read_only=true overrides global write mode and blocks all writes on that endpoint.
set_power_state, set_boot_override, reset_manager, cancel_taskset_bios_attributes, eject_virtual_media, redfish_patch, redfish_post, redfish_delete, redfish_invoke_actioninsert_virtual_media, clear_logs, manage_account, simple_update, reset_to_defaultspython3 -m venv .venv
source .venv/bin/activate pip install -e .[dev] make build-index make verify
The schema index is generated from DMTF Redfish-Publications, pinned to one release for reproducibility. See CONTRIBUTING.md for refresh procedure.
server.json includes PyPI and OCI package definitions for MCP Registry.mcp-name: ai.mirastacklabs/mirastack-redfish-mcp.io.modelcontextprotocol.server.name OCI label.brew install mcp-publisher.npx mcp-publisher or pip install mcp-publisher for registry publishing.The published image puts the console script on PATH, so docker run ... mirastack-redfish-mcp --transport stdio works unchanged.
Some MCP directories ignore the repository Dockerfile and generate their own image from source. If that generated build installs with uv sync, the project lands in a virtualenv at /app/.venv and the console script is not on PATH, so a launcher that spawns the bare name fails with ENOENT. Point the launcher at the absolute path instead:
{
"buildSteps": ["uv sync"], "cmdArguments": ["/app/.venv/bin/mirastack-redfish-mcp", "--transport", "stdio"] }
A placeholder MIRASTACK_REDFISH_ENDPOINTS path that the platform never creates is safe - the server starts in discovery mode and serves the read-only tool surface.
GitHub is a public read-only mirror. Issues are welcome on GitHub, but pull requests opened on GitHub cannot be merged. See CONTRIBUTING.md for accepted contribution paths.
See SECURITY.md.
Apache-2.0.