mcpField
A
Agentbridge

Agentbridge

ローカル
apps.fallingdata.zoneその他2827 週間前に更新

Agentbridge について

AgentBridge は Classic Mac OS 上で動作するネイティブアプリで、共有フォルダー上のテキストプロトコルを介して AI エージェントが Mac OS 7~9 を操作できるようにします。実機やエミュレーターを使うレトロコンピューティング利用者を対象とし、システムの変更は不要です。

主な機能

  1. 01共有フォルダーを転送路とするテキストプロトコル
  2. 02ウィンドウ、プロセス、メニューの一覧表示
  3. 03マウスクリック、ドラッグ、キー入力の再現
  4. 04クリップボードのテキストの読み書き
  5. 05アプリケーションの起動、アクティブ化、終了
  6. 06ボリュームとフォルダーの参照

活用シーン

  1. 01AI エージェントによる 68k または PowerPC Mac 上のアプリ操作
  2. 02BasiliskII や SheepShaver エミュレーターでの自動テスト
  3. 031 つの MCP サーバーからの複数 Classic Mac の管理

MCP 対応

MCP サーバーは stdio で AI クライアントと通信し、AgentBridge のコマンドを classic_mac_* ツールとして公開します。共有フォルダー内のメッセージを MCP の呼び出しに変換します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agentbridge": {
"command": "npx",
"args": [
"-y",
"classic-mac-mcp"
]
}
}
}
起動コマンドnpx -y classic-mac-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmclassic-mac-mcp1.0.2

ツール

23

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

AgentBridge

npm MCP Registry

AI をあなたの Classic Mac と会話させましょう。

AgentBridge は、AI エージェント(Claude など)が構造化されたコマンドと応答を通じて Mac OS 7〜9 とやり取りできるようにするネイティブの Classic Mac OS アプリケーションです。実機でもエミュレーターでも動作し、お使いの Mac に変更を加える必要はありません。

AgentBridge を共有フォルダに配置し、お使いの Mac で起動するだけで、AI エージェントはウィンドウの一覧表示、アプリの起動、テキストの入力、クリップボードの読み取り、ファイルの閲覧などを行えます — すべてシンプルなテキストベースのプロトコルを通じて。

Mac SE 上の AgentBridge スプラッシュ画面

仕組み

┌──────────────────────┐
│    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     │
└──────────────────────────────────┘

トランスポートは単なるフォルダです。そのフォルダを AI と Mac の間でどのように共有するかは自由です:

  • NAS/ファイルサーバー(AFP または SMB) — 複数の Mac とお使いの現代のコンピューターがすべて同じ共有にマウントします
  • エミュレーターの共有フォルダ — BasiliskII と SheepShaver はどちらもホストディレクトリの共有をサポートしています
  • その他の共有ファイルシステム — 双方がファイルを読み書きできれば、動作します

SSH は不要です。特別なドライバーも不要です。お使いの Mac のシステムに変更を加える必要もありません。AgentBridge は通常のアプリケーションです — 起動して、終了して、それで終わりです。

MCP ツールリファレンス

MCP サーバーはこれらのツールを AI エージェントに公開します。ターゲットが 1 つだけの場合、target パラメータはすべてのツールで省略可能です。

システムとステータス

classic_mac_list_targets 設定されたすべての Classic Mac ターゲットとそのステータス(ハートビートの生存/停止)を一覧表示します。 パラメータはありません。

classic_mac_ping ヘルスチェック — AgentBridge が応答していれば pong を返します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_heartbeat ハートビートファイルを読み取ります — 稼働時間、前面のアプリ、空きメモリ、タイムスタンプを表示します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_get_about システム情報 — OS バージョン、マシンタイプ、RAM、空きメモリ、稼働時間。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス
ウィンドウとプロセス

classic_mac_list_windows すべてのアプリケーションにわたる、表示されているすべてのウィンドウを列挙します。ウィンドウインデックス、タイトル、境界(left、top、right、bottom)、前面/背面のレイヤーを返します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_get_front_window 最前面のウィンドウの詳細 — タイトル、境界、所有アプリを取得します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_list_processes 実行中のアプリケーションを名前、クリエーターコード、PID、メモリパーティションとともに一覧表示します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス
メニュー

