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
- Haga clic en Agregar servidor
- Copie y pegue la URL de Github en FLUJO
- Haga clic en Analizar, Clonar, Instalar, Compilar y Guardar.
Instalación manual
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:
- 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".
- Agregue la configuración del servidor al objeto
mcpServers
:Copy - Reemplaza
/path/to/mcp-gameboy/dist/index.js
con la ruta real del archivoindex.js
en el directorio de tu proyecto. Usa barras diagonales (/) o dobles barras diagonales invertidas (\\) para la ruta en Windows. - 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:
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.
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.
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 GameBoypress_down
: Presiona el botón ABAJO en el GameBoypress_left
: Presiona el botón IZQUIERDO en el GameBoypress_right
: Presiona el botón DERECHO en el GameBoypress_a
: Presiona el botón A en el GameBoypress_b
: Presiona el botón B en el GameBoypress_start
: Presiona el botón INICIO en el GameBoypress_select
: Presiona el botón SELECT en el GameBoyload_rom
: Cargar un archivo ROM de GameBoyget_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 servidorStdioServerTransport
de@modelcontextprotocol/sdk/server/stdio.js
para el transporte de stdioSSEServerTransport
de@modelcontextprotocol/sdk/server/sse.js
para el transporte SSEserverboy
para la emulación de GameBoyexpress
para el servidor web en modo SSEcanvas
para renderizar la pantalla de GameBoy
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
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.