mcpField
G
Geartowns MCP Server

Geartowns MCP Server

ローカル
github.com/drheliusゲーム・エンタメ22今日更新

Geartowns MCP Server について

Geartownsは、デバッガーとMCPサーバーを内蔵したクロスプラットフォームのFujitsu FM Townsエミュレーターです。AIエージェントを使ってゲームを調査・デバッグしたい利用者や開発者向けです。

主な機能

  1. 01FM TownsとMartyのエミュレーション
  2. 02CD-ROM、フロッピー、SCSIディスク対応
  3. 03ブレークポイントと逆アセンブル機能
  4. 04メモリとハードウェアの検査
  5. 05ステート保存、巻き戻し、ランアヘッド

活用シーン

  1. 01デバッグ中のゲームコード追跡
  2. 02メモリとエミュレートされたハードウェアの確認
  3. 03AIエージェントによるゲームのデバッグ
  4. 04FM Townsゲームの調査や改変

MCP 対応

内蔵MCPサーバーは、実行制御、メモリ検査、ブレークポイント、逆アセンブル、ハードウェア状態、巻き戻しのツールを公開します。STDIOとHTTPに対応し、STDIOが推奨されています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbGeartowns-1.0.1-mcpb-macos-arm64.mcpb
mcpbGeartowns-1.0.1-mcpb-macos-x64.mcpb
mcpbGeartowns-1.0.1-mcpb-windows-arm64.mcpb
mcpbGeartowns-1.0.1-mcpb-windows-x64.mcpb
mcpbGeartowns-1.0.1-mcpb-linux-x64.mcpb
mcpbGeartowns-1.0.1-mcpb-linux-arm64.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Geartowns

GitHub Workflow Status GitHub Releases) commits) GitHub contributors GitHub Sponsors License Twitter Follow

Geartowns は、C++ で書かれた高精度なクロスプラットフォーム対応の Fujitsu FM Towns エミュレーターです。Windows、macOS、Linux、BSD、RetroArch 上で動作し、AI によるデバッグと開発のための MCP サーバーを内蔵しています。

これはオープンソースプロジェクトです。継続的な開発は、素晴らしい支援者の皆様のおかげで実現しています。役に立った場合は、ぜひスポンサーをご検討ください。

issue を作成して、バグの報告や新機能のリクエストをお気軽にお寄せください。

README の画像 ## ダウンロード
プラットフォームアーキテクチャダウンロードリンク
Windowsデスクトップ x64Geartowns-1.0.1-desktop-windows-x64.zip
デスクトップ ARM64Geartowns-1.0.1-desktop-windows-arm64.zip
macOSHomebrewbrew install --cask drhelius/geardome/geartowns
デスクトップ Apple SiliconGeartowns-1.0.1-desktop-macos-arm64.zip
デスクトップ IntelGeartowns-1.0.1-desktop-macos-intel.zip
LinuxUbuntu PPAdrhelius/ppa-geardome
Fedora RPMdrhelius/rpm-geardome
デスクトップ Ubuntu 26.04 x64Geartowns-1.0.1-desktop-ubuntu26.04-x64.zip
デスクトップ Ubuntu 26.04 ARM64Geartowns-1.0.1-desktop-ubuntu26.04-arm64.zip
デスクトップ Ubuntu 24.04 x64Geartowns-1.0.1-desktop-ubuntu24.04-x64.zip
デスクトップ Ubuntu 24.04 ARM64Geartowns-1.0.1-desktop-ubuntu24.04-arm64.zip
MCPBすべてのプラットフォームMCP の README
RetroArchすべてのプラットフォームLibretro コアのドキュメント
開発ビルドすべてのプラットフォームGitHub Actions

注:

  • Windows: Visual C++ Redistributable と OpenGL Compatibility Pack が必要になる場合があります
  • Homebrew:Homebrew からサードパーティの tap を信頼するよう求められた場合は、brew trust --tap drhelius/geardome を実行してください
  • Linux:libsdl3 が必要になる場合があります

