Skip to main content
Glama
Ramakrishna-Gedala

MCP Chess Server

README.md
# MCP Chess Server

## Overview

This repository provides a Model Context Protocol (MCP) server that exposes Chess.com data through Anthropic's FastMCP framework. The server runs over stdio and can be launched locally or directly from Claude Desktop.

## Capabilities

- `get_chess_player_profile`: Returns the public profile for a Chess.com username by calling `https://api.chess.com/pub/player/{username}` via `requests`.
- `get_chess_player_stats`: Retrieves rating history and performance metrics from `https://api.chess.com/pub/player/{username}/stats`.

Both tools are registered with `FastMCP('Chess.com')` in `chess.server` and are available to any MCP-compatible client once the server is running.

## Prerequisites

- Python 3.13 or newer
- Git
- [uv](https://github.com/astral-sh/uv) for dependency management
- Claude Desktop (or another MCP client)

## Setup

### 1. Clone the repository

```bash
git clone <your-repo-url>
cd mcp-build-chess
```

### 2. Install dependencies in editable mode

```bash
uv pip install -e .
```

> Tip: create an isolated environment with `uv venv .venv` and activate it before installing.

### 3. Validate the server locally

```bash
uv run python -m chess.server
```

The server will start and wait on stdio. Use `Ctrl+C` to stop it once you've confirmed it launches without errors.

## Claude Desktop Integration

Update `claude_desktop_config.json` so Claude Desktop can launch the server from this repository:

## claude coinfiguration form local

```json
{
  "mcpServers": {
    "Chess_Server": {
      "command": "uv",
      "args": [
        "--directory",
        "W:\\ITversity\\MCP Claude\\code\\mcp-build-chess\\src\\chess",
        "run",
        "chess"
      ]
    }
  }
}
```

##claude configuration from git repo

```json
{
  "mcpServers": {
    "Chess_Server_git": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Ramakrishna-Gedala/mcp_chess.git@main",
        "chess-server"
      ]
    }
  }
}
```

Replace the `cwd` value with the absolute path to your cloned repository. macOS and Linux users should specify their own path syntax (for example, `/Users/you/src/mcp-build-chess`). After saving the config, restart Claude Desktop so it picks up the new server configuration.

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation4/5

The two tools have distinct purposes: one retrieves a player's profile (likely general info), and the other retrieves stats (likely performance data). While both target the same resource (a Chess.com player), the actions are clearly differentiated, making misselection unlikely. However, the overlap in domain could cause minor confusion if an agent needs both types of data, but descriptions help clarify.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'get_chess_player_' as a prefix, followed by 'profile' or 'stats'. This predictable naming scheme makes it easy for agents to understand and navigate the tool set without ambiguity or mixed conventions.

Tool Count3/5

With only 2 tools, the server feels thin for a chess domain, as it lacks operations like creating games, making moves, or accessing game history. While it might be narrowly scoped to player data retrieval, the limited count suggests incomplete coverage for typical chess-related tasks, bordering on under-scoped.

Completeness2/5

The tool set is severely incomplete for a chess server, as it only provides read-only access to player data with no ability to interact with games, boards, or other chess elements. There are significant gaps in CRUD/lifecycle coverage, such as missing create, update, or delete operations, which will likely cause agent failures in broader chess-related workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues