Puzzlebox is an MCP server implementation that hosts finite state machines (puzzles) as dynamic resources that clients can subscribe to and be updated when their state changes. It enables coordination between multiple agents working on long-horizon tasks by providing a shared state machine that can transition between discrete states through valid actions, with optional guards that can prevent transitions. The server exposes tools for adding puzzles, getting snapshots of puzzle states, performing actions on puzzles, and supports resource subscriptions so clients receive real-time updates when puzzle states change, making it particularly valuable for orchestrating multi-agent workflows where different teams need to operate within distinct project phases.
暂无评论. 成为第一个评论的人!
登录以参与讨论
Add a new instance of a puzzle (finite state machine). Returns a JSON object with boolean `success` and `puzzleId`.
Get a snapshot of a puzzle (its current state and available actions). Inputs: `puzzleId`. Returns a JSON object with `currentState` and `availableActions` array.
Perform an action on a puzzle (attempt a state transition). Inputs: `puzzleId` and `actionName`. Returns a JSON object with `currentState` and `availableActions` array.
Get the count of registered puzzles. Returns a JSON object with current `count` of registered puzzles.