bgmatch
Provides a tool to search BoardGameGeek for a board game's ID and weight without saving the data.
Click on "Deploy 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., "@bgmatchregistra um Wingspan ontem na Ludoteca: Gedvan ganhou, Rodrigo em 2º"
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.
bgmatch-mcp
Servidor MCP do BGMatch, o sistema em que o grupo registra as partidas de boardgame e acompanha o ranking do ano. Com ele, um assistente como o Claude consulta partidas, jogos e ranking e registra partidas novas a partir de uma conversa ("registra um Wingspan com a Europa ontem na Ludoteca: Gedvan ganhou, Rodrigo e Bruno empataram em segundo").
O servidor não acessa o banco. Ele chama a API REST do BGMatch com uma conta de serviço, então valem as mesmas validações do site.
Como usar
Peça um token ao Rodrigo. Cada pessoa tem o seu, e toda alteração feita pelo MCP fica registrada no log com o nome de quem a fez.
No Claude Code:
claude mcp add --transport http --scope user bgmatch https://bgmatch.vps.rodrigor.com/mcp --header "Authorization: Bearer SEU_TOKEN"No Claude Desktop, o servidor entra pelo mcp-remote, no claude_desktop_config.json:
{
"mcpServers": {
"bgmatch": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://bgmatch.vps.rodrigor.com/mcp", "--header", "Authorization: Bearer SEU_TOKEN"]
}
}
}Outros clientes funcionam se aceitarem MCP por HTTP (Streamable HTTP) com o cabeçalho Authorization.
Related MCP server: opendota-mcp-server
Ferramentas
Jogos e jogadores são informados pelo nome, sem diferenciar acentos e maiúsculas, ou pelo id. Se o nome bater com mais de um registro, a ferramenta devolve as opções em vez de escolher.
Ferramenta | O que faz |
| Jogadores com partidas, vitórias, jogos em que mais venceram e contagem por posição |
| Coleção, com filtro por trecho do nome e por categoria |
| Partidas por período, jogo e jogador (sem período, o ano atual) |
| Uma partida pelo id |
| Locais já usados, para manter a grafia |
| Classificação do ano pela regra da época; desde 2024, também o detalhe de um mês |
| Procura um jogo na Ludopedia para importar |
| Procura um jogo ou expansão no BoardGameGeek e mostra os dados do cadastro, com a categoria sugerida |
| Busca id e peso no BoardGameGeek de um jogo já cadastrado, sem gravar |
| Registra uma partida; se só a expansão for informada, deduz o jogo base |
| Altera campos de uma partida; |
| Apaga uma partida (sem volta) |
| Cadastra um jogo a partir do slug da Ludopedia |
| Cadastra um jogo ou expansão com os dados do BoardGameGeek |
| Muda categoria, cooperativo, id e peso do BGG ou tira o jogo da coleção |
As ferramentas que alteram ou apagam dados vêm marcadas como destrutivas, e os clientes MCP costumam pedir confirmação antes de executá-las.
Duas limitações de hoje:
rankingdepende do endpointGET /api/ranking/{ano}com o cálculo no backend, que ainda não está publicado no BGMatch em produção. Até lá, a ferramenta responde avisando disso.A Ludopedia tem recusado as requisições do servidor com HTTP 403, então
pesquisar_ludopediaeimportar_jogofalham também pelo site. Jogo novo entra porbuscar_jogo_bggecadastrar_jogo_bgg, que dependem do endpointPOST /api/jogos/novodo BGMatch.
A categoria sugerida segue a faixa de peso do cadastro do grupo: peso 2,7 ou mais é pesado, de 1,9 a 2,7 é médio e abaixo disso é leve. Party e infantil no BGG viram party/infantil, e expansão vira expansão.
Administração
Variáveis de ambiente
Variável | Uso |
| URL da API, terminando em |
| Conta de serviço na tabela |
| Tokens de acesso, |
| Valores aceitos no cabeçalho |
| Token da XML API do BGG, obtido em boardgamegeek.com/using_the_xml_api; sem ele, as ferramentas do BGG respondem com erro |
| Porta HTTP, padrão 8096 |
Veja .env.example.
Dar acesso a alguém
npm run token -- nomeO comando imprime nome:token. Acrescente essa linha em BGMATCH_MCP_TOKENS, reinicie o container e mande o token para a pessoa por um canal privado. Para revogar, tire a entrada e reinicie.
Deploy
docker compose up -d --buildO compose.yaml publica a porta só em 127.0.0.1. O acesso externo passa pelo proxy com TLS, que encaminha /mcp para o container. As alterações ficam no log do container, uma linha JSON por ação:
docker logs bgmatch-mcp | grep '"acao"'Depois de 20 tentativas com token inválido em 10 minutos, o IP recebe HTTP 429 até a janela passar.
Desenvolvimento
npm install
npm test
BGMATCH_API_URL=http://localhost:8000/api BGMATCH_USUARIO=mcp BGMATCH_SENHA=... BGMATCH_MCP_TOKENS=eu:$(openssl rand -hex 24) npm run devPara conferir um servidor no ar, o scripts/fumaca.mjs lista as ferramentas e chama as de leitura:
BGMATCH_MCP_URL=https://bgmatch.vps.rodrigor.com/mcp BGMATCH_MCP_TOKEN=SEU_TOKEN node scripts/fumaca.mjsLicença
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Boardgames MCP — wraps Board Game Atlas API (public demo client_id, free)
Find tabletop events, venues, and games. RSVP, register, create events via personal token.
Query your Twitch streams, events, supporters, raids & rankings from an AI assistant via OAuth.
Use your own trained text and picture classification models from any AI assistant.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying RGL.gg competitive TF2 data through natural language, resolving player, team, season, division, and match information via a series of API calls.-
- FlicenseAqualityDmaintenanceEnables querying Dota 2 player statistics, match data, and hero information through the OpenDota API using natural language.185-
- AlicenseNot gradedqualityCmaintenanceEnables users to search and retrieve board game data via the Board Game Atlas API, including game details, ratings, and availability.2 npmMIT
- FlicenseAqualityAmaintenanceEnables D&D 5e game masters and players to access complete game reference data, search spells, monsters, items, and calculate encounter difficulty, all through natural language.468-