Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Control Classic Mac OS (System 7-9) from AI agents via shared folder protocol.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"agentbridge": {
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add agentbridge -- npx -y classic-mac-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agentbridge": {
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agentbridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub SeanFDZ ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, dotnet-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.
MCP server for .NET symbols, XAML, source generators, and restricted workspace edit
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Let AI talk to your Classic Mac.
AgentBridge is a native Classic Mac OS application that lets AI agents (like Claude) interact with Mac OS 7–9 through structured commands and responses. It works on real hardware and emulators — no modifications to your Mac required.
Drop AgentBridge into a shared folder, launch it on your Mac, and an AI agent can list windows, open apps, type text, read the clipboard, browse files, and more — all through a simple text-based protocol.
┌──────────────────────┐
│ Claude / AI Agent │ │ │ │ │ MCP Protocol │ │ │ │ │ MCP Server (Node) │ │ │ │ │ Shared Folder I/O │ └────────┬─────────────┘ │ reads/writes text files │ ┌────┴──────────────────────────┐ │ Shared Volume (NAS / AFP / │ │ SMB / emulator extfs) │ │ │ │ AgentBridge-MyMac/ │ │ ├── inbox/ ← commands in │ │ ├── outbox/ ← responses out │ │ ├── assets/ ← file staging │ │ └── heartbeat │ └────┬──────────────────────────┘ │ ┌────────┴─────────────────────────┐ │ Classic Mac OS 7 / 8 / 9 │ │ │ │ AgentBridge.app │ │ - Polls inbox for commands │ │ - Executes via Mac Toolbox │ │ - Writes responses to outbox │ │ - Heartbeat every 2 seconds │ └──────────────────────────────────┘
The transport is just a folder. How that folder is shared between the AI and the Mac is up to you:
No SSH. No special drivers. No modifications to your Mac's system. AgentBridge is a regular application — launch it, quit it, done.
The MCP server exposes these tools to AI agents. If the fleet has only one target, the target parameter is optional on all tools.
`classic_mac_list_targets` List all configured Classic Mac targets and their status (heartbeat alive/dead). No parameters.
`classic_mac_ping` Health check — returns pong if AgentBridge is responding.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_heartbeat` Read the heartbeat file — shows uptime, front app, free memory, timestamp.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_get_about` System information — OS version, machine type, RAM, free memory, uptime.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_list_windows` Enumerate all visible windows across all applications. Returns window index, title, bounds (left,top,right,bottom), and front/back layer.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_get_front_window` Get details about the frontmost window — title, bounds, owning app.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_list_processes` List running applications with name, creator code, PID, and memory partition.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_list_menus` List the menu bar entries for the frontmost application.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_get_menu_items` Get items within a specific menu by name.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
menu | Yes | Menu title (e.g. "File", "Edit") |
`classic_mac_menu_select` Activate a menu item by name. Works for items with keyboard shortcuts.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
menu | Yes | Menu title |
item | Yes | Menu item name |
`classic_mac_click` Click at screen coordinates.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
x | Yes | X coordinate (pixels from left) |
y | Yes | Y coordinate (pixels from top) |
clicks | No | Number of clicks (default 1, use 2 for double-click) |
`classic_mac_mouse_move` Move the cursor without clicking.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
x | Yes | X coordinate |
y | Yes | Y coordinate |
`classic_mac_mouse_drag` Click and drag from one point to another.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
x1 | Yes | Start X |
y1 | Yes | Start Y |
x2 | Yes | End X |
y2 | Yes | End Y |
`classic_mac_type_text` Type a string of text into the frontmost application.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
text | Yes | Text to type |
`classic_mac_key_press` Press a single key with optional modifiers.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
key | Yes | Key name: single character, or return, enter, tab, space, delete, escape, left, right, up, down, home, end, pageup, pagedown, f1–f5 |
modifiers | No | Comma-separated: cmd, opt, shift, ctrl (e.g. "cmd,shift") |
`classic_mac_get_clipboard` Read the current clipboard text contents.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_set_clipboard` Set the clipboard text contents.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
text | Yes | Text to place on clipboard |
`classic_mac_launch_app` Launch an application by HFS path or creator code.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
path | No* | HFS path (e.g. "Macintosh HD:Applications:SimpleText") |
creator | No* | 4-character creator code (e.g. "ttxt") |
*One of path or creator is required.
`classic_mac_activate_app` Bring a running application to the front.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
name | Yes | Application name |
`classic_mac_quit_app` Send a quit Apple Event to a running application.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
name | Yes | Application name |
`classic_mac_send_appleevent` Send a generic Apple Event to a running application.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
app | Yes | Target app name or 4-char creator code |
event | Yes | Event type: oapp, quit |
`classic_mac_get_volumes` List all mounted volumes with name, free space, and total size.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
`classic_mac_list_folder` List contents of a folder by HFS path. Returns name, type code, creator code, size, and whether each item is a folder.
| Parameter | Required | Description |
|---|---|---|
target | No | Target ID or alias |
path | Yes | HFS path (e.g. "Macintosh HD:System Folder:") |
| Environment | Architecture | OS Versions | Status |
|---|---|---|---|
| 68k Macs | 68k | System 7.0–8.1 | ✅ Tested on System 7.6.1 |
| PowerPC Macs | PowerPC | Mac OS 8.5–9.2.2 | Builds, untested |
| BasiliskII | 68k | System 7.0–8.1 | ✅ Tested on System 7.6.1 |
| SheepShaver | PowerPC | Mac OS 8.5–9.2.2 | Builds, untested |
AgentBridge requires System 7.0 or later (for Apple Events support).
Download from the Releases page:
AgentBridge/
└── AgentBridge-YourMacName/ ├── inbox/ ├── outbox/ └── assets/
printf "BRIDGE 1.0.1\rSEQ 00001\rCMD ping\rTS 20260308T170000\r---\r" > /path/to/shared/AgentBridge-YourMacName/inbox/C00001.msg
cat /path/to/shared/AgentBridge-YourMacName/outbox/R00001.msg | tr '\r' '\n'
You should see RESULT pong and STATUS ok.
Each Mac gets its own subfolder with its own copy of AgentBridge:
NAS Share/
└── AgentBridge/ ├── AgentBridge-SE30/ ← Mac SE/30 running System 7 │ ├── AgentBridge (app) │ ├── inbox/ │ ├── outbox/ │ └── assets/ ├── AgentBridge-G4/ ← Power Mac G4 running OS 9 │ ├── AgentBridge (app) │ ├── inbox/ │ ├── outbox/ │ └── assets/ └── AgentBridge-BasiliskII/ ← Emulator ├── AgentBridge (app) ├── inbox/ ├── outbox/ └── assets/
AgentBridge uses its own launch location as its working directory — no configuration needed.
The MCP server exposes AgentBridge commands as tools for AI agents like Claude. It's a Node.js TypeScript server that communicates via stdio (standard MCP transport).
npm install -g classic-mac-mcp
Or run directly with npx (no install needed):
npx -y classic-mac-mcp --config /path/to/fleet.json
git clone https://github.com/SeanFDZ/agentbridge.git
cd agentbridge npm install npm run build
Create a fleet.json file to point at your shared folders:
{
"fleet": [ { "id": "my-classic-mac", "alias": "Classic Mac", "arch": "68k", "os_version": "7.6.1", "shared_folder": "/Volumes/NASShare/AgentBridge/AgentBridge-MyMac" } ] }
Add to
ตัดมาแค่ช่วงต้น อ่านต่อใน repo