Integrations
Supports configuration through environment variables, particularly for specifying ROM paths and server settings like port number.
Provides a web server in SSE mode for ROM selection through a browser interface, allowing the GameBoy emulator to be accessed via HTTP.
Supports installation via Git clone, allowing users to download the MCP server from its repository.
MCP ゲームボーイ サーバー
GameBoy エミュレータ用の Model Context Protocol (MCP) サーバー。LLM が GameBoy エミュレータと対話できるようにします。
特徴
- stdioとSSEトランスポートの両方をサポート
- GameBoy のコントロール用のツールを提供します (上、下、左、右、A、B、スタート、選択)
- さまざまなROMをロードするためのツールを提供します
- 現在の画面を取得するためのツールを提供します
- すべてのツールは最新のスクリーンフレームを含むImageContentを返します
インストール
FLUJOへのインストール
- サーバーの追加をクリック
- Github URL をコピーして FLUJO に貼り付けます
- 「解析」、「複製」、「インストール」、「ビルド」、「保存」をクリックします。
手動インストール
設定ファイルによるインストール
!!注意: 多くのMCPクライアントでは、.env変数のROMパスを絶対パスとして指定する必要があります。
構成ファイルを介してこの MCP サーバーを Cline または他の MCP クライアントと統合するには、次の手順を実行します。
- Cline 設定を開きます:
- VS Codeで、「ファイル」->「設定」->「設定」に移動します。
- 「Cline MCP 設定」を検索
- 「settings.jsonで編集」をクリック
mcpServers
オブジェクトにサーバー構成を追加します。Copy/path/to/mcp-gameboy/dist/index.js
、プロジェクトディレクトリ内のindex.js
ファイルへの実際のパスに置き換えてください。Windows の場合は、パスにスラッシュ (/) または二重のバックスラッシュ (\\) を使用してください。- 設定ファイルを保存します。Cline は自動的にサーバーに接続します。
使用法
環境変数
!!注意: 多くのMCPクライアントでは、.env変数のROMパスを絶対パスとして指定する必要があります。
次の変数を含む.env
ファイルをルート ディレクトリに作成します。
stdioモードで実行
stdioモードでは、サーバーはROM_PATH
環境変数で指定されたROMパスを使用します。ブラウザウィンドウが開き、ゲームボーイの画面が表示されます。
SSEモードで実行
SSE モードでは、サーバーは ROM 選択用の Web ページを提供する Express サーバーを起動します。
次に、ブラウザでhttp://localhost:3001
を開き、ROM を選択します。
ツール
サーバーは次のツールを提供します。
press_up
: ゲームボーイのUPボタンを押すpress_down
: ゲームボーイのDOWNボタンを押しますpress_left
: ゲームボーイの左ボタンを押しますpress_right
: ゲームボーイの右ボタンを押しますpress_a
: ゲームボーイのAボタンを押すpress_b
: ゲームボーイのBボタンを押すpress_start
: ゲームボーイのSTARTボタンを押しますpress_select
: ゲームボーイのSELECTボタンを押すload_rom
: GameBoy ROMファイルをロードするget_screen
: 現在のゲームボーイ画面を取得する
すべてのツールは、最新の画面フレームを含む ImageContent を返します。
実装の詳細
このサーバーは、Model Context Protocol (MCP) TypeScript SDKを使用して構築されています。以下のものを使用しています。
- サーバー実装用の
@modelcontextprotocol/sdk/server/mcp.js
のMcpServer
- stdio トランスポート用の
@modelcontextprotocol/sdk/server/stdio.js
からのStdioServerTransport
- SSE トランスポート用の
@modelcontextprotocol/sdk/server/sse.js
からのSSEServerTransport
- ゲームボーイエミュレーション用の
serverboy
- SSEモードのWebサーバー用の
express
- ゲームボーイ画面をレンダリングするための
canvas
ライセンス
マサチューセッツ工科大学
You must be authenticated.
LLM が GameBoy エミュレータと対話できるようにし、GameBoy を制御し、ROM をロードし、画面フレームを取得するためのツールを提供するモデル コンテキスト プロトコル サーバー。