puzzlebox
by cliffhall
Puzzlebox is an MCP server that hosts finite state machines as dynamic resources. Clients can subscribe to these state machines and receive updates when their state changes, enabling coordination among agents.
Last updated: N/A
What is puzzlebox?
Puzzlebox is an MCP Server implementation that supports multiple client connections for creating and monitoring shared, dynamic resources (finite state machines or 'puzzles'). It provides tools for managing puzzle instances and exposes them as resources that clients can subscribe to for state change updates.
How to use puzzlebox?
- Clients connect to the puzzlebox SSE server.
- Clients register puzzles with the server.
- Clients subscribe to puzzles to receive state change updates.
- Clients perform actions on puzzles, potentially triggering state transitions.
- The server validates actions against the current state.
- Valid actions initiate transitions, potentially involving exit/enter guards for client sampling requests.
- State transitions complete if guards pass.
- Clients receive resource update notifications and can fetch the current state and available actions.
Key features of puzzlebox
Supports multiple client connections
Manages puzzle instances (finite state machines)
Exposes tools for adding, getting snapshots, and performing actions on puzzles
Exposes registered puzzles as dynamic resources
Supports client subscriptions for state change updates
Use cases of puzzlebox
Coordinating teams in enterprise-level software development processes
Managing state transitions in complex workflows
Enabling process-aware agentic teams
Implementing game state management
Orchestrating multi-agent systems
FAQ from puzzlebox
What is an MCP server?
What is an MCP server?
An MCP (Model Context Protocol) server facilitates communication and interaction between agents by providing a standardized protocol for sharing and managing contextual information.
What is a puzzle in the context of puzzlebox?
What is a puzzle in the context of puzzlebox?
A puzzle is a finite state machine representing a stateful process or system with discrete states, actions to transition between states, and optional guards to control transitions.
How does puzzlebox ensure valid state transitions?
How does puzzlebox ensure valid state transitions?
Puzzlebox validates attempted actions against the current state of the puzzle, ensuring that only valid actions can initiate a state transition.
What are exit and enter guards?
What are exit and enter guards?
Exit and enter guards are optional checks performed during state transitions. They can involve client sampling requests (e.g., using LLMs) to determine if the transition should proceed or be canceled.
How do clients receive state updates?
How do clients receive state updates?
Clients subscribe to individual puzzle resources and receive resource updated notifications via SSE (Server-Sent Events) whenever the state of the puzzle changes.