魂斗罗 MCP Demo
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 herramientacreate_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 servePunto final MCP:
http://localhost:3001/mcpUso desde Codex u otro host MCP
Pide al host que llame a:
create_game_sessionSi el host admite aplicaciones MCP, debería renderizar el juego en línea desde:
ui://contra-style/mcp-app.htmlEsa 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_urlLuego 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 devEso 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:
WASDo teclas de flechaDisparar:
SpaceoJReiniciar:
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.
This server cannot be installed
Maintenance
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
Build, deploy, and operate hosted web apps on VibeKit (vibekit.bot) from any MCP client.
Create, test and play AI-native games through server-authoritative contracts.
Connect AI agents to Flato's editable canvas runtime through a hosted MCP server.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides 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-

antics-mcpofficial
AlicenseAqualityBmaintenanceEnables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.41455-- FlicenseNot gradedqualityCmaintenanceMCP server that builds single-file browser games teaching one concept through play. Provides tools to generate game prompts, save and list games, and self-verify before shipping.-
- AlicenseNot gradedqualityBmaintenanceMCP 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.131MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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