{
  "name": "com.footballapis/footballapis",
  "title": "FootballAPIs",
  "version": "1.0.0",
  "description": "Compare football data APIs: prices, free plans, leagues, data types, with sources. Read-only.",
  "websiteUrl": "https://footballapis.com/api/",
  "url": "https://footballapis.com/mcp",
  "transport": {
    "type": "streamable-http",
    "url": "https://footballapis.com/mcp"
  },
  "authentication": {
    "required": false
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    }
  },
  "licence": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "FootballAPIs.com"
  },
  "tools": [
    {
      "name": "list_providers",
      "title": "List football data API providers",
      "description": "List the football data API providers FootballAPIs tracks, optionally filtered. Filters only match confirmed facts (\"unknown\" never matches). Prices compare at face value: € and $ are not converted. Returns key facts with sources, lastVerified and confidence per fact group. A data type sold as a paid add-on reads \"addon\" (with its price in addons) and still matches a dataType filter.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "freePlan": {
            "type": "string",
            "enum": [
              "yes",
              "trial",
              "any"
            ],
            "description": "\"yes\" = a free plan; \"trial\" = a free plan or a free trial; \"any\" (default) = no filter."
          },
          "maxMonthlyPrice": {
            "type": "number",
            "minimum": 0,
            "description": "Cheapest public paid price at or under this amount, at face value (no currency conversion). Free-only providers also match."
          },
          "league": {
            "type": "string",
            "enum": [
              "premier_league",
              "championship",
              "laliga",
              "serie_a",
              "bundesliga",
              "ligue_1",
              "primeira_liga",
              "mls",
              "champions_league"
            ],
            "description": "Only providers whose public pages confirm this league."
          },
          "dataType": {
            "type": "string",
            "enum": [
              "live_scores",
              "odds",
              "lineups",
              "events",
              "player_stats",
              "xg",
              "injuries",
              "transfers",
              "predictions"
            ],
            "description": "Only providers whose public pages list this data type in their API."
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "title": "List football data API providers",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_provider",
      "title": "Get one provider",
      "description": "Full facts for one provider: pricing tiers, free plan, leagues, data types (paid add-ons marked \"addon\", with price), aliases, docs, sources, lastVerified and confidence (vendor_plus_independent / vendor_only / unconfirmed) per fact group.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Provider slug as in https://footballapis.com/p/<slug>/ (e.g. \"football-data-org\"), its name or a well-known alias (e.g. \"API-Football\", \"opta\", \"statsbomb\"). Case, punctuation and bracketed parts are ignored and small typos are tolerated. If the name is ambiguous or unknown, the result lists the 3 closest providers with their slugs: retry with one of those."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "title": "Get one provider",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "compare_providers",
      "title": "Compare providers side by side",
      "description": "Side-by-side key facts for 2 to 5 providers: free plan, cheapest paid price, league count, leagues, data types (paid add-ons marked), API style, with sources, lastVerified and confidence per fact group.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slugs": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Provider slug as in https://footballapis.com/p/<slug>/ (e.g. \"football-data-org\"), its name or a well-known alias (e.g. \"API-Football\", \"opta\", \"statsbomb\"). Case, punctuation and bracketed parts are ignored and small typos are tolerated. If the name is ambiguous or unknown, the result lists the 3 closest providers with their slugs: retry with one of those."
            },
            "minItems": 2,
            "maxItems": 5,
            "description": "Provider slugs (or names)."
          }
        },
        "required": [
          "slugs"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "title": "Compare providers side by side",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "recent_changes",
      "title": "Recent changes",
      "description": "Dated changes to the dataset and site: price corrections, confirmed prices, changed source pages and site changes. Newest first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "How many entries (default 10)."
          },
          "provider": {
            "type": "string",
            "description": "Only changes for this provider (slug or name)."
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "title": "Recent changes",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "provider_health",
      "title": "Daily reachability and live API checks",
      "description": "Two separate daily checks per provider. Page reachability: latest result and a 90-day summary (days checked, % reachable, median response ms); for most providers a public web page (status page, docs or homepage), NOT API uptime; kind \"api\"/\"dataset\" means a keyless public endpoint. Live API check (7 providers): one real API call a day on a FREE plan or keyless endpoint, with validData and evidence; it proves the free tier returns real data, not uptime or paid-tier coverage. Others say \"no live API check (needs a paid plan or trial)\". Omit slug for all providers.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Provider slug as in https://footballapis.com/p/<slug>/ (e.g. \"football-data-org\"), its name or a well-known alias (e.g. \"API-Football\", \"opta\", \"statsbomb\"). Case, punctuation and bracketed parts are ignored and small typos are tolerated. If the name is ambiguous or unknown, the result lists the 3 closest providers with their slugs: retry with one of those."
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "title": "Daily reachability and live API checks",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "recommend_provider",
      "title": "Recommend providers for a need",
      "description": "Up to three providers for a need, picked by the same fixed rule as the FootballAPIs home page (\"Pick by what you need\"). Nobody pays for placement. The rule used is returned with the picks; a data type sold as a paid add-on never counts as included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "need": {
            "type": "string",
            "enum": [
              "free_to_start",
              "live_scores",
              "big_european_leagues",
              "betting_odds",
              "cheapest_paid"
            ],
            "description": "What you need."
          }
        },
        "required": [
          "need"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "title": "Recommend providers for a need",
        "readOnlyHint": true,
        "openWorldHint": false
      }
    }
  ]
}
