Skip to main content
Glama
code-cheers

魂斗罗 MCP Demo

by code-cheers

Contra MCP Demo

Este proyecto sigue la arquitectura del artículo de DOOM MCP App de Chris Nager, pero utiliza un juego de navegador original de marcador de posición con disparos horizontales al estilo Contra.

Lo importante no es que "MCP cree un juego". El punto es:

MCP puede devolver una interfaz de usuario de aplicación en vivo, no solo texto o JSON. En clientes compatibles, el juego aparece dentro de la propia conversación.

No se incluyen activos, música, personajes, niveles ni datos de ROM originales de Contra.

Flujo principal

  • create_game_session: crea una sesión de juego en línea y devuelve metadatos de la aplicación MCP para que los hosts compatibles puedan renderizar el juego en línea. Intencionalmente no expone la URL de respaldo del navegador.

  • get_game_launch_url: crea una URL firmada /game/play?token=... para hosts que no pueden renderizar aplicaciones MCP en línea.

  • /game/play?token=...: ruta de respaldo del navegador. El token es suficiente para iniciar la misma sesión de juego sin almacenamiento de sesión duradero en el lado del servidor.

  • ui://contra-style/mcp-app.html: el recurso de la aplicación MCP en línea. Escucha el resultado de la herramienta create_game_session, extrae la sesión y ejecuta el juego directamente en el iframe del host.

Herramientas de extensión opcionales:

  • update-game-state: la aplicación MCP puede publicar la puntuación, HP, posición, enemigos, munición y etapa.

  • get-game-state: lee el estado más reciente.

  • suggest-next-move: devuelve una sugerencia de juego en chino a partir del estado más reciente.

Related MCP server: antics-mcp

Ejecución

npm install
npm run build
npm run serve

Punto final MCP:

http://localhost:3001/mcp

Uso desde Codex u otro host MCP

Pide al host que llame a:

create_game_session

Si el host admite aplicaciones MCP, debería renderizar el juego en línea desde:

ui://contra-style/mcp-app.html

Esa es la demostración principal: el host llama a una herramienta y el resultado de la herramienta hace que aparezca una interfaz de juego jugable en la superficie del chat. No muestres ni abras un enlace de respaldo en este flujo.

Si la renderización en línea no está disponible, llama a:

get_game_launch_url

Luego abre la URL /game/play?token=... devuelta.

Respaldo del navegador

Después de npm run build && npm run serve, llama a get_game_launch_url y abre la URL devuelta.

Solo para desarrollo rápido de UI:

npm run dev

Eso abre el juego sin una sesión firmada, por lo que es útil para pruebas visuales pero no para el flujo de demostración principal.

Controles

  • Mover: WASD o teclas de flecha

  • Disparar: Space o J

  • Reiniciar: R

Puntos clave del video

  • Esto está modelado según la arquitectura de la aplicación DOOM MCP, no es un tutorial de desarrollo de juegos desde cero.

  • El titular es: MCP puede devolver una interfaz de juego interactiva dentro de la conversación.

  • El flujo principal es solo en línea; la URL de lanzamiento del navegador firmada solo se expone mediante get_game_launch_url.

  • La aplicación MCP ejecuta el juego directamente en el iframe del host; no coloca otra página dentro de la aplicación mediante iframe.

  • La verdadera lección de MCP: el protocolo + recurso de UI + flujo de lanzamiento firmado puede convertir una capacidad web en una aplicación nativa del cliente de IA.

Verificación

npm run check
npm run build
curl -sS -X POST http://localhost:3001/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides a fully playable Flappy Bird game that runs inline within AI chat clients. It enables users to launch the game, submit scores, and track session high scores using Model Context Protocol tools.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.
    4
    145
    5
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that lets LLMs play a terminal Space Invaders game with the SUPERHOT rule: time only moves when the agent moves. Exposes tools to start a game, inspect the board state, and act by holding left/right/fire for N frames.
    13
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/code-cheers/contra-mcp-app'

If you have feedback or need assistance with the MCP directory API, please join our Discord server