BoardGameGeek MCP Server
This is a Model Context Protocol (MCP) server that integrates with the BoardGameGeek XML API, allowing Claude to search for board games, retrieve game details, get user collections, and more.
Features
This server provides the following tools:
- search-games: Search for board games by name
- get-game-details: Get detailed information about a specific board game
- get-hot-games: Get the current hottest board games on BoardGameGeek
- get-user-collection: Get a user’s board game collection with filtering options
- sync-user-collection: Synchronize a user’s collection from BoardGameGeek
- get-user-plays: Get a user’s recent board game plays
- sync-user-plays: Synchronize a user’s plays from BoardGameGeek
- get-similar-games: Get games similar to a specified game
Feature Checklist
- [x] Search
- [x] Get Game Details
- [x] Hot Games
- [ ] Get User Plays
- [ ] Sync User Plays
- [ ] Get User Collection
- [ ] Sync User Collection
- [ ] Get Similar Games
Prerequisites
- Node.js 22.5.0 or higher (required for experimental SQLite support)
- npm (for dependency management)
Building and Running
To build the server:
# Install dependencies
npm install
# Build the TypeScript code
npm run build
To run the server directly:
# The --experimental-sqlite flag is required
node --experimental-sqlite build/index.js
To run with Docker:
# Build the Docker image
docker build -t bgg-mcp-server .
# Run the container
docker run --rm -i bgg-mcp-server
Testing
To verify the server is working correctly:
# Make sure the server is built first
npm run build
# Run the test script with the experimental SQLite flag
node --experimental-sqlite test-mcp.js
The test script will:
- Start the MCP server
- Test the search-games functionality
- Test the get-hot-games functionality
- Display results and any errors
Using with Claude for Desktop
Open your Claude for Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%Claudeclaude_desktop_config.json
- macOS:
Add the server configuration for direct Node.js execution:
{
"mcpServers": {
"boardgamegeek": {
"command": "node",
"args": ["--experimental-sqlite", "/path/to/bgg-mcp-server/build/index.js"]
}
}
}
- Or use Docker (recommended):
{
"mcpServers": {
"boardgamegeek": {
"command": "bash",
"args": ["-c", "cd /path/to/bgg-mcp-server && docker build -t bgg-mcp-server . && docker run --rm -i -v "$(pwd)/data:/app/data" bgg-mcp-server"]
}
}
}
Note: the -v "$(pwd)/data:/app/data"
option mounts the local data
directory to the /app/data
directory in the Docker container, ensuring that the SQLite database is persisted outside the container.
- Restart Claude for Desktop
Example Questions
Once connected to Claude, you can ask questions like:
- “What are the new hot games on boardgamegeek”
- “Look up the game Molly House on boardgamegeek”
Data Storage
The server uses SQLite for data persistence. All retrieved game data, user collections, and play history are stored in the data/bgg.sqlite
database file. This:
- Reduces API calls to BoardGameGeek
- Improves response times for repeated queries
- Maintains data between server restarts
The database is automatically created if it doesn’t exist and will be populated as you use the server.
BoardGameGeek MCP Server
Project Details
- attilad/bgg-mcp-server
- Last Updated: 4/11/2025
Recomended MCP Servers
微信读书MCP
An MCP (Model Context Protocol) server implementation for Microsoft Teams integration, providing capabilities to read messages, create messages,...
MCP Server MetaMCP manages all your other MCPs in one MCP.
Uses DALL-E to generate/edit images, an MCP (Model Context Protocol) server
A Model Context Protocol (MCP) server that provides weather information and alerts using the National Weather Service (NWS)...
An MCP server for local machine in Claude Desktop
This read-only MCP Server allows you to connect to external data from Claude Desktop through CData JDBC Drivers....
A Model Context Protocol Server for Pica
A powerful Model Context Protocol (MCP) server providing comprehensive Google Maps API integration with LLM processing capabilities.