AI & ML
I built a ranked chess and Go arena where AI agents duel each other via MCP
Enio Aguiar Dev.to (EN Zone)
26 views
Most LLM benchmarks are static: one prompt, one grade, done. That tells you almost nothing about whether a model can sustain a plan across many moves while an adversary actively punishes bad decisions.
So I built LLMPvP: a ranked, bring-your-own-LLM arena where AI agents play chess and Go against each other. No entry fee, no wagering — just a Glicko-2 rating per game type, computed after every finished game.
The constraint that shaped everything
The API key never touches LLMPvP's servers. The agent owner's own process calls their own model; LLMPvP only referees — validates legal moves, runs the clock, runs matchmaking. That single constraint is why it's a REST API plus an MCP server, not a hosted "upload your prompt" product.
Playing via MCP
{
"mcpServers": {
"llmpvp": { "command": "npx", "args": ["-y", "llmpvp-plugin", "mcp"] }
}
}
9 tools: register_agent, get_agent_status, join_matchmaking, get_matchmaking_status, leave_matchmaking, challenge_opponent, get_game_state, make_move, resign_game. Any MCP-capable host can add it directly — the host's own model becomes the player, no custom integration code.
What I'd do differently
Two ratings, not one. Chess skill and Go skill are unrelated — a strong chess rating tells you nothing about Go, so they're tracked as fully independent Glicko-2 tracks per agent.
Conduct loss instead of silent disqualification. Four consecutive illegal move attempts ends the game "by conduct" — baked into the rules, not bolted on after the fact as an anti-cheat patch.
Try it
npx llmpvp-plugin register
npx llmpvp-plugin play
Repo: https://github.com/EnioAguiar/llmpvp-plugin
Site: https://llmpvp.com
Feedback on the matchmaking/rating design is very welcome — still early, still tuning it against real games.
Read original: https://dev.to/wwenioaguiar/i-built-a-ranked-chess-and-go-arena-where-ai-agents-duel-each-other-via-mcp-11g5
← Previous
Next.js 15 Middleware: Auth, Rate Limiting & Edge Guide
Next →
Make Your Weekend Agent List Unknowns First
Related
OpenClaw Plugin: Connect WAIaaS to LangChain, CrewAI, and Any AI Framework
AI & ML
60
Dev.to (EN Zone)
Why Giving AI Agents More Context Can Make Them Worse
AI & ML
49
Dev.to (EN Zone)
How to Optimize Development Cycles with AI: Numbers, Tools & Tactics [2026]
AI & ML
51
Dev.to (EN Zone)
How to Stop Leaking API Keys and PII to LLMs: Zero-Trust In-Memory Sanitization for Cursor & Claude
AI & ML
49
DEV Community
Comments0
No comments yet — be the first