機能

  • 非常に高精度な80386コアを搭載し、test386およびSingleStepTests/80386に合格します。
  • FM Towns(Model 1/2)、1F/2F、10F/20F、FM Towns II CX、UX、UG、HG、HR、およびFM Towns Martyをエミュレートします。
  • cue/bin、iso、chdイメージ、m3uディスクプレイリスト、ディスクの入れ替えに対応するCD-ROMドライブエミュレーション。圧縮イメージ(zip)にもオプションで対応します。
  • Windows、macOS、Linuxで物理CD-ROMディスクを使用できます。
  • 2台のドライブに対応するフロッピーディスクエミュレーション。d77、d88、hdm、xdf、img、HxCのmfmイメージ、m3uプレイリスト、書き込み保護、ディスク変更の任意の保存に対応します。
  • ID 0-6のSCSIハードディスク。rawおよびchdイメージ、空のディスクの作成、Towns OSのインストールに対応します。
  • 5つのスロットを備えたステートセーブと巻き戻しに対応します。
  • 入力遅延を軽減するランアヘッドに対応します。
  • AVIへの動画録画とスクリーンショットに対応します。
  • YM3438およびRF5C68サウンドチップ用のVGMレコーダー。
  • 対応プラットフォーム(スタンドアロン):Windows、Linux、BSD、macOS。
  • 対応プラットフォーム(libretro):Windows、Linux、macOS、Raspberry Pi、Android、iOS、tvOS、webOS、PlayStation 3、Nintendo GameCube、Nintendo WiiU、Nintendo Switch、Emscripten、Classic Miniシステム(NES、SNES、C64など)、OpenDingux、RetroFW、QNX。
  • 完全なデバッガー:
    • ジャストインタイム逆アセンブラー、コードナビゲーション、コールスタック、デバッグシンボル、自動ラベル。
    • 実行、データ、I/O、割り込みブレークポイント。
    • メモリーエディター、トレースロガー、プロファイラー。
    • i386レジスター、ディスクリプターテーブル、ページングインスペクター。
    • CRTC、パレット、フレームバッファー、スプライト、YM3438、RF5C68、CD-ROM、フロッピーコントローラーとディスク、SCSIコントローラーとディスク、割り込み、タイマー、DMA、RTC、キーボード、ゲームポートのビューアー。
  • Claude Code、Codexなどを使ったAI支援デバッグ用のMCPサーバー。実行制御、メモリー検査、ハードウェア状態、巻き戻しなどのツールを公開します。
  • Windows、Linux、macOSのポータブルモード。
  • プログラマブルシェーダーチェーン。
  • CD-ROM、フロッピー、ハードディスクのイメージパスを引数として指定し、コマンドラインからメディアを読み込めます。
  • ドラッグ&ドロップでメディアを読み込めます。
  • アプリケーションバイナリと同じディレクトリに置かれたgamecontrollerdb.txtファイルを使った、最新のゲームコントローラーに対応します。

ヒント

基本的な使い方
  • ファームウェア:Geartownsの実行にはFM TownsのシステムROMが必要です。**Machine → Firmware...**から、それらを格納したフォルダーを選択してください。セットごとに1つのサブフォルダーまたはMAME zipを使用します。各モデルに必要なセット、配置場所、チェックサムについてはBIOS_README.mdを参照してください。
  • マシン:Machine → Model、CPU Speed、Main RAMの初期設定はAutoです。次のいずれかが選択されます。
    • ゲームデータベースにそのゲーム用として記載されたモデル、CPU速度、RAM。
    • 1.44 MBフロッピーディスクの場合はFM Towns II HG。
    • その他のコンテンツの場合はFM Towns(Model 1/2)。
  • CD-ROMイメージ:Geartownsは、chd、zip圧縮および非圧縮のcue/binとisoイメージ、複数枚組ゲーム用のm3uプレイリストに対応します。CUEのオーディオトラックには、raw BIN、互換性のあるWAV(44100 Hz、16-bit、ステレオ)、またはOgg Vorbisファイルを使用できます。Geartowns → CD-ROMからディスクを入れ替えます。
  • フロッピーイメージ:Geartowns → Floppiesからフロッピーディスクを挿入するか、コマンドラインから読み込みます。対応イメージはd77、d88、hdm、xdf、img、mfmで、zipファイル内のイメージとm3uプレイリストにも対応します。
  • ポータブルモード:--portableを指定して実行するか、アプリケーションバイナリと同じディレクトリにportable.iniという空のファイルを作成します。macOSでは、.appバンドルの隣にファイルを配置してください。
