Koskamo

LiveScore MCP

A Model Context Protocol server providing real-time football data including live scores, fixtures, standings, top scorers, and match details for over 1000 leagues worldwide. It offers 16 tools for querying team stats, player profiles, and match commentary, supporting both Streamable HTTP and SSE transports.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

LiveScore MCP logo, by Football ManiaCommunity listingLegacy SSENo sign-inEndpoint checked 2026-11-01Published by Football Mania
MCP endpoint (Legacy SSE)
https://livescoremcp.com/sse
Vendor documentation

What you can do with it

  • Retrieve real-time live scores and minute-by-minute updates for ongoing matches
  • Fetch competition fixtures and league standings with points and goal difference
  • Search for teams, players, and competitions to get detailed profiles and stats
  • Get written match reports and minute-by-minute commentary for finished or live games

Source and maintenance

Community listingRegistry 1.3.1
Maintenance checked

Protocol and capabilities

Server
livescore-mcp 1.5.0
MCP protocol
2025-06-18
Tools
16 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
4 advertised
Server-advertised capabilities
{
  "tools": {},
  "prompts": {},
  "resources": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Football (soccer) data from football-mania.com: live scores, fixtures and results, standings, top scorers, match details, teams and players for 1000+ competitions. Workflow: teams, players and competitions can be passed by name; search returns typed ids (team:…, player:…, league:…) that fetch and every other tool accept. get_day_fixtures covers any date; get_live_scores only matches in play right now. Kick-off times are UTC unless you pass timezone: give the user's IANA time zone (e.g. Europe/London, America/Sao_Paulo) when you know it, so times and \"today\" need no conversion. Every answer contains football-mania.com links: cite them when you present the data, so users can open the full match, team or league page.

Tools

16 advertised

fetch
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Full details for an id from search: team:<id>, player:<id>, league:<league key> or match:<id>. Returns the title, the full text, and the football-mania.com url.

fetch input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Typed id from search, e.g. team:9002, player:474972, league:EnglandPremierLeague, match:3868859"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    }
  }
}
fetch annotations
{
  "title": "Fetch a team, player, competition or match",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_day_fixtures
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

All football matches on a date: results, live scores and kick-off times, grouped by competition (biggest competitions first). A busy day has 1000+ matches, so filter by country or league_key when you can.

get_day_fixtures input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "date": {
      "type": "string",
      "description": "YYYY-MM-DD, DD/MM/YYYY, today, tomorrow or yesterday. Default: today in timezone (UTC if none)"
    },
    "limit": {
      "type": "number",
      "description": "Maximum matches listed. Default: 150, maximum 500"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "country": {
      "type": "string",
      "description": "Only this country, in English (e.g. England, Spain); Eurocups, International or WorldCup for international competitions"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    },
    "tzoffset": {
      "type": "number",
      "description": "Day boundaries in this offset from UTC, in minutes (e.g. 120 for UTC+2). Default: from timezone, else 0"
    },
    "league_key": {
      "type": "string",
      "description": "Only this competition (league key from search)"
    }
  }
}
get_day_fixtures output schema
{
  "type": "object",
  "required": [
    "total",
    "returned",
    "competitions",
    "timezone",
    "matches"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "description": "Matches found before any limit was applied"
    },
    "matches": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "required": [
          "id",
          "home",
          "away",
          "status",
          "state"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Match id, usable with get_match"
          },
          "url": {
            "type": "string",
            "description": "Match page on football-mania.com"
          },
          "away": {
            "type": "string",
            "description": "Away team name"
          },
          "home": {
            "type": "string",
            "description": "Home team name"
          },
          "state": {
            "type": "string",
            "description": "One of scheduled, live, finished, other"
          },
          "minute": {
            "type": "integer",
            "description": "Minute played, only while live"
          },
          "status": {
            "type": "string",
            "description": "Raw status: a minute while live, FT/HT/Postp. otherwise, or the kick-off time"
          },
          "country": {
            "type": "string",
            "description": "Country or confederation of the competition"
          },
          "awayScore": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Goals for the away team; absent before kick-off"
          },
          "homeScore": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Goals for the home team; absent before kick-off"
          },
          "leagueKey": {
            "type": "string",
            "description": "Competition key, usable with get_standings and get_league_fixtures"
          },
          "kickoffUtc": {
            "type": "string",
            "description": "Kick-off in RFC3339 UTC"
          },
          "competition": {
            "type": "string",
            "description": "Competition name"
          }
        },
        "additionalProperties": false
      }
    },
    "returned": {
      "type": "integer",
      "description": "Matches present in this response"
    },
    "timezone": {
      "type": "string",
      "description": "Time zone the kick-off times were rendered in"
    },
    "competitions": {
      "type": "integer",
      "description": "Distinct competitions represented"
    }
  },
  "additionalProperties": false
}
get_day_fixtures annotations
{
  "title": "Matches on a date",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_fixtures
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Same as get_league_fixtures; accepts the competition key with or without the _small suffix.

get_fixtures input schema
{
  "type": "object",
  "required": [
    "competition"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Results and upcoming matches listed, each. Default: 10"
    },
    "round": {
      "type": "string",
      "description": "Only this round/matchday number"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    },
    "competition": {
      "type": "string",
      "description": "League key (e.g. EurocupsUEFAChampionsLeague)"
    }
  }
}
get_fixtures annotations
{
  "title": "Competition fixtures (alias)",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_head_to_head
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

All-time head-to-head record of two teams: wins, draws, goals, their recent meetings and the next scheduled meeting. Teams by ID or name.

get_head_to_head input schema
{
  "type": "object",
  "required": [
    "team_a",
    "team_b"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Meetings listed. Default: 10"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "team_a": {
      "type": "string",
      "description": "First team: ID (e.g. 9002) or name (e.g. Arsenal)"
    },
    "team_b": {
      "type": "string",
      "description": "Second team: ID or name"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    }
  }
}
get_head_to_head annotations
{
  "title": "Head-to-head record",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_league_fixtures
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fixtures and results of one competition (league or cup): latest results, matches in play and upcoming matches of the current season, or one round. For the table use get_standings.

get_league_fixtures input schema
{
  "type": "object",
  "required": [
    "league_key"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Results and upcoming matches listed, each. Default: 10"
    },
    "round": {
      "type": "string",
      "description": "Only this round/matchday number (e.g. 7)"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    },
    "league_key": {
      "type": "string",
      "description": "League key from search (e.g. EnglandPremierLeague, SpainPrimeraDivision, EurocupsUEFAChampionsLeague), or the competition name"
    }
  }
}
get_league_fixtures annotations
{
  "title": "Competition fixtures and results",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_live_scores
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Football matches being played right now, worldwide, with score and minute, grouped by competition (biggest competitions first). Optional filters by country or league key.

get_live_scores input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "country": {
      "type": "string",
      "description": "Only this country, in English (e.g. England, Spain, Brazil); international club and national-team competitions use Eurocups, International or WorldCup"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    },
    "league_key": {
      "type": "string",
      "description": "Only this competition (league key from search, e.g. EnglandPremierLeague)"
    }
  }
}
get_live_scores output schema
{
  "type": "object",
  "required": [
    "total",
    "returned",
    "competitions",
    "timezone",
    "matches"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "description": "Matches found before any limit was applied"
    },
    "matches": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "required": [
          "id",
          "home",
          "away",
          "status",
          "state"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Match id, usable with get_match"
          },
          "url": {
            "type": "string",
            "description": "Match page on football-mania.com"
          },
          "away": {
            "type": "string",
            "description": "Away team name"
          },
          "home": {
            "type": "string",
            "description": "Home team name"
          },
          "state": {
            "type": "string",
            "description": "One of scheduled, live, finished, other"
          },
          "minute": {
            "type": "integer",
            "description": "Minute played, only while live"
          },
          "status": {
            "type": "string",
            "description": "Raw status: a minute while live, FT/HT/Postp. otherwise, or the kick-off time"
          },
          "country": {
            "type": "string",
            "description": "Country or confederation of the competition"
          },
          "awayScore": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Goals for the away team; absent before kick-off"
          },
          "homeScore": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Goals for the home team; absent before kick-off"
          },
          "leagueKey": {
            "type": "string",
            "description": "Competition key, usable with get_standings and get_league_fixtures"
          },
          "kickoffUtc": {
            "type": "string",
            "description": "Kick-off in RFC3339 UTC"
          },
          "competition": {
            "type": "string",
            "description": "Competition name"
          }
        },
        "additionalProperties": false
      }
    },
    "returned": {
      "type": "integer",
      "description": "Matches present in this response"
    },
    "timezone": {
      "type": "string",
      "description": "Time zone the kick-off times were rendered in"
    },
    "competitions": {
      "type": "integer",
      "description": "Distinct competitions represented"
    }
  },
  "additionalProperties": false
}
get_live_scores annotations
{
  "title": "Live football scores",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_match
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One match in detail: score, status, goals, cards and substitutions with minutes, line-ups, team statistics (possession, shots, corners…), injuries, form, standings of both teams, match report and head-to-head record.

get_match input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Match ID (from fixtures, live scores or search)"
    },
    "h2h": {
      "type": "boolean",
      "description": "Include the head-to-head record. Default: true"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    }
  }
}
get_match annotations
{
  "title": "Match details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_match_commentary
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Minute-by-minute written commentary for a match, plus the goals, cards and substitutions in order. Useful while a match is in play, and afterwards to see how it unfolded.

get_match_commentary input schema
{
  "type": "object",
  "required": [
    "match_id"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Maximum ticker entries, most recent last. Default: 60, maximum 300"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "match_id": {
      "type": "string",
      "description": "Match id from get_live_scores, get_day_fixtures or search"
    },
    "events_only": {
      "type": "boolean",
      "description": "true: only goals, cards and substitutions, skipping the running commentary. Default: false"
    }
  }
}
get_match_commentary output schema
{
  "type": "object",
  "required": [
    "matchId"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "events": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "team": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "minute": {
            "type": "string"
          },
          "player": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "description": "Goals, cards and substitutions in order"
    },
    "ticker": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "team": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "minute": {
            "type": "string"
          },
          "player": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "description": "Minute-by-minute written commentary, when the competition has it"
    },
    "matchId": {
      "type": "string"
    },
    "lastUpdated": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_match_commentary annotations
{
  "title": "Live commentary and events",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_match_report
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

A written report of a finished match, or a preview of one still to come, with the story and the sources it drew on. Available for selected competitions rather than every match; call get_match first if you are not sure the match has one. Translated into es, de, fr, it, pt, nl, ru, ar and tr; other languages fall back to English.

get_match_report input schema
{
  "type": "object",
  "required": [
    "match_id"
  ],
  "properties": {
    "kind": {
      "enum": [
        "auto",
        "report",
        "preview"
      ],
      "type": "string",
      "description": "auto (default): report if one exists, otherwise preview. report: only a finished-match report. preview: only a pre-match preview"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "match_id": {
      "type": "string",
      "description": "Match id from get_live_scores, get_day_fixtures or search"
    }
  }
}
get_match_report output schema
{
  "type": "object",
  "required": [
    "matchId",
    "kind",
    "home",
    "away",
    "language",
    "text"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "away": {
      "type": "string"
    },
    "date": {
      "type": "string"
    },
    "home": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "description": "report for a finished match, preview for one still to come"
    },
    "text": {
      "type": "string",
      "description": "The report or preview, plain text"
    },
    "score": {
      "type": "string"
    },
    "matchId": {
      "type": "string"
    },
    "sources": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "URLs the report drew on, when recorded"
    },
    "language": {
      "type": "string",
      "description": "Language the text was returned in"
    },
    "leagueKey": {
      "type": "string"
    },
    "competition": {
      "type": "string"
    },
    "generatedAt": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_match_report annotations
{
  "title": "Match report or preview",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_player
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

A player: club, position, age, nationality, market value, statistics per season and competition, injuries, transfers and honours.

get_player input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Player ID (e.g. 474972), or the player name (best search match is used)"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    }
  }
}
get_player annotations
{
  "title": "Player profile",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_standings
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Current standings (league table) of a competition: position, played, won, drawn, lost, goals, points, form and the qualification or relegation zone. Group-stage competitions return every group.

get_standings input schema
{
  "type": "object",
  "required": [
    "league_key"
  ],
  "properties": {
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "league_key": {
      "type": "string",
      "description": "League key from search (e.g. EnglandPremierLeague), or the competition name"
    }
  }
}
get_standings output schema
{
  "type": "object",
  "required": [
    "table"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "table": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "required": [
          "position",
          "team",
          "played",
          "won",
          "drawn",
          "lost",
          "goalsFor",
          "goalsAgainst",
          "goalDifference",
          "points"
        ],
        "properties": {
          "won": {
            "type": "integer"
          },
          "form": {
            "type": "string",
            "description": "Recent results, most recent last, as W/D/L"
          },
          "live": {
            "type": "boolean",
            "description": "true when these points include a match still in play"
          },
          "lost": {
            "type": "integer"
          },
          "note": {
            "type": "string",
            "description": "Qualification or relegation note, when the feed carries one"
          },
          "team": {
            "type": "string"
          },
          "drawn": {
            "type": "integer"
          },
          "group": {
            "type": "string",
            "description": "Group or stage name, when the competition has more than one table"
          },
          "played": {
            "type": "integer"
          },
          "points": {
            "type": "integer"
          },
          "teamId": {
            "type": "string",
            "description": "Usable with get_team"
          },
          "goalsFor": {
            "type": "integer"
          },
          "position": {
            "type": "integer"
          },
          "goalsAgainst": {
            "type": "integer"
          },
          "goalDifference": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "description": "Every group's rows in order; each row names its group when there is more than one"
    },
    "groups": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "Group names, when the competition has more than one table"
    },
    "season": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Country the competition is filed under, or the confederation for international competitions"
    },
    "leagueKey": {
      "type": "string"
    },
    "competition": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_standings annotations
{
  "title": "League table",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_team
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

A team: recent results and upcoming fixtures, league positions, season statistics, squad with appearances and goals, injuries, transfers, coach, stadium and honours.

get_team input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Team ID (e.g. 9002 Arsenal, 13183 Ajax), or the team name (best search match is used)"
    },
    "squad": {
      "type": "boolean",
      "description": "Include the full squad. Default: true"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    }
  }
}
get_team annotations
{
  "title": "Team profile",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_team_image
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

URL of a team's logo (PNG).

get_team_image input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Team ID"
    }
  }
}
get_team_image annotations
{
  "title": "Team logo",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_top_scorers
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Top scorers of a competition this season: goals, penalty goals, team and nationality.

get_top_scorers input schema
{
  "type": "object",
  "required": [
    "league_key"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Players listed. Default: 20"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "league_key": {
      "type": "string",
      "description": "League key from search (e.g. SpainPrimeraDivision), or the competition name"
    }
  }
}
get_top_scorers output schema
{
  "type": "object",
  "required": [
    "scorers"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "scorers": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "required": [
          "rank",
          "player",
          "goals"
        ],
        "properties": {
          "rank": {
            "type": "integer"
          },
          "team": {
            "type": "string"
          },
          "goals": {
            "type": "integer"
          },
          "player": {
            "type": "string"
          },
          "teamId": {
            "type": "string",
            "description": "Usable with get_team"
          },
          "playerId": {
            "type": "string",
            "description": "Usable with get_player"
          },
          "penalties": {
            "type": "integer",
            "description": "Of which scored from the penalty spot"
          },
          "tournament": {
            "type": "string",
            "description": "Stage name, when the competition splits into more than one"
          },
          "nationality": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "leagueKey": {
      "type": "string"
    },
    "competition": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_top_scorers annotations
{
  "title": "Top scorers",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
health
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Connectivity check: echoes the message back.

health input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "message": {
      "type": "string",
      "description": "Text to echo"
    }
  }
}
health annotations
{
  "title": "Connectivity check",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Find teams, players and competitions by name. Returns results with an id (team:…, player:…, league:…) for fetch or the other tools, a title, a football-mania.com url and a short summary; teams include their last and next match.

search input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Name or part of it (e.g. Arsenal, Mbappé, Premier League)"
    },
    "format": {
      "enum": [
        "text",
        "json"
      ],
      "type": "string",
      "description": "text (default): compact summary with IDs and links. json: the raw data feed, minified and capped at 60,000 characters"
    },
    "country": {
      "type": "string",
      "description": "Prefer results from this country (in English)"
    },
    "language": {
      "type": "string",
      "description": "Language for team, competition and country names, and for the football-mania.com links (en, es, de, fr, it, pt, pt-BR, nl, ar, ru, tr, id, …). Default: en"
    },
    "timezone": {
      "type": "string",
      "description": "IANA time zone for kick-off times and dates, e.g. Europe/London, America/New_York, Asia/Riyadh. Default: UTC"
    }
  }
}
search annotations
{
  "title": "Search teams, players, competitions",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

4 advertised

league_roundup

Advertised by the server during the last successful anonymous check.

Round-up of a competition: latest results, the table and the top scorers

league
Competition name or league key (e.g. Premier League) (required)
live_now

Advertised by the server during the last successful anonymous check.

What is happening in football right now

country
Only this country (optional, in English)
match_preview

Advertised by the server during the last successful anonymous check.

Preview of the next match between two teams: form, injuries, table positions and head-to-head

team_a
First team (name or ID) (required)
team_b
Second team (name or ID) (required)
team_report

Advertised by the server during the last successful anonymous check.

Report on a team: results, upcoming fixtures, squad news and season statistics

team
Team name or ID (required)

Resources

1 advertised

LiveScore MCP server info

Advertised by the server during the last successful anonymous check.

LiveScore MCP server info URI
server://info

MIME type: text/plain

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1342 ms
95th percentile latency
1342 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1342 ms · metadata changed · 16 tool(s), 1 resource(s), 0 resource template(s), 4 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport sse livescore-mcp https://livescoremcp.com/sse

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "livescore-mcp": {
      "type": "sse",
      "url": "https://livescoremcp.com/sse",
      "disabled": false
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport sse livescore-mcp https://livescoremcp.com/sse

Let your agent find its tools

Find servers like LiveScore MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.