How rennakira/spicy-monopoly works
涩涩大富翁 is a two-player turn-based board game whose engine handles movement, task selection, safety rules, and scoring. Players can interact through the Python CLI, an HTTP API, or MCP tools; the API and MCP paths ultimately expose game operations to an AI or other client. The graph preserves the documented task, truth, identity, and feature-card capabilities. Source excerpts are partial, so uncertain internal call sequences are omitted.
Main entry points: monopoly_play.py Game Engine · monopoly_api.py HTTP API · mcp-server.js MCP Server · monopoly-library.v2.json Task Library
Components 16
Game Engine
- Game Engine
monopoly_play.py - Board and Turns
monopoly_play.py - Tasks and Safety
monopoly_play.py - Coins and Property
monopoly_play.py - Identities and Cards
monopoly_play.py
Player Interfaces
- Python CLI
monopoly_play.py - HTTP API
monopoly_api.py - MCP Server
mcp-server.js
Game Content
- Task Library
monopoly-library.v2.json - Truth Library
monopoly-truths.json - Identity Library
monopoly-identities.json
Game State
- Game State Files
monopoly_api.py - Pair History
monopoly_api.py
Other components
- Players
- AI Client
- Hosted API
Connections 17
- Players → Python CLI: run commands
- Python CLI → Game Engine: invoke game
- Players → AI Client: play with
- AI Client → MCP Server: call tools
- AI Client → HTTP API: send requests
- MCP Server → Hosted API: forward requests
- MCP Server → HTTP API: forward requests
- HTTP API → Game Engine: invoke game
- Game Engine → Board and Turns: runs turns
- Game Engine → Tasks and Safety: draws and filters
- Game Engine → Coins and Property: settles rewards
- Game Engine → Identities and Cards: handles events
- Game Engine → Task Library: loads tasks
- Game Engine → Truth Library: loads truths
- Game Engine → Identity Library: loads identities
- HTTP API → Game State Files: reads and writes
- HTTP API → Pair History: reads and writes