classic_mac_list_menus 最前面のアプリケーションのメニューバー項目を一覧表示します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_get_menu_items 名前で特定のメニュー内の項目を取得します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス
menuはいメニュータイトル(例: 「File」「Edit」)

classic_mac_menu_select 名前でメニュー項目をアクティブにします。キーボードショートカットのある項目で機能します。

パラメータ必須説明
targetいいえターゲット ID またはエイリアス
menuはいメニュータイトル
itemはいメニュー項目名
マウスとキーボード

classic_mac_click 画面座標をクリックします。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
xはいX 座標 (左からのピクセル数)
yはいY 座標 (上からのピクセル数)
clicksいいえクリック回数 (デフォルトは 1、ダブルクリックには 2 を指定)

classic_mac_mouse_move クリックせずにカーソルを移動します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
xはいX 座標
yはいY 座標

classic_mac_mouse_drag ある地点から別の地点までクリックしてドラッグします。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
x1はい開始 X
y1はい開始 Y
x2はい終了 X
y2はい終了 Y

classic_mac_type_text 最前面のアプリケーションに文字列を入力します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
textはい入力するテキスト

classic_mac_key_press オプションの修飾キーを付けて単一のキーを押します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
keyはいキー名: 単一文字、または return、enter、tab、space、delete、escape、left、right、up、down、home、end、pageup、pagedown、f1–f5
modifiersいいえカンマ区切り: cmd、opt、shift、ctrl (例: "cmd,shift")
クリップボード

classic_mac_get_clipboard 現在のクリップボードのテキスト内容を読み取ります。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_set_clipboard クリップボードのテキスト内容を設定します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
textはいクリップボードに配置するテキスト
アプリケーション制御

classic_mac_launch_app HFS パスまたはクリエーターコードでアプリケーションを起動します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
pathいいえ*HFS パス (例: "Macintosh HD:Applications:SimpleText")
creatorいいえ*4 文字のクリエーターコード (例: "ttxt")

*path または creator のいずれかが必須です。

classic_mac_activate_app 実行中のアプリケーションを最前面に表示します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
nameはいアプリケーション名

classic_mac_quit_app 実行中のアプリケーションに終了 Apple Event を送信します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
nameはいアプリケーション名

classic_mac_send_appleevent 実行中のアプリケーションに汎用 Apple Event を送信します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
appはいターゲットアプリ名または 4 文字のクリエーターコード
eventはいイベントタイプ: oapp、quit
ファイルとボリューム

classic_mac_get_volumes マウントされているすべてのボリュームを、名前、空き容量、合計サイズとともに一覧表示します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス

classic_mac_list_folder HFS パスでフォルダーの内容を一覧表示します。名前、タイプコード、クリエーターコード、サイズ、および各項目がフォルダーかどうかを返します。

パラメーター必須説明
targetいいえターゲット ID またはエイリアス
pathはいHFS パス (例: "Macintosh HD:System Folder:")

互換性

環境アーキテクチャOS バージョンステータス
68k Mac68kSystem 7.0~8.1✅ System 7.6.1 でテスト済み
PowerPC MacPowerPCMac OS 8.5~9.2.2ビルド可、未テスト
BasiliskII68kSystem 7.0~8.1✅ System 7.6.1 でテスト済み
SheepShaverPowerPCMac OS 8.5~9.2.2ビルド可、未テスト

AgentBridge には System 7.0 以降が必要です(Apple Events 対応のため)。

クイックスタート

ビルド済みバイナリ

Releases ページからダウンロードしてください:

  • AgentBridge-68k.bin — 68k Mac 用の MacBinary(System 7~8.1)
  • AgentBridge-68k.dsk — 68k Mac 用の HFS ディスクイメージ(System 7~8.1)
  • AgentBridge-ppc.bin — PowerPC Mac 用の MacBinary(OS 8.5~9.2.2)
  • AgentBridge-ppc.dsk — PowerPC Mac 用の HFS ディスクイメージ(OS 8.5~9.2.2)
