Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 2.13 KB

File metadata and controls

56 lines (41 loc) · 2.13 KB

MCP protocol v2 (token-lean)

This document captures the next MCP iteration focused on compact defaults and incremental updates. It is intended to be used alongside the interface spec and implementation notes in this folder.

Defaults

  • Responses are compact (no pretty JSON) unless format.pretty=true.
  • state.get defaults to the compact preset.
  • Events are minimal by default (events.mode=minimal), and tool responses include only non-agent events with trimmed fields.
  • Tool names are short (dots mapped to underscores by hosts), and only the short underscore forms are accepted.
  • session.create.protocol returns protocol version/freeze metadata and hard-cut tool naming metadata.

Semantic editor object tools

  • objects.list provides typed listing with paging, bbox filters, and revision-aware deltas.
  • objects.place inserts terrain/gadget/steel entries using typed payloads.
  • objects.update applies typed entry updates by index/uid references.
  • objects.delete removes entries by typed references.
  • editor.apply remains the batch editor mutation tool.

Protocol mappings

  • protocol.skillNames is returned on session.create.
  • protocol.lemmingDeltaFields is returned on session.create.
  • The mappings are stored in docs/mcp/protocol-mappings.json.

state.get (compact preset)

  • Returns only the essential game sections: timer, victory, level, skills, lemmingManager, and lemming summary (when requested).
  • Lemming output defaults to summary mode when no explicit lemmings mode is provided.

state.delta

  • Returns filtered history deltas.
  • Defaults to changes since the last state.get tick.
  • Supports filtering lemming fields and excluding x/y motion churn.

Events

  • session.create.events.mode controls event verbosity.
  • minimal includes only non-agent events with compact fields.
  • none suppresses event envelopes entirely; clients can poll explicitly.

Skill application verification

  • skill.apply can be configured to require availability and verify with skill-specific fields rather than full object diffs.
  • Skill counts clamp non-finite values (e.g., Infinity) to JSON-safe values.