Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server exposing a live Dwarf Fortress fort to an AI agent as curated, semantic tools
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
DFHACK_HOST, DFHACK_PORT, DFHACK_MCP_ACTUATORSต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"dfhack": {
"command": "npx",
"args": [
"-y",
"dfhack-mcp"
],
"env": {
"DFHACK_HOST": "ใส่ค่าของคุณ",
"DFHACK_PORT": "ใส่ค่าของคุณ",
"DFHACK_MCP_ACTUATORS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add dfhack --env DFHACK_HOST='ใส่ค่าของคุณ' --env DFHACK_PORT='ใส่ค่าของคุณ' --env DFHACK_MCP_ACTUATORS='ใส่ค่าของคุณ' -- npx -y dfhack-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dfhack": {
"command": "npx",
"args": [
"-y",
"dfhack-mcp"
],
"env": {
"DFHACK_HOST": "ใส่ค่าของคุณ",
"DFHACK_PORT": "ใส่ค่าของคุณ",
"DFHACK_MCP_ACTUATORS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dfhack": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"dfhack-mcp"
],
"env": {
"DFHACK_HOST": "ใส่ค่าของคุณ",
"DFHACK_PORT": "ใส่ค่าของคุณ",
"DFHACK_MCP_ACTUATORS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
DFHACK_HOST envDFHACK_PORT envDFHACK_MCP_ACTUATORS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub alexanderolvera ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.4.1) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, AI Deprecations
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.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server that gives an AI agent a live window into your Dwarf Fortress fort — a co-pilot and early-warning advisor, not an autopilot. Point Claude (or any MCP client) at it and ask _"how's my fort doing?"_ — it reads happiness, threats, stocks, jobs, health, and defenses straight from the running game and answers in plain language.
Read-only by default. The 37 sensor and reference tools only observe the game. A handful of actuators that _change_ the fort — queue manager orders, apply quickfort blueprints, assign labor, sound the civilian alert, pull a lever — ship behind an explicit opt-in and stay hidden until you enable them (see Taking action).
Two kinds of tools:
fort_status, threats, stocks, jobs_and_labor, military, injuries_and_health, defenses, and more.game_data is your world's ground truth (its loaded raws), the wiki_* tools are the general explanation, and identify fuses the two for _"what is this creature and how do I handle it."_It returns facts, not advice — already-summarized JSON that reads like a glance at the screen, leaving the judgment to the agent.
Every tool has a reference page — parameters, return shape, real example output, caveats — in docs/tools.
The package is published to npm and ships a prebuilt bundle — there is nothing to build. Point your MCP client at it with npx:
{
"mcpServers": { "dfhack": { "command": "npx", "args": ["-y", "dfhack-mcp"] } } }
That's it for Claude Desktop / Claude Code / any stdio MCP client. npx -y dfhack-mcp fetches and runs the latest release; its runtime dependencies — the MCP SDK, zod, and the dfhack-remote-node RPC transport — are pulled from npm automatically.
Clients that browse the official MCP Registry can find this server there as `io.github.alexanderolvera/dfhack-mcp`; the listing is generated from server.json and points at the same npm package, so either route installs the identical build.
Then just have your fort running (next section) and ask your agent something like _"check on my fort and flag anything urgent."_
Prefer a pinned global install?
npm install -g dfhack-mcp # then set "command": "dfhack-mcp", "args": []
localhost:5000. This is on by default whenever DF runs with DFHack — no config file to edit. (The allow_remote setting only governs connections from _other_ machines and can stay false; a local MCP server reaches it either way.) Point elsewhere with DFHACK_HOST / DFHACK_PORT.Your agent picks the tools; you just describe what you want. The tools below are what it has to work with.
No arguments; each reports on the loaded fort.
squad_id, the id squad_orders targets), enlisted soldiers, filled positions, readiness against hostiles on the map, and per-squad roster equipment gaps (missing uniform pieces), ammo, and active training order.civilian_alert.unmet_needs().citizen for depth.unit_id you can walk), worshipped deities, notable personality extremes, skills of note, likes/detests, and recent thoughts tied to current stress.Spatial (fog-of-war honest — undiscovered tiles never leak):
?. All params optional: none → a 60×40 window on the fort core; z alone → that level's centroid; explicit corners otherwise. Hard-capped at 100×100 (oversized requests are clamped, never errored). Renders the map; never designs it.| glyph | meaning | glyph | meaning |
|---|---|---|---|
? | undiscovered (fog of war) | + | constructed floor |
# | undug stone / wall | ~ | water / brook |
, | undug soil (sand/clay/loam) | % | magma |
. | dug floor / walkable ground | W | workshop / furnace |
F | fortification | S | stockpile |
r | ramp | M | machine (gear/axle/pump/wheel/windmill) |
v | ramp top | n | furniture (bed/chair/table/door/etc) |
< > x | up / down / up-down stair | (space) | open space |
T | tree |
reveal_hidden: true bypasses fog of war (a debug/spoiler switch, default off).wiki_* are pure HTTP and work without the game; game_data / identify read a loaded world.
creature, material, plant, reaction, item, building; default creature). Ground truth for procedural creatures (demons, forgotten beasts, titans) that never reach the wiki. query is a token (DEMON_4, INORGANIC:IRON), a name ("plump helmet"), or — for creatures — a live unit_id. One strong hit → a full dossier; several → a disambiguation list; none → {"match_count":0,"matches":[]}.game_data (your world's raws) with wiki_lookup (strategy). Returns the dossier (its flags[]/interactions[] carry facts like _TRAPAVOID → mechanical traps don't work_) plus 1–2 trimmed wiki excerpts. Reach for it when a threat appears.DF2014 namespace).DF2014; follows redirects, honors section fragments, cached ~30 days.By default every tool above only reads the game. The actuators _change_ the fort, so they ship behind an explicit switch — set DFHACK_MCP_ACTUATORS and they appear in the tool list; leave it unset and the server is strictly read-only.
{
"mcpServers": { "dfhack": { "command": "npx", "args": ["-y", "dfhack-mcp"], "env": { "DFHACK_MCP_ACTUATORS": "1" } } } }
Every actuator uses the same preview → confirm → apply → undo safety loop, so a change is never a surprise:
preview of exactly what would change — facts, never advice — plus a single-use confirm_token. Nothing is written. If the operation can't be applied as asked (e.g. a malformed blueprint), the preview reports why and no token is issued.undo handle and a readback from the matching sensor confirming the change.Tokens are single-use and target-scoped: an unrelated change elsewhere in the fort does not void them, but a change to the target does. Each
ตัดมาแค่ช่วงต้น อ่านต่อใน repo