MCP GameBoy Server

MIT License
3

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.

Servidor MCP GameBoy

Un servidor de Protocolo de Contexto de Modelo (MCP) para el emulador de GameBoy, que permite a los LLM interactuar con un emulador de GameBoy.

Características

  • Admite transportes stdio y SSE
  • Proporciona herramientas para los controles de GameBoy (arriba, abajo, izquierda, derecha, A, B, inicio, seleccionar)
  • Proporciona herramientas para cargar diferentes ROM
  • Proporciona herramientas para obtener la pantalla actual.
  • Todas las herramientas devuelven un ImageContent con el último fotograma de la pantalla

Instalación

Instalación en FLUJO

  1. Haga clic en Agregar servidor
  2. Copie y pegue la URL de Github en FLUJO
  3. Haga clic en Analizar, Clonar, Instalar, Compilar y Guardar.

Instalación manual

# Clone the repository git clone https://github.com/yourusername/mcp-gameboy.git cd mcp-gameboy # Install dependencies npm install # Build the project npm run build

Instalación mediante archivos de configuración

¡ ATENCIÓN ! Muchos clientes MCP requieren especificar la ruta de la ROM en las variables .env como una ruta absoluta.

Para integrar este servidor MCP con Cline u otros clientes MCP a través de archivos de configuración:

  1. Abra la configuración de Cline:
    • En VS Code, vaya a Archivo -> Preferencias -> Configuración
    • Buscar "Configuración de Cline MCP"
    • Haga clic en "Editar en settings.json".
  2. Agregue la configuración del servidor al objeto mcpServers :
    { "mcpServers": { "mcp-gameboy": { "command": "node", "args": [ "/path/to/mcp-gameboy/dist/index.js" ], "disabled": false, "autoApprove": [] } } }
  3. Reemplaza /path/to/mcp-gameboy/dist/index.js con la ruta real del archivo index.js en el directorio de tu proyecto. Usa barras diagonales (/) o dobles barras diagonales invertidas (\\) para la ruta en Windows.
  4. Guarde el archivo de configuración. Cline debería conectarse automáticamente al servidor.

Uso

Variables de entorno

¡ ATENCIÓN ! Muchos clientes MCP requieren especificar la ruta de la ROM en las variables .env como una ruta absoluta.

Cree un archivo .env en el directorio raíz con las siguientes variables:

# Server configuration PORT=3001 # ROM path for stdio mode ROM_PATH=./roms/dangan.gb

Ejecutándose en modo stdio

En el modo estándar, el servidor usa la ruta de la ROM especificada en la variable de entorno ROM_PATH . Abrirá una ventana del navegador para mostrar la pantalla de GameBoy.

npm run start

Ejecutando en modo SSE

En el modo SSE, el servidor inicia un servidor Express que sirve una página web para la selección de ROM.

npm run start-sse

Luego abra su navegador en http://localhost:3001 para seleccionar una ROM.

Herramientas

El servidor proporciona las siguientes herramientas:

  • press_up : Presiona el botón ARRIBA en el GameBoy
  • press_down : Presiona el botón ABAJO en el GameBoy
  • press_left : Presiona el botón IZQUIERDO en el GameBoy
  • press_right : Presiona el botón DERECHO en el GameBoy
  • press_a : Presiona el botón A en el GameBoy
  • press_b : Presiona el botón B en el GameBoy
  • press_start : Presiona el botón INICIO en el GameBoy
  • press_select : Presiona el botón SELECT en el GameBoy
  • load_rom : Cargar un archivo ROM de GameBoy
  • get_screen : Obtener la pantalla actual de GameBoy

Todas las herramientas devuelven un ImageContent con el último fotograma de pantalla.

Detalles de implementación

Este servidor se creó con el SDK de TypeScript del Protocolo de Contexto de Modelo (MCP). Utiliza:

  • McpServer de @modelcontextprotocol/sdk/server/mcp.js para la implementación del servidor
  • StdioServerTransport de @modelcontextprotocol/sdk/server/stdio.js para el transporte de stdio
  • SSEServerTransport de @modelcontextprotocol/sdk/server/sse.js para el transporte SSE
  • serverboy para la emulación de GameBoy
  • express para el servidor web en modo SSE
  • canvas para renderizar la pantalla de GameBoy

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Un servidor de protocolo de contexto de modelo que permite a los LLM interactuar con un emulador de GameBoy, proporcionando herramientas para controlar el GameBoy, cargar ROM y recuperar fotogramas de pantalla.

  1. Features
    1. Installation
      1. Installing in FLUJO
      2. Manual Installation
      3. Installing via Configuration Files
    2. Usage
      1. Environment Variables
      2. Running in stdio Mode
      3. Running in SSE Mode
    3. Tools
      1. Implementation Details
        1. License
          ID: 29ok5vpwj6