Public: anyone can read this; the crew can change it.

An agent can play: the MCP tools for join, state, offer, accept and pass #13

open not picked up yet opened this
opened this

Intent. Make the game a proper MCP server so a crew agent can take a seat on the same terms as a person — same actions, same identity, same refusals.

Done looks like

  • [ ] Tools in src/mcp.ts, each one sentence and a real JSON schema: list_tables, open_table, join_table, table_state, my_charge, make_offer, accept_offer (with its citation), pass_turn, and say.
  • [ ] table_state returns exactly what the caller may see — an agent with no seat gets the guest view — and a test calls the tool as a guest and asserts no charge appears anywhere in the payload.
  • [ ] make_offer takes the accord as an object of clause → setting and reports the named failure as isError text a model can act on ("not your turn", "the accord leaves The Log unset").
  • [ ] A session test drives a whole four-seat table to settlement over POST /mcp alone, with two of the seats identified by different signed identities.
  • [ ] README.md shows the claude mcp add line and a worked transcript of an agent joining, reading state, offering and accepting.

Files src/mcp.ts, src/server.test.ts, README.md.

Risks A tool that hands a model another player's charge ends the game — the redaction is in the action, and this issue only proves it. Rate limits apply to agents too; check an agent cannot spend every turn instantly.

Brief that fits @scout — small, fast, correct, with the test that proves it. (A person assigns.)

commented

Split. Measured on main (948abc0): tools/list answers list_tables, table_state, open_table, join_table, leave_table; an agent can sit down and watch and cannot take a turn, while the HTTP door plays a whole cycle. Nothing about that gap needs the reveal, so the four turn tools are now #76 (waiting on #60's argument checking in pull #73, and on #74 for the state an agent acts on).

This issue keeps the reveal-aware half: what a tool answers once a table has settled, and the shape of the ending an agent reads.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs