Search / co.betterchess/betterchess
BetterChess
R0· no sign-inChess MCP for Claude: engine analysis, attack maps, game review. One URL, no install.
v1.0.0 · active · website · descriptor JSON · versions
Search / co.betterchess/betterchess
R0· no sign-inChess MCP for Claude: engine analysis, attack maps, game review. One URL, no install.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"betterchess": {
"type": "http",
"url": "https://mcp.betterchess.co"
}
}
}claude mcp add --transport http betterchess https://mcp.betterchess.co[mcp_servers.betterchess]
url = "https://mcp.betterchess.co"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"betterchess": {
"type": "remote",
"url": "https://mcp.betterchess.co",
"enabled": true
}
}
}{
"mcpServers": {
"betterchess": {
"type": "http",
"url": "https://mcp.betterchess.co"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=betterchess&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmJldHRlcmNoZXNzLmNvIn0%3D"
}{
"servers": {
"betterchess": {
"type": "http",
"url": "https://mcp.betterchess.co"
}
}
}{
"mcpServers": {
"betterchess": {
"httpUrl": "https://mcp.betterchess.co"
}
}
}extensions:
"betterchess":
enabled: true
name: "betterchess"
type: streamable_http
uri: "https://mcp.betterchess.co"
timeout: 300
protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations4 of 4 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: chess_review (destructiveHint, idempotentHint); chess_rig (destructiveHint, idempotentHint); chess_attacks (destructiveHint, idempotentHint); …tools.token_costabout 921 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% ~updated-49d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.betterchess.co streamable-http | none | yes | 100% | 434 ms | 2025-06-18 | 2026-10-20 |
chess_analyseread-only | Returns an engine evaluation of a chess position: the strongest candidate moves with their scores, and the position's checkable facts — side to move, whether that side is in check, undefended pieces and the pieces attacking them, and the material balance. Accepts a FEN, a PGN, or a list of SAN moves from the starting position. Also reports what the OPPONENT would play if it were their turn, which is the difference between a position being quiet and merely looking quiet. Pass `considering` with a move you are thinking of playing and it returns what that move actually walks into — a losing move is usually not in the top candidates, so asking about it directly is the only way to find out. |
chess_attacksread-only | Returns the exact list of squares attacked by the piece standing on a given square in a chess position, together with that piece's type and colour. Returns an empty list when the square is unoccupied. Accepts a FEN, a PGN, or a list of SAN moves from the starting position. |
chess_reviewread-only | Replays a finished game ply by ply with the engine and returns the moves where the evaluation swung by more than a threshold (default 1.5 pawns). Each entry gives the move number, the side that moved, the move played, the engine's preferred move, the size of the swing in pawns, the evaluation before and after, and the FEN of the resulting position. Accepts a PGN or a list of SAN moves, and can be filtered to one colour. Long games are truncated at 60 plies. |
chess_rigread-only | Returns the JavaScript source of the in-page coaching rig for a chess.com bot game, to be run in that page by the browser's javascript tool. Once running, the page exposes window.__coachWait(ms) (resolves with events and board status), window.__coachWatch.status() (moves, fen, turn, myTurn, result) and window.__coach (beginDraw, play, dashed, label, step, say) for drawing on the board. Also returns the rig version and the URL of the chess.com bot surface. |
Schemas: list_tools.
{
"name": "co.betterchess/betterchess",
"icons": [
{
"src": "https://betterchess.co/icon-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
}
],
"title": "BetterChess",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.betterchess.co",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://betterchess.co/connector",
"description": "Chess MCP for Claude: engine analysis, attack maps, game review. One URL, no install."
}