loading…
Search for a command to run...
loading…
Live CS2 FACEIT data for Claude — query player stats, match history, head-to-head comparisons, recent form, per-map breakdowns, and full match scoreboards for a
Live CS2 FACEIT data for Claude — query player stats, match history, head-to-head comparisons, recent form, per-map breakdowns, and full match scoreboards for any public FACEIT player using natural language.
A standalone MCP server that gives Claude live CS2 FACEIT data — player stats, match history, side-by-side comparisons, leaderboard, and ELO trend.
Works with Claude Desktop and Claude Code. Single-file, no framework dependencies beyond mcp, aiohttp, aiosqlite, and python-dotenv.
You: Compare zywoo, NiKo, and sh1ro side by side
Claude: Here's a side-by-side comparison of the three players:
ZywOo NiKo sh1ro ELO 4521 4218 4384 Level 10 10 10 K/D 1.43 1.38 1.41 HS% 52.1% 48.7% 44.2% Win Rate 61.3% 58.9% 60.1% Avg Kills 24.8 23.6 23.1 K/R 0.91 0.87 0.89
You: How has NiKo been playing in his last 20 matches?
Claude: NiKo's recent form over 20 matches:
- Record: 13W – 7L (65.0% win rate)
- Avg K/D: 1.42 | Avg kills: 24.3 | Avg HS%: 49.1%
- Current streak: 3W
Best maps: de_inferno (8W-2L, 70% wr), de_ancient (4W-1L, 80% wr) Worst map: de_vertigo (1W-3L, 25% wr)
| Tool | Description |
|---|---|
get_player_stats |
ELO, skill level, region, lifetime K/D, HS%, win rate, streaks |
get_match_history |
Last N matches — map, W/L, K/D, kills, HS%, K/R |
compare_players |
Side-by-side stats for 2–6 FACEIT nicknames |
get_recent_form |
Aggregated stats from last N matches: win rate, avg K/D, current streak, per-map breakdown |
get_match_details |
Full scoreboard for a match by ID — teams, score, all player stats, multi-kills |
get_player_map_stats |
Per-map win rate, K/D, HS%, and K/R from lifetime segments |
get_leaderboard |
Registered users ranked by live ELO |
get_elo_trend |
Stored ELO snapshots for a registered user |
All tools except
get_leaderboardandget_elo_trendwork for any public FACEIT player with just an API key. The leaderboard and ELO trend tools require a SQLite DB with registered users (see DB setup).
1. Clone and install deps
git clone https://github.com/bluemadisonblue/faceit-mcp.git
cd faceit-mcp
pip install -r requirements.txt
2. Set your API key
Create a .env file next to the script:
FACEIT_API_KEY=your_key_here
Or pass it as an environment variable directly in the config below.
Add to claude_desktop_config.json:
{
"mcpServers": {
"faceit-cs2": {
"command": "python",
"args": ["C:/full/path/to/faceit-mcp/faceit_mcp_server.py"],
"env": { "FACEIT_API_KEY": "your_key_here" }
}
}
}
Config file location:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonclaude mcp add faceit-cs2 -- python /full/path/to/faceit-mcp/faceit_mcp_server.py
Then set FACEIT_API_KEY in the .env file next to the script.
Once connected, just ask Claude naturally:
get_leaderboard and get_elo_trend read from a local SQLite database. By default the DB lives at ~/.faceit-mcp/data.db and is created automatically on startup.
To populate it, point DB_PATH at a database that has a users table:
DB_PATH=/path/to/your/bot_data.db
If you use the companion CS2 FACEIT Telegram bot, set DB_PATH to the bot's database and these tools will reflect your registered users automatically.
| Variable | Required | Default | Description |
|---|---|---|---|
FACEIT_API_KEY |
Yes | — | FACEIT Data API v4 key |
DB_PATH |
No | ~/.faceit-mcp/data.db |
SQLite database path |
FACEIT_CIRCUIT_FAILURE_THRESHOLD |
No | 4 |
Consecutive failures before circuit opens (0 to disable) |
FACEIT_CIRCUIT_OPEN_SEC |
No | 60 |
How long the circuit stays open (seconds) |
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"faceit-mcp": {
"command": "npx",
"args": []
}
}
}