How jeroenn89/meepleos works
MeepleOS is a local MCP server for managing board games, players, recorded game sessions, and on-demand statistics. An MCP client sends requests over stdio to category-specific tools, which invoke business services; services validate inputs and use repository interfaces, implemented by the EF Core data layer over SQLite. Statistics are calculated from session history, with player and board-game data also used for summaries. The README documents all four tool categories; sampled source shows selected service, repository, and host behavior, but not every tool implementation.
Main entry points: Program.cs stdio host · MeepleDbContext.cs EF database context · StatisticsService.cs Statistics service · Repositories Repository interfaces
Components 18
MCP Server
- stdio host
src/MeepleOS.ServerLayer/Program.cs - Boardgame tools
src/MeepleOS.ServerLayer/Tools/BoardgameTools.cs - Player tools
src/MeepleOS.ServerLayer/Tools/PlayerTools.cs - Session tools
src/MeepleOS.ServerLayer/Tools/GameSessionTools.cs - Statistics tools
src/MeepleOS.ServerLayer/Tools/StatisticsTools.cs
Business Logic
- Boardgame service
src/MeepleOS.BusinessLayer/Services/BoardgameService.cs - Player service
src/MeepleOS.BusinessLayer/Services/PlayerService.cs - Session service
src/MeepleOS.BusinessLayer/Services/GameSessionService.cs - Repository interfaces
src/MeepleOS.BusinessLayer/Repositories
SQLite Storage
- Boardgame repository
src/MeepleOS.DataLayer/Repositories/BoardgameRepository.cs - Player repository
src/MeepleOS.DataLayer/Repositories/PlayerRepository.cs - Session repository
src/MeepleOS.DataLayer/Repositories/GameSessionRepository.cs - EF database context
src/MeepleOS.DataLayer/Data/Context/MeepleDbContext.cs - SQLite database
- Domain entities
src/MeepleOS.DataLayer/Data/Models
Statistics
- Statistics service
src/MeepleOS.BusinessLayer/Services/StatisticsService.cs - Period definition
src/MeepleOS.BusinessLayer/Services/StatisticsPeriod.cs
Other components
- MCP client
Connections 24
- MCP client → stdio host: sends MCP messages
README.md - stdio host → Boardgame tools: registers tools
src/MeepleOS.ServerLayer/Program.cs - stdio host → Player tools: registers tools
src/MeepleOS.ServerLayer/Program.cs - stdio host → Session tools: registers tools
src/MeepleOS.ServerLayer/Program.cs - stdio host → Statistics tools: registers tools
src/MeepleOS.ServerLayer/Program.cs - Boardgame tools → Boardgame service: calls
src/MeepleOS.ServerLayer/Tools/BoardgameTools.cs - Player tools → Player service: calls
src/MeepleOS.ServerLayer/Tools/PlayerTools.cs - Session tools → Session service: calls
src/MeepleOS.ServerLayer/Tools/GameSessionTools.cs - Statistics tools → Statistics service: calls
src/MeepleOS.ServerLayer/Tools/StatisticsTools.cs - Boardgame service → Repository interfaces: uses
src/MeepleOS.BusinessLayer/Services/BoardgameService.cs - Player service → Repository interfaces: uses
src/MeepleOS.BusinessLayer/Services/PlayerService.cs - Session service → Repository interfaces: uses
src/MeepleOS.BusinessLayer/Services/GameSessionService.cs - Statistics service → Repository interfaces: reads through
src/MeepleOS.BusinessLayer/Services/StatisticsService.cs - Statistics service → Period definition: uses
src/MeepleOS.BusinessLayer/Services/StatisticsService.cs - stdio host → EF database context: configures
src/MeepleOS.ServerLayer/Program.cs - stdio host → Boardgame repository: registers implementation
src/MeepleOS.ServerLayer/Program.cs - stdio host → Player repository: registers implementation
src/MeepleOS.ServerLayer/Program.cs - stdio host → Session repository: registers implementation
src/MeepleOS.ServerLayer/Program.cs - Boardgame repository → EF database context: queries and writes
src/MeepleOS.DataLayer/Repositories/BoardgameRepository.cs - Player repository → EF database context: queries and writes
src/MeepleOS.DataLayer/Repositories/PlayerRepository.cs - Session repository → EF database context: queries and writes
src/MeepleOS.DataLayer/Repositories/GameSessionRepository.cs - EF database context → Domain entities: maps
src/MeepleOS.DataLayer/Data/Context/MeepleDbContext.cs - EF database context → SQLite database: persists data
- Statistics service → Statistics tools: returns results to
src/MeepleOS.ServerLayer/Tools/StatisticsTools.cs