ハードディスク

ID 0-6に最大7台のSCSIハードディスクを接続できます。

  • 1F/2F以降:SCSIインターフェースを内蔵しています。
  • FM Towns(Model 1/2):ディスクの接続時にSCSIカードを装着します。
  • FM Towns Marty:SCSIには対応していません。
イメージ形式
  • Raw イメージ(hdd、h0~h6、および 8 MB を超える hdm):512 バイトのセクターです。サイズの小さい hdm イメージはフロッピーディスクです。
  • MAME ハードディスク chd:読み取り専用です。最初の書き込み時に、Geartowns は Save Files フォルダーに Raw の作業用コピーを作成し、それ以降はそのコピーを使用します。
ディスクの接続
  • デスクトップ:Geartowns → Hard Disks、ドラッグ&ドロップ、またはコマンドラインを使用します。ドラッグ&ドロップとコマンドラインでは、拡張子に基づいて ID が選ばれます。
    • h0~h6:その SCSI ID。
    • 8 MB を超える hdd と hdm:最初の空き ID。
  • Libretro:イメージを単独、または CD を含む m3u プレイリストのコンテンツとして読み込みます。変更は保存ディレクトリ内の作業用コピーに反映され、元のイメージには書き込まれません。
  • 実行中のマシン:ディスクの接続または取り外しは、次回のリセット時に反映されます。
ディスクへの書き込みとセーブステート
  • 書き込みが止まってから数秒後に、書き込み内容が保存されます。
  • セーブステート、巻き戻し、先行実行にはディスクデータは含まれません。セーブステートを読み込むと、その時点以降に行われたディスクへの書き込み(ディスクごとに最後の 32 MB 分)が取り消され、取り消せない場合は警告が表示されます。
ゲームのインストール

Formatted にチェックを入れて New Blank Disk... を選ぶと、Towns OS と同じ方法でパーティション分割とフォーマットが行われ、127 MB ごとに空のドライブが 1 つ作成されます(最大 10 個)。CD から起動したゲームは、そのディスクにインストールできます。システムは含まれず、起動もできません。

Towns OS のインストール
  1. New Blank Disk... を選び、Formatted のチェックを外してディスクを作成します。
  2. Towns OS V2.1 CD から起動し、TownsMENU V2.1 の Tools フォルダーから HD Install を実行します。
  3. CD を取り出してリセットします。

Towns OS V2.1 をハードディスクから起動するには、起動時に 4 MB の RAM が必要です。ディスク接続時に Main RAM を Auto にすると、少なくともこの容量が割り当てられます。

ハードディスクからの起動
  • 起動可能な CD は、ディスクより先に起動します。
  • CD を挿入したままディスクから起動するには、Geartowns → Reset and Boot From でディスクを選びます。リセット中はシステム ROM の起動キー(H と SCSI ID)が保持されます。
  • Model 1/2 と Marty の ROM は、これらのキーを読み取りません。
ドライブ文字

Towns OS はハードディスクのドライブ文字をディスク上ではなくモデルの CMOS に保存し、ドライブ文字が割り当てられたパーティションのみを使用します。

  • Assign Drive Letters がオン(Geartowns → Hard Disks、デフォルト)の場合:リセットのたびに、接続されたディスクのドライブ文字が未割り当てのパーティションに、D: から順に空き文字が割り当てられます。すでに設定されている文字は保持されます。これにより、別のモデルやエミュレーターでインストールしたディスクから起動できます。
  • Assign Drive Letters がオフの場合:Towns OS で手動でドライブ文字を割り当てます。
    1. Towns OS V2.1 CD から起動します。
    2. Settings → Drive Configuration を開きます。
    3. ディスクの SCSI ID をクリックし、Add Drive、次に Execute をクリックします。
    4. CD を取り出してリセットします。
