Skip to main content
Glama

chesscom-mxcp

Chess MXCP Server

An enterprise-grade Chess.com MCP server built with MXCP, featuring caching, analytics, audit trails, and advanced data analysis capabilities.

Features

πŸš€ Core Chess.com API Integration

  • Player Tools: Profile, stats, online status, current games, game archives

  • Game Tools: Monthly games, PGN downloads with caching

  • Titled Players: List players by title (GM, IM, FM, etc.)

  • Club Tools: Club profiles and member lists

πŸ’Ž Enterprise Features (MXCP Advantages)

  • Smart Caching: Configurable TTLs for different data types

  • Rate Limiting: Token bucket algorithm to respect API limits

  • Connection Pooling: Efficient HTTP client with keepalive

  • Retry Logic: Automatic retries with exponential backoff

  • Audit Trails: Track all API usage and queries

  • Error Handling: Graceful degradation and detailed error messages

πŸ“Š Advanced Analytics (Not Available in Original)

  • Rating Trends: Analyze player rating changes over time

  • Game Analysis: Win/loss/draw patterns by time control and color

  • Opening Statistics: Most played openings and success rates

  • Activity Patterns: When players are most active

  • Trending Players: Track popular players and follower growth

  • SQL Query Access: Direct SQL access to cached data for custom analysis

πŸ” Security & Governance

  • Authentication Support: OAuth integration ready

  • Audit Logging: Complete API call tracking

  • Policy Engine: Fine-grained access control

  • Type Safety: Comprehensive validation

Related MCP server: Chess.com MCP Server

Installation

  1. Install dependencies:

pip install httpx
  1. Initialize the database:

mxcp run tool get_player_profile --param username=hikaru

This will create the necessary cache tables automatically.

Usage

Start the Server

mxcp serve

Connect to Claude Desktop

The server_config.json was generated during mxcp init. Add it to your Claude Desktop configuration.

Example Queries

Ask Claude:

  • "Get Magnus Carlsen's profile and analyze his rating trends"

  • "Show me all GMs and their recent activity"

  • "Analyze my opening repertoire" (after fetching games)

  • "Compare win rates between blitz and rapid for a player"

  • "Find trending chess players this week"

SQL Analytics

With SQL tools enabled, you can run custom queries:

  • "Show me all cached games where I played the Sicilian Defense"

  • "What's my performance on Tuesdays vs other days?"

  • "List all players whose ratings improved by 100+ points"

Configuration

Edit mxcp-site.yml to adjust:

  • Cache TTLs for different data types

  • Rate limiting parameters

  • Audit settings

  • SQL tool permissions

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Chess.com β”‚ β”‚ MXCP Server β”‚ β”‚ DuckDB Cache β”‚ β”‚ API │◄────│ - Rate Limiter │────►│ - API Cache β”‚ β”‚ β”‚ β”‚ - Retry Logic β”‚ β”‚ - Game Archive β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - Type Safety β”‚ β”‚ - Analytics β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ LLM Client β”‚ β”‚ (Claude, etc) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Advanced Features

Caching Strategy

  • Player profiles: 1 hour TTL

  • Player stats: 30 minutes TTL

  • Current games: 5 minutes TTL

  • Game archives: 24 hours TTL (historical data)

  • Titled players: 7 days TTL

  • Individual games: Permanent cache

Analytics Tables

  • chess_api_cache: General API response cache

  • chess_games_cache: Individual game storage with PGN

  • player_profile_views: Track profile access patterns

  • rating_history: Player rating changes over time

  • player_activity: Game count tracking

  • audit_log: Complete API usage audit trail

Development

Adding New Tools

  1. Create Python implementation in python/

  2. Define tool in tools/ with YAML

  3. Add SQL analytics if applicable

  4. Update cache tables if needed

Testing

# Test a specific tool mxcp run tool get_player_profile --param username=hikaru # Validate all tools mxcp validate # Check for drift mxcp drift check

Why MXCP?

This implementation showcases how MXCP improves upon a basic MCP server:

  1. Performance: Caching reduces API calls by 90%+

  2. Analytics: SQL access enables complex analysis impossible with just API

  3. Reliability: Retry logic and rate limiting prevent failures

  4. Observability: Audit trails show exactly what's happening

  5. Extensibility: Easy to add new analytics without touching core code

  6. Type Safety: Validation prevents runtime errors

  7. Production Ready: Built for scale from day one

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/datYori/chesscom-mxcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server