bgg mcp server
An MCP server that integrates with the BoardGameGeek XML API, allowing Claude to search for board games, retrieve game details, and access user collections.
An MCP server that integrates with the BoardGameGeek XML API, allowing Claude to search for board games, retrieve game details, and access user collections.
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.
This server provides the following tools:
# Install dependencies
npm install
# Build the TypeScript code
npm run build
# The --experimental-sqlite flag is required
node --experimental-sqlite build/index.js
# Build the Docker image
docker build -t bgg-mcp-server .
# Run the container
docker run --rm -i bgg-mcp-server
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: 1. Start the MCP server 2. Test the search-games functionality 3. Test the get-hot-games functionality 4. Display results and any errors
~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%Claudeclaude_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"]
}
}
}
{
"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.
Once connected to Claude, you can ask questions like:
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:
The database is automatically created if it doesn't exist and will be populated as you use the server.