デバッグ機能
  • ウィンドウのドッキング:デバッグモードでは、SHIFT を押しながらウィンドウを別のウィンドウにドラッグすると、ウィンドウ同士をドッキングできます。
  • マルチビューポート:Windows または macOS では、デバッグメニューで「multi-viewport」を有効にできます。変更を反映するには、エミュレーターを再起動する必要があります。有効にすると、デバッガーのウィンドウをメインウィンドウの外へドラッグできます。
  • シングルインスタンス:Emulator メニューで「Single Instance」を有効にできます。有効にすると、別のインスタンスの実行中にファイルを開いた場合、新しいインスタンスを起動する代わりに、実行中のインスタンスにファイルが送られます。
  • デバッグシンボル:エミュレーターは CD-ROM またはフロッピーイメージを読み込むとき、シンボルファイルの読み込みを自動的に試みます。たとえば、path_to_image.cue に対しては path_to_image.sym の読み込みを試みます。GUI または CLI からシンボルファイルを読み込むこともできます。
    • 各行には、address name、name = address、name EQU address、または address type name の形式でシンボルを 1 つ定義します。最後の形式は GNU nm の出力です。例:nm -n program.elf > program.sym。
    • アドレスはリニア形式、または selector:offset 形式で指定できます。
    • コメントは ; または # で始まります。
    • GNU ld と NASM のマップファイルも読み込めます。
コマンドラインの使用方法
geartowns [options] [media_file] [symbol_file]

Arguments:
  media_file                CD-ROM (.cue .chd .iso), floppy (.d77 .d88 .hdm
                            .xdf .img .mfm), .m3u playlist, .zip, or hard disk
                            (.hdd .h0-.h6, hard disk .chd, .hdm over 8 MB)
  symbol_file               Symbol file for debugging

Media:
      --cd FILE             CD-ROM image or .m3u playlist
      --fd1 FILE            Floppy image in drive 1
      --fd2 FILE            Floppy image in drive 2
      --load-state SLOT     Load save state slot 1-5, or a state file, once the
                            media is loaded

Machine (for this run only, the saved settings stay):
      --model MODEL         auto, model1_2, 1f_2f, 10f_20f, cx, ux, ug, hg, hr,
                            marty
      --cpu-mhz MHZ         auto, 16, 20, 25, 33, 40, 50, 66, 100
      --ram MB              auto, 1, 2, 4, 6, 8, 10, 12, 16, 20, 24, 26, 28
      --fpu FPU             auto, none, 80387 (a 487SX on the HR)

Options:
  -f, --fullscreen          Start in fullscreen mode
  -w, --windowed            Start in windowed mode with menu visible
      --mcp-stdio           Auto-start MCP server with stdio transport
      --mcp-http            Auto-start MCP server with HTTP transport
      --mcp-router          Enable compact MCP tool routing
      --mcp-http-address A  HTTP bind address (default: 127.0.0.1)
      --mcp-http-port N     HTTP port for MCP server (default: 7777)
      --headless            Run without GUI (requires MCP)
      --portable            Store configuration and user data beside the
                            application
  -v, --version             Display version information
  -h, --help                Display this help message
MCP サーバー

Geartowns には、Claude Code、Codex などの AI エージェントを通じて AI 支援デバッグを可能にする Model Context Protocol(MCP)サーバーが含まれています。このサーバーは、実行制御、メモリ検査、ブレークポイント、逆アセンブル、ハードウェア状態、巻き戻しなどのツールを提供します。STDIO と HTTP のトランスポートをサポートしており、STDIO を推奨します。

セットアップ手順とツールのドキュメントについては、MCP_README.md を参照してください。

エージェントスキル

