Skip to main content
Glama
code-cheers

魂斗罗 MCP Demo

by code-cheers

Contra MCP Demo

Dieses Projekt folgt der Architektur aus Chris Nagers DOOM MCP App-Artikel, verwendet jedoch ein originäres Platzhalter-Browser-Spiel mit horizontalem Contra-artigem Schießen.

Der wichtige Punkt ist nicht, dass "MCP ein Spiel erstellt". Der Punkt ist:

MCP kann eine Live-App-UI zurückgeben, nicht nur Text oder JSON. In kompatiblen Clients erscheint das Spiel direkt innerhalb der Konversation.

Es sind keine originalen Contra-Assets, Musik, Charaktere, Level oder ROM-Daten enthalten.

Hauptablauf

  • create_game_session: Erstellt eine Inline-Spielsitzung und gibt MCP-App-Metadaten zurück, damit kompatible Hosts das Spiel inline rendern können. Die Browser-Fallback-URL wird hierbei absichtlich nicht offengelegt.

  • get_game_launch_url: Erstellt eine signierte /game/play?token=... URL für Hosts, die MCP-Apps nicht inline rendern können.

  • /game/play?token=...: Browser-Fallback-Route. Das Token reicht aus, um dieselbe Spielsitzung ohne dauerhaften serverseitigen Sitzungsspeicher zu starten.

  • ui://contra-style/mcp-app.html: Die Inline-MCP-App-Ressource. Sie wartet auf das Ergebnis des create_game_session-Tools, extrahiert die Sitzung und führt das Spiel direkt im Host-Iframe aus.

Optionale Erweiterungstools:

  • update-game-state: Die MCP-App kann Punktestand, HP, Position, Gegner, Munition und Level veröffentlichen.

  • get-game-state: Liest den aktuellen Status.

  • suggest-next-move: Gibt basierend auf dem aktuellen Status einen chinesischen Spielvorschlag zurück.

Related MCP server: antics-mcp

Ausführen

npm install
npm run build
npm run serve

MCP-Endpunkt:

http://localhost:3001/mcp

Verwendung von Codex oder einem anderen MCP-Host

Bitten Sie den Host, Folgendes aufzurufen:

create_game_session

Wenn der Host MCP-Apps unterstützt, sollte er das Spiel inline von hier rendern:

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

Das ist die primäre Demo: Der Host ruft ein Tool auf, und das Tool-Ergebnis bewirkt, dass eine spielbare Spiel-UI in der Chat-Oberfläche erscheint. Zeigen oder öffnen Sie in diesem Pfad keinen Fallback-Link.

Wenn kein Inline-Rendering verfügbar ist, rufen Sie Folgendes auf:

get_game_launch_url

Öffnen Sie dann die zurückgegebene /game/play?token=... URL.

Browser-Fallback

Nach npm run build && npm run serve rufen Sie get_game_launch_url auf und öffnen die zurückgegebene URL.

Nur für die schnelle UI-Entwicklung:

npm run dev

Dies öffnet das Spiel ohne signierte Sitzung und ist daher nützlich für visuelle Tests, aber nicht für den Haupt-Demo-Ablauf.

Steuerung

  • Bewegen: WASD oder Pfeiltasten

  • Schießen: Space oder J

  • Neustart: R

Video-Diskussionspunkte

  • Dies basiert auf der DOOM MCP App-Architektur, nicht auf einem Tutorial zur Spieleentwicklung von Grund auf.

  • Die Schlagzeile lautet: MCP kann eine interaktive Spiel-UI innerhalb der Konversation zurückgeben.

  • Der primäre Pfad ist nur für Inline-Anwendungen gedacht; die signierte Browser-Start-URL wird nur durch get_game_launch_url offengelegt.

  • Die MCP-App führt das Spiel direkt im Host-Iframe aus; sie bettet keine andere Seite innerhalb der App ein.

  • Die eigentliche MCP-Lektion: Protokoll + UI-Ressource + signierter Startablauf können eine Web-Funktionalität in eine native KI-Client-App verwandeln.

Überprüfung

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
    96
    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