セットアップ
  1. 共有フォルダを作成します。Mac とモダンなコンピュータの両方からアクセスできる必要があります。NAS 共有、エミュレータのホストディレクトリ、または任意の共有ファイルシステムを使用できます。

  2. 共有フォルダ内にディレクトリ構造を作成します:

    AgentBridge/
    └── AgentBridge-YourMacName/
        ├── inbox/
        ├── outbox/
        └── assets/
    
  3. AgentBridge をコピーします。inbox/outbox/assets と同じフォルダに配置してください。

  4. Classic Mac で AgentBridge を起動します。自動的に自身のフォルダを検出し、コマンドのポーリングを開始します。

  5. モダンなコンピュータからテストコマンドを送信します:

    printf "BRIDGE 1.0.1\rSEQ 00001\rCMD ping\rTS 20260308T170000\r---\r" > /path/to/shared/AgentBridge-YourMacName/inbox/C00001.msg
    
  6. レスポンスを読み取ります:

    cat /path/to/shared/AgentBridge-YourMacName/outbox/R00001.msg | tr '\r' '\n'
    

    RESULT pong と STATUS ok が表示されるはずです。

AgentBridge 経由で Claude が Mac SE に入力したテキスト

複数の Mac

各 Mac は、それぞれ独自の 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 は自身の起動場所を作業ディレクトリとして使用します — 設定は不要です。

MCP サーバー

MCP サーバーは、Claude などの AI エージェント向けのツールとして AgentBridge のコマンドを公開します。stdio(標準の MCP トランスポート)を介して通信する Node.js TypeScript サーバーです。

npm でインストール
npm install -g classic-mac-mcp

または npx で直接実行します(インストール不要):

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
設定

共有フォルダを指定する fleet.json ファイルを作成します:

{
  "fleet": [
    {
      "id": "my-classic-mac",
      "alias": "Classic Mac",
      "arch": "68k",
      "os_version": "7.6.1",
      "shared_folder": "/Volumes/NASShare/AgentBridge/AgentBridge-MyMac"
    }
  ]
}
Claude Desktop

Claude Desktop の設定(claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "classic-mac": {
      "command": "npx",
      "args": ["-y", "classic-mac-mcp", "--config", "/path/to/fleet.json"]
    }
  }
}

または、ソースからインストールした場合:

{
  "mcpServers": {
    "classic-mac": {
      "command": "node",
      "args": ["/path/to/agentbridge/dist/server.js", "--config", "/path/to/agentbridge/config/fleet.json"]
    }
  }
}

プロトコル

AgentBridge は、Classic Mac の制約のために設計された行指向のキーと値のテキストプロトコルを使用します:

  • JSON なし — 約50行の C で解析可能、動的メモリ割り当てはゼロ
  • CR 改行(Classic Mac ネイティブ)
  • MacRoman テキストエンコーディング(MCP サーバーによって UTF-8 に変換)
  • 最大メッセージサイズは 32KB
  • ファイル名は C00001.msg(コマンド)と R00001.msg(レスポンス)
コマンドフォーマット

コマンドは inbox/ ディレクトリに書き込まれるテキストファイルで、C{seq}.msg(例:C00001.msg)という名前です。シーケンス番号は 5 桁にゼロ埋めされます。

BRIDGE 1.0.1
SEQ 00042
CMD list_windows
TS 20260308T153022
---

すべての行は KEY value のペアで、単独行の --- で終端されます。改行は CR(0x0D、Classic Mac ネイティブ)です。テキストエンコーディングは MacRoman です(MCP サーバーが UTF-8 変換を処理します)。複数行のテキストは TEXT キーの後に + 継続行を使用します。最大メッセージサイズは 32KB です。

レスポンスフォーマット

レスポンスは outbox/ ディレクトリに R{seq}.msg として現れ、コマンドのシーケンス番号と一致します。AgentBridge は処理後にコマンドファイルを削除し、MCP サーバーは読み取り後にレスポンスファイルを削除します。

