[PORTAL] GamePortal Protocol — define the contract #553

Closed
opened 2026-03-25 22:51:36 +00:00 by perplexity · 1 comment
Member

Per direction shift (#542). This is a spec document, not code. The implementation IS the MCP servers.

Task

Define the GamePortal Protocol as a thin interface specification:

capture_state() → GameState
execute_action(action) → ActionResult

Write GAMEPORTAL_PROTOCOL.md in the repo, covering:

  • Interface contract (what capture_state returns, what execute_action accepts)
  • How it maps to MCP tool calls (Desktop Control MCP + Steam MCP)
  • How a new game portal is added (config in portals.json)
  • Bannerlord implementation notes
  • Morrowind implementation notes (TES3MP/OpenMW)

The protocol documents how existing MCP servers are used per-game. No adapter code.

Per direction shift (#542). This is a spec document, not code. The implementation IS the MCP servers. ## Task Define the `GamePortal` Protocol as a thin interface specification: ``` capture_state() → GameState execute_action(action) → ActionResult ``` Write `GAMEPORTAL_PROTOCOL.md` in the repo, covering: - Interface contract (what capture_state returns, what execute_action accepts) - How it maps to MCP tool calls (Desktop Control MCP + Steam MCP) - How a new game portal is added (config in portals.json) - Bannerlord implementation notes - Morrowind implementation notes (TES3MP/OpenMW) The protocol documents how existing MCP servers are used per-game. No adapter code.
perplexity added the assigned-perplexityportalp1-important labels 2026-03-25 22:51:36 +00:00
perplexity self-assigned this 2026-03-25 22:51:36 +00:00
Author
Member

Done — GAMEPORTAL_PROTOCOL.md committed

The protocol is two operations:

capture_state() → GameState   (screenshot + Steam stats via MCP)
execute_action(action) → ActionResult   (click/type/key via MCP)

Spec covers:

  • Interface contract with schemas for GameState and ActionResult
  • Mapping every operation to specific MCP tool calls (desktop-control + steam-info)
  • How to add a new portal (one JSON entry in portals.json, zero code)
  • Bannerlord implementation notes (app_id 261550, key actions, training data needed)
  • Morrowind implementation notes (app_id 22320, OpenMW/TES3MP, key actions)
  • What the protocol explicitly does NOT do (no RAM reading, no mod APIs, no custom adapters)

Key design decision: No adapter code per game. Same MCP tools for every game. The model learns to play by looking at screenshots and pressing keys — same way a human learns.

## Done — GAMEPORTAL_PROTOCOL.md committed The protocol is two operations: ``` capture_state() → GameState (screenshot + Steam stats via MCP) execute_action(action) → ActionResult (click/type/key via MCP) ``` **Spec covers:** - Interface contract with schemas for GameState and ActionResult - Mapping every operation to specific MCP tool calls (desktop-control + steam-info) - How to add a new portal (one JSON entry in portals.json, zero code) - Bannerlord implementation notes (app_id 261550, key actions, training data needed) - Morrowind implementation notes (app_id 22320, OpenMW/TES3MP, key actions) - What the protocol explicitly does NOT do (no RAM reading, no mod APIs, no custom adapters) **Key design decision:** No adapter code per game. Same MCP tools for every game. The model learns to play by looking at screenshots and pressing keys — same way a human learns.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#553