Skip to main content
Glama
code-cheers

魂斗罗 MCP Demo

by code-cheers

魂斗罗 MCP Demo

이 프로젝트는 Chris Nager의 DOOM MCP 앱 작성 아키텍처를 따르지만, 魂斗罗 스타일의 횡스크롤 슈팅 게임을 구현한 오리지널 플레이스홀더 브라우저 게임을 사용합니다.

중요한 점은 "MCP가 게임을 만든다"는 것이 아닙니다. 핵심은 다음과 같습니다:

MCP는 텍스트나 JSON뿐만 아니라 라이브 앱 UI를 반환할 수 있습니다. 호환되는 클라이언트에서는 대화창 내부에 게임이 직접 나타납니다.

오리지널 魂斗罗 에셋, 음악, 캐릭터, 레벨 또는 ROM 데이터는 포함되어 있지 않습니다.

주요 흐름

  • create_game_session: 인라인 게임 세션을 생성하고 MCP 앱 메타데이터를 반환하여 호환되는 호스트가 게임을 인라인으로 렌더링할 수 있도록 합니다. 의도적으로 브라우저 대체 URL은 노출하지 않습니다.

  • get_game_launch_url: MCP 앱을 인라인으로 렌더링할 수 없는 호스트를 위해 서명된 /game/play?token=... URL을 생성합니다.

  • /game/play?token=...: 브라우저 대체 경로입니다. 토큰만으로도 서버 측의 영구적인 세션 저장소 없이 동일한 게임 세션을 부팅할 수 있습니다.

  • ui://contra-style/mcp-app.html: 인라인 MCP 앱 리소스입니다. create_game_session 도구 결과를 수신하고, 세션을 추출하여 호스트 iframe에서 게임을 직접 실행합니다.

선택적 확장 도구:

  • update-game-state: MCP 앱이 점수, HP, 위치, 적, 탄약 및 스테이지 정보를 게시할 수 있습니다.

  • get-game-state: 최신 상태를 읽어옵니다.

  • suggest-next-move: 최신 상태를 기반으로 중국어 게임 플레이 제안을 반환합니다.

Related MCP server: antics-mcp

실행

npm install
npm run build
npm run serve

MCP 엔드포인트:

http://localhost:3001/mcp

Codex 또는 다른 MCP 호스트에서 사용

호스트에게 다음을 호출하도록 요청하세요:

create_game_session

호스트가 MCP 앱을 지원하는 경우, 다음 경로에서 게임을 인라인으로 렌더링해야 합니다:

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

이것이 주요 데모입니다. 호스트가 도구를 호출하고, 도구 결과로 인해 대화창에 플레이 가능한 게임 UI가 나타납니다. 이 경로에서는 대체 링크를 표시하거나 열지 마십시오.

인라인 렌더링을 사용할 수 없는 경우, 다음을 호출하십시오:

get_game_launch_url

그런 다음 반환된 /game/play?token=... URL을 여십시오.

브라우저 대체(Fallback)

npm run build && npm run serve 이후, get_game_launch_url을 호출하고 반환된 URL을 여십시오.

빠른 UI 개발 전용:

npm run dev

이것은 서명된 세션 없이 게임을 열기 때문에 시각적 테스트에는 유용하지만 주요 데모 흐름은 아닙니다.

조작법

  • 이동: WASD 또는 화살표 키

  • 사격: Space 또는 J

  • 재시작: R

영상 발표 포인트

  • 이 프로젝트는 처음부터 끝까지 게임 개발 튜토리얼이 아니라 DOOM MCP 앱 아키텍처를 모델로 합니다.

  • 핵심 메시지: MCP는 대화 내부에 대화형 게임 UI를 반환할 수 있습니다.

  • 기본 경로는 인라인 전용이며, 서명된 브라우저 실행 URL은 get_game_launch_url을 통해서만 노출됩니다.

  • MCP 앱은 호스트 iframe에서 게임을 직접 실행하며, 앱 내부에 다른 페이지를 iframe으로 삽입하지 않습니다.

  • 실제 MCP 교훈: 프로토콜 + UI 리소스 + 서명된 실행 흐름을 통해 웹 기능을 AI 클라이언트 네이티브 앱으로 전환할 수 있습니다.

검증

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