Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP gateway for AutoCAD 2022-2027: DWG text, layers, entities, views and automation.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"dwg": {
"command": "dnx",
"args": [
"Bimwright.Dwg.Server",
"--yes"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add dwg -- dnx Bimwright.Dwg.Server --yesวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dwg": {
"command": "dnx",
"args": [
"Bimwright.Dwg.Server",
"--yes"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dwg": {
"type": "stdio",
"command": "dnx",
"args": [
"Bimwright.Dwg.Server",
"--yes"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bimwright ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.1.1) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี .NET ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Python MCP
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.
Local-only Python MCP server for the Files.com API.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
dwg-mcp
English · Tiếng Việt · 简体中文 · 日本語
Construction and engineering drawings carry dense technical text — specifications, notes, dimensions, material callouts, legends. When those drawings arrive in a foreign language, translation is not optional. It is required before the project team can act.
The usual workflow is painful: select text one entity at a time, copy to a translator, paste back, fix the font (because SHX fonts cannot render Vietnamese or CJK), adjust the height, hope nothing shifted. Multiply by hundreds of text fragments per sheet, dozens of sheets per project.
dwg-mcp exists to compress that loop into two steps: select the text, let the AI agent read, translate, and rewrite it in place — with correct font, correct height, correct spatial grouping, and a single undo.
dwg-mcp is a local MCP gateway for Autodesk AutoCAD 2022-2027 DWG workflows.
It has two parts:
The agent talks MCP. The server talks to the plugin over a local wire: TCP NDJSON for AutoCAD 2022–2024, and a Named Pipe (loopback, avoids the firewall prompt) for 2025–2027. The plugin talks to the AutoCAD .NET API.
Everything stays on your machine.
AI agents make it possible to describe "translate all selected text to Vietnamese" and have it happen — correctly — in the drawing. But intent alone is not enough. AutoCAD text operations require understanding spatial layout, fragment grouping, font limitations, MText vs DBText, block references, and height scaling.
dwg-mcp handles that complexity:
220 completed tool calls over 19 days of active use on production construction drawings. 98.2% success rate.
| Tool | Calls |
|---|---|
| get_selected_texts | ~100 |
| translate_and_rewrite | ~77 |
| send_code | ~28 |
| collapse_and_rewrite | ~11 |
| update_texts | ~10 |
| apply_unicode_style | ~4 |
+---------------------------+
| AI Client | | Claude / Cursor / OpenCode| +---------------------------+ | | stdio MCP v +---------------------------+ | Bimwright.Dwg.Server | | .NET 8 / C# | +---------------------------+ | | TCP NDJSON (2022-2024) / Named Pipe (2025-2027) | token auth v +---------------------------+ | Bimwright.Dwg.Plugin | | AutoCAD 2022-2027 shells | +---------------------------+ | | LockDocument() v +---------------------------+ | AutoCAD .NET API | | ObjectARX 2022-2027 | +---------------------------+
See ARCHITECTURE.md for threading, discovery, and auth details.
Download the client setup ZIP from GitHub Releases. It includes a self-contained MCP server and release-specific AutoCAD plugins. Check packedAutocadYears in the downloaded ZIP's manifest.json and its bundle PackageContents.xml for the included years; check the release notes for years verified in a running AutoCAD host. Source shells cover 2022–2027, while packaged plugins and tested host years depend on the release. For a year absent from the package, build the plugin from source with that year's AutoCAD SDK.
$tag = (Invoke-RestMethod https://api.github.com/repos/bimwright/dwg-mcp/releases/latest).tag_name
$zip = "$env:TEMP\DwgMcp.Setup-$tag-win-x64.zip" $dir = "$env:TEMP\DwgMcp.Setup-$tag-win-x64" Invoke-WebRequest "https://github.com/bimwright/dwg-mcp/releases/download/$tag/DwgMcp.Setup-$tag-win-x64.zip" -OutFile $zip Invoke-WebRequest "https://github.com/bimwright/dwg-mcp/releases/download/$tag/DwgMcp.Setup-$tag-win-x64.zip.sha256" -OutFile "$zip.sha256" $expected = ((Get-Content "$zip.sha256" -Raw).Trim() -split '\s+')[0] if ($expected -notmatch '^[a-fA-F0-9]{64}$' -or (Get-FileHash $zip -Algorithm SHA256).Hash -ne $expected) { throw 'Setup ZIP checksum mismatch' } if (Test-Path -LiteralPath $dir) { throw 'Use a fresh extraction directory; existing files were preserved.' } Expand-Archive $zip -DestinationPath $dir
powershell -ExecutionPolicy Bypass -File "$dir\install.ps1" -WhatIf -Years 2024 -Client none -SetupZip $zip -ReleaseTag $tag powershell -ExecutionPolicy Bypass -File "$dir\install.ps1" -Years 2024 -Client none -SetupZip $zip -ReleaseTag $tag
The installer:
acad.exe exists) and installs every packed year that matches; -Years 2024,2027 forces an explicit list;%APPDATA%\Autodesk\ApplicationPlugins\Bimwright.Dwg.bundle\ (removing stale bundles with the same ProductCode) and the server at the fixed path %LOCALAPPDATA%\Bimwright\dwg-mcp\server\current\dwg-mcp.exe;%LOCALAPPDATA%\Bimwright\dwg-mcp\dwgmcp.config.json with "toolsets": ["all"] on a fresh install — an existing toolsets key is kept;-Client (none skips edits; omission still selects detected clients). Use an explicit scope in both preview/apply. Routes without a verified CLI recovery path, currently Grok, stop before replacement. Config edits keep JSONC comments; existing .bak files are preserved and a unique backup is created instead. Existing Codex entries receive command-only repoints so args/env/other TOML tables survive. The entry name is dwg-mcp.Restart AutoCAD, then restart wired MCP clients to load dwg-mcp.
Updating: keep the exact reviewed release tag, verify its ZIP/sidecar and complete extracted manifest, then preview/apply the same explicit year/client scope. Close AutoCAD and affected clients first. The server path stays server\current\. The installer preserves settings, ToolBaker data and captures. Ambiguous legacy/current roots stop without merging; a committed DWG migration marker permits retaining both separately. Recovery covers caught errors; process crashes/power loss and actual client reconnect still require separate verification. Uninstall is not upgrade rollback.
Uninstall: uninstall.ps1 removes the bundle, the server copies, discovery files and caches under %LOCALAPPDATA%\Bimwright\dwg-mcp\ (settings, config, logs and captures are kept; -Purge removes those too). Client config entries are never touched — remove the dwg-mcp entry yourself, or run install.ps1 -Uninstall -Client first.
NuGet (gateway only): dotnet tool install --global Bimwright.Dwg.Server --version 2.1.2 installs the framework-dependent gateway and requires .NET 8. Install the matching AutoCAD plugins from the Setup ZIP separately; the NuGet package does not install plugins.
Claude Desktop: download dwg-mcp-desktop-2.1.2.mcpb and its checksum from the same release, then install it through Settings → Extensions → Advanced settings. It launches the exact gateway executable supplied by the 2.1.2 Setup ZIP; it does not install the gateway or plugins and does not fall back to a NuGet/PATH copy. An executable override must have the same SHA-256.
Developer (local SDK): dotnet build the year you have, then pwsh scripts/install.ps1 -Years 2024 from the repo (copies that year’s bin output). NETLOAD remains available for Debug DLLs.
Check the selected clients' Client : summary lines. The example above uses -Client none, so wiring remains a separate step: preview/apply the intended client selection or wire by hand in that client's supported config (e.g., .mcp.json):
{
"mcpServers": { "dwg-mcp": { "command": "C:\\Users\\ \\AppData\\Local\\Bimwright\\dwg-mcp\\server\\current\\dwg-mcp.exe", "args": [] } } }
Select an initial AutoCAD instance by PID (or an unambiguous 4-digit year):
{
"mcpServers": { "dwg-mcp": { "command": "C:\\Users\\ \\AppData\\Local\\Bimwright\\dwg-mcp\\server\\current\\dwg-mcp.exe", "args": ["--target", "pid:12345"] } } }
Before writes, call dwg_list_available_targets and dwg_switch_target(target="pid: "). The default verify=true authenticates the selected process and confirms the active drawing; verify=false permits reads only. --target controls initial selection and does not authorize writes. A year or automatic selection matching multiple instances returns AMBIGUOUS_TARGET.
Once bound, changing instances requires pid: or id:acad- - ; leaving a live confirmed target also requires rebind=true. Reselecting the same process with verify=false removes write confirmation. It retains the previous expected drawing lifetime ID unless rebind=true resets it or an explicit expected_document_id replaces it. After opening or switching drawings, inspect dwg_health().target; confirming a different drawing requires its matching expected_document_id or rebind=true. Failed verification preserves the previous binding, and pending calls under an older binding are refused before sending. Update gateway and plugin together: legacy plugins cannot be verified for writes, and new plugins refuse unguarded writes from old gateways.
With --read-only, dwg_switch_target is unavailable and direct calls are refused. Start the gateway with --read-only --target pid: (or --target id:acad- - ), then check health and the current target. On TARGET_LOST or TARGET_CHANGED, call dwg_list_available_targets and restart the gateway with the intended explicit --target. A lost binding never selects another instance automatically.
Use --read-only to strip write-capable toolsets (query/view/meta routing remain as configured). Use --toolsets all or an explicit list that includes the defaults you need (a custom list replaces the default set — e.g. query,modify,meta,view,annotation). Env: BIMWRIGHT_DWG_TOOLSETS=….
dwg_send_code is available by default via meta. Use --enable-send-code / --disable-send-code (JSON enableSendCode; e
ตัดมาแค่ช่วงต้น อ่านต่อใน repo