Geartowns は、AI アシスタントが特定のタスクでエミュレーターを効果的に使えるようにする Agent Skills を提供しています。

  • geartowns-debugging — ゲームのデバッグ、コードのトレース、ブレークポイントの管理、ハードウェアの検査、リバースエンジニアリング。
  • geartowns-romhacking — チートの作成、メモリ検索、データの変更、テキストの翻訳、ゲームのパッチ適用。

npx skills add drhelius/geartowns でインストールしてください。詳細はスキルの README を参照してください。

ハードウェアの精度

Geartowns は、FM Towns Hardware Tests の結果に基づいて開発されています。

ビルド手順

Windows
  • Microsoft Visual Studio Community 2026 以降をインストールします。
  • SDL3 Releases から最新の SDL3 VC 開発ライブラリ(SDL3-devel-x.y.z-VC.zip という名前のファイル)をダウンロードします。
  • アーカイブを展開し、展開されたフォルダー(例:SDL3-x.y.z)の名前を SDL3 に変更します。
  • SDL3 フォルダーを platforms/windows/dependencies/ に配置し、インクルードパスが platforms/windows/dependencies/SDL3/include/SDL3/ になるようにします。
  • Geartowns の Visual Studio ソリューション platforms/windows/Geartowns.sln を開いてビルドします。
macOS
  • Xcode をインストールし、コンパイラーをコマンドラインから使用できるよう、ターミナルで xcode-select --install を実行します。
  • 次のコマンドを実行して、Mac の app バンドルを生成します。
brew install sdl3
cd platforms/macos
make dist
Linux
  • Ubuntu / Debian / Raspberry Pi(Raspbian):

Ubuntu 26.04 を使用している場合は、SDL3 を直接インストールできます。ビルドするには、次のコマンドを使用します。

sudo apt install build-essential pkg-config libsdl3-dev libgl-dev
cd platforms/linux
make

Ubuntu 24.04 の場合は、まず SDL3 をソースからビルドする必要があります。SDL3 と Geartowns の両方をビルドするには、次のコマンドを使用します。

sudo apt install build-essential cmake git curl jq pkg-config \
  libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev \
  libxi-dev libxss-dev libxkbcommon-dev libwayland-dev libdecor-0-dev \
  libdrm-dev libgbm-dev libgl1-mesa-dev libegl1-mesa-dev libdbus-1-dev libudev-dev libxtst-dev
SDL3_TAG=$(curl -s https://api.github.com/repos/libsdl-org/SDL/releases/latest | jq -r '.tag_name')
git clone --depth 1 --branch "$SDL3_TAG" https://github.com/libsdl-org/SDL.git /tmp/SDL3
cmake -S /tmp/SDL3 -B /tmp/SDL3/build -DCMAKE_INSTALL_PREFIX=/usr -DSDL_TESTS=OFF -DSDL_EXAMPLES=OFF
cmake --build /tmp/SDL3/build -j$(nproc)
sudo cmake --install /tmp/SDL3/build
cd platforms/linux
make
  • Fedora:
sudo dnf install @development-tools gcc-c++ SDL3-devel
cd platforms/linux
make
  • Arch Linux:
sudo pacman -S base-devel sdl3
cd platforms/linux
make
BSD
  • FreeBSD:
su root -c "pkg install -y git gmake pkgconf sdl3"
cd platforms/bsd
USE_CLANG=1 gmake
  • NetBSD:
su root -c "pkgin install gmake pkgconf SDL3"
cd platforms/bsd
gmake
  • OpenBSD
doas pkg_add gmake sdl3
cd platforms/bsd
LDFLAGS=-L/usr/X11R6/lib/ USE_CLANG=1 gmake
Libretro
  • Ubuntu / Debian / Raspberry Pi(Raspbian):
sudo apt install build-essential
cd platforms/libretro
make
  • Fedora:
sudo dnf install @development-tools gcc-c++
cd platforms/libretro
make

貢献者

Geartowns に貢献してくださった皆様、ありがとうございます!

貢献者

ライセンス

Geartowns は GNU General Public License v3.0 License のもとでライセンスされています。詳細については LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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