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.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"agentbridge": {
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add agentbridge -- npx -y classic-mac-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"agentbridge": {
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"agentbridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 SeanFDZ 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.2)于7个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Reelsaw
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
按原文从作者的仓库复制。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
只显示了开头部分;其余内容请在仓库中阅读