Skip to main content
Glama
cyberkillua

mcp-sofascore

by cyberkillua

MCP Sofascore

An MCP (Model Context Protocol) server that provides live football match data from Sofascore. Connect it to Claude Desktop, Cursor, or any MCP-compatible client.

What it does

Ask Claude about any football match and get:

  • Formations

  • Injuries and suspensions

  • Betting odds

  • League positions

  • Match date/time

Example:

"Get me the match data for Arsenal vs Man Utd 25 Jan 2026"

Returns:

Arsenal vs Man United — 25 Jan 2026, 17:30 @ Emirates Stadium

Formations:
- Arsenal: 4-3-3 (1st in table)
- United: 4-2-3 (4th in table)

Odds:
- Arsenal win: 1.53
- Draw: 4.50
- Man Utd win: 5.75

Injuries:
- Arsenal: Calafiori (Out)
- United: De Ligt (Out), Dowman (Out), Zirkzee (Doubtful)

Related MCP server: matchday-mcp

Setup

Prerequisites

Install

git clone https://github.com/YOUR_USERNAME/mcp-sofascore.git
cd mcp-sofascore
bun install
bunx playwright install chromium

Configure Claude Desktop

Find your config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the server:

{
  "mcpServers": {
    "sofascore": {
      "command": "/path/to/bun",
      "args": ["/path/to/mcp-sofascore/server.ts"],
      "env": {
        "SERPER_API_KEY": "your-serper-key"
      }
    }
  }
}

Replace:

  • /path/to/bun with output of which bun

  • /path/to/mcp-sofascore with your actual path

Restart Claude Desktop.

Usage

In any Claude conversation, ask about a match:

  • "Get match data for Liverpool vs Chelsea 15 Mar 2026"

  • "What are the lineups for Wolves vs Arsenal 18 Feb 2026"

  • "Show me injuries for the Manchester derby this weekend"

Include the date for best results - otherwise it may find the wrong match.

How it works

  1. Searches Google via Serper for the Sofascore match page

  2. Scrapes the page with Playwright

  3. Extracts formations, injuries, odds, positions

  4. Returns structured data to Claude

Tool Definition

Name

Description

get_match_data

Get match info from Sofascore. Input: team names with date (e.g., "Wolves vs Arsenal 18 Feb 2026")

Tech Stack

  • Runtime: Bun

  • MCP SDK: @modelcontextprotocol/sdk

  • Scraping: Playwright

  • Search: Serper API

Limitations

  • Only works for matches Sofascore has data for

  • Requires date for accurate match lookup

  • Scraping may break if Sofascore changes their site structure

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools to query football match data, odds, standings, and team statistics via natural language, integrating with the football-scraper-api.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Live football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.
    6
    8 npm
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    Enables access to live FotMob football data for fixture lookup, team and player research, match details, lineups, league discovery, and search-based entity lookup.
    7
    8
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language querying of football/soccer data via the API-Football service, providing access to leagues, teams, players, fixtures, standings, and statistics.
    3
    -