Skip to content

cyberkillua/mcp-sofascore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors