Integrates with BoardGameGeek's XML API to search for board games, retrieve game details, get hot games, access user collections and play history, and find similar games.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BoardGameGeek MCP Serversearch for board games similar to Catan"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Search
Get Game Details
Hot Games
Get User Plays
Sync User Plays
Get User Collection
Sync User Collection
Get Similar Games
Related MCP server: Claude AI Documentation Assistant
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 buildTo run the server directly:
# The --experimental-sqlite flag is required
node --experimental-sqlite build/index.jsTo run with Docker:
# Build the Docker image
docker build -t bgg-mcp-server .
# Run the container
docker run --rm -i bgg-mcp-serverTesting
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.jsThe 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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.