BRIDGE 1.0.1
SEQ 00042
STATUS ok
COUNT 2
WINDOW 1|?|Untitled|10,40,400,300|front
WINDOW 2|?||0,0,640,480|back
TS 20260308T153022
---

STATUS は ok または error のいずれかです。エラーの場合、ERRCODE と ERRMSG フィールドが詳細を提供します。複数値のレスポンス(ウィンドウ、プロセス、ボリューム、ファイル、メニュー項目)は、パイプ区切りのフィールドを持つ繰り返しキー(WINDOW、PROCESS、VOLUME、FILEENTRY、MENUBAR、MENUITEM)を使用します。

ハートビート

AgentBridge は約 2 秒ごとに、作業ディレクトリに heartbeat ファイルを書き込みます:

BRIDGE 1.0.1
UPTIME 218
TICKS 240498
FRONTAPP Finder
FREEMEM 4096
TS 20260308T173113
---

MCP サーバーは、ハートビートファイルの更新時刻を監視して、AgentBridge が稼働しているかどうかを判断します。

ソースからのビルド

git clone https://github.com/SeanFDZ/agentbridge.git
cd agentbridge
npm install
npm run build

Node.js 20 以上が必要です。

AgentBridge のバイナリはビルド済みのダウンロードとして入手可能です — ソースコードは配布されていません。

プロジェクト構成

agentbridge/
├── src/                            # MCP server (TypeScript, GPLv3)
│   ├── server.ts                   # MCP tool definitions and handlers
│   ├── fleet.ts                    # Fleet registry
│   ├── types.ts                    # Type definitions
│   └── bridge/
│       └── client.ts               # Shared folder I/O client
└── config/
    └── fleet.json                  # Fleet configuration

設計原則

ホスト側の依存関係なし。 AgentBridge はすべてを Mac Toolbox を通じて行います。SSH も、画面キャプチャも、ホスト OS レベルでの入力インジェクションもありません。つまり、実機でもエミュレーターでもまったく同じように動作します。

システムの変更なし。 AgentBridge は通常のアプリケーションです。システムフォルダを変更したり、拡張機能をインストールしたり、起動構成を変更したりしません。起動して、終了して、削除する — あなたの Mac はそのままです。

トランスポート非依存。 プロトコルはフォルダ内のテキストファイルにすぎません。そのフォルダをどのように共有するか(NAS、AFP、SMB、エミュレーターの extfs、USB ドライブ、伝書鳩)は AgentBridge の関知するところではありません。

協調的マルチタスクの良き市民。 AgentBridge は毎サイクル WaitNextEvent() を通じて CPU を譲ります。他のアプリは正常に動作します。

ステートレスなコマンド。 すべてのコマンドは自己完結しています。MCP サーバーがクラッシュして再起動しても、Mac 側がそれを知る必要はありません。

クレジット

AgentBridge 1.0.1 Sean Lavigne © 2026 Falling Data Zone, LLC

Wolfgang Thaller による Retro68 を使用して構築されています。

Falling Data Zone の他の製品

MacMind — 完全に HyperTalk で実装され、Macintosh SE/30 上でトレーニングおよび実行される単層トランスフォーマーニューラルネットワーク。1987 年のスクリプティングで機械学習ができることの証明です。

その他のアプリは apps.fallingdata.zone でご覧いただけます。

ライセンス

このプロジェクトには、別々のライセンスを持つ 2 つのコンポーネントがあります。

MCP サーバー(TypeScript、src/ ディレクトリ) — GNU General Public License v3.0 — GPL の条件の下で自由に使用、変更、配布できます。

AgentBridge.app(Classic Mac アプリケーション、ソースは classic-mac-src/) — 修正版 PolyForm Noncommercial 1.0.0。© 2026 Falling Data Zone, LLC。ビルド済みバイナリはダウンロード可能です。

プロトコル — この README に記載されている AgentBridge プロトコルはオープンです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。