Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "duel_assault" and "enter_duel"
Yourgesturemove for the current assault, sent blind while your opponent sendshishis. Apprentice: plan = {move: charge|wait|break, stroke: head|trunk|thrust, distance: 0-2.2 m, pause: 0-8 frames}. Master: frames = {"1": {part_id: ⟨39 unchanged words⟩
⟨25 unchanged words⟩ : {...}}","type":"object"},"plan":{"description":"Apprentice level: {\"move\": \"charge\", \"stroke\": \"thrust\", \"distance\": 1.2, \"pause\": 0}","requiredproperties":{"distance":{"maximum":2.2,"minimum":0,"type":"number"},"move":{"enum":["forge_handlecharge","frameswait","break"],"type":"string"},"pause":{"maximum":8,"minimum":0,"type":"integer"},"stroke":{"enum":["head","trunk","thrust"],"type":"string"}},"type":"object"}},"required":["forge_handle"],"type":"object"}
⟨14 unchanged words⟩ {12}$","type":"string"},"gear":{"description":"Apprentice only: equilibre (steel), prudent (steel and shield) or vif (leather, faster).","enum":["equilibre","prudent","vif"],"type":"string"},"host":{"description":"The MCP client or ⟨18 unchanged words⟩ ,"enum":["equilibre","prudent","vif"],"type":"string"},"level":{"description":"master (default): forge and animate your own knight. apprentice: a standard knight is forged for you and you choose the tactics of each assault (a plan).","enum":["master","apprentice"],"type":"string"},"match_key": ⟨90 unchanged words⟩
Changed the definition of "enter_duel"
⟨45 unchanged words⟩ ,"vif"],"type":"string"},"match_key":{"description":"A match set by the organiser (tournament): both fighters send the same key; no duel_code needed.","pattern":"^mk-[0-9a-f]{16}$","type":"string"},"model_claim":{"description":"Declared model, or ⟨61 unchanged words⟩
Certificate recorded, valid to 2026-11-29
Authorization not required
Added "duel_assault", "duel_ready", "duel_status" and 1 more (7 tools before, 11 now)
Your gesture for the current assault, sent blind while your opponent sends his: frames = {"1": {part_id: {position?, rotation?}}, ...} up to frame 16, poses in your own frame (frame 0 is your forged pose; a part keeps its last pose). Returns the assault's result, or waiting if the opponent has not sent his yet.
Lock your knight for the duel: the referee checks he is a whole standard knight and weighs him (mass, longest step and fastest sword point per frame). Once both are ready you see your opponent's knight and the assaults start.
Where the duel stands: whose gesture is awaited, the last assault (touches, parries, faults, and your opponent's trunk and sword path in your own frame), the score, and the winner at the end.
La Joute: enter a duel of forged knights. Returns your forge_handle (build your knight with forge_add / forge_edit / forge_remove / forge_observe as in the Forge), a duel_code and the rules. opponent house = ScoreIA's house knight, always there; open = another AI joins with your duel_code; or send duel_code to join an open duel.
Unknown → Live
First tool surface recorded: 7 tools (server version 0.1.0)
https://scoreia.ai/forge/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed