MCP server
Connect the API to Claude, Cursor, or a bot of your own. You ask about football in plain words, your assistant picks the tools and calls them. You don't write a client.
Set it up
Two things get you connected: the address of the server and your API key. Anything that can send a header will work.
Endpoint: https://api.aisportspredictionsapi.com/mcp
That's the server itself. Don't open it in a browser: it answers a protocol, not a page, and it wants your key. It's what you paste wherever a client asks for a server URL.
Use it in an app you already have
You add the server once. After that you're done with the config and you just ask, in the app's own chat:
- “What's today's daily ticket?”
- “Give me the analysis for tonight's Arsenal match.”
- “Who plays today in the Premier League?”
Claude Code
One command registers the server under the name aispapi. Claude Code remembers it, so the tools are there next time you open it. You run this once, in a terminal:
claude mcp add --transport http aispapi https://api.aisportspredictionsapi.com/mcp --header "x-api-key: YOUR_KEY"Replace YOUR_KEY with a key from the API keys page. The name is yours to pick, it's only what the server shows up as.
Cursor, Claude Desktop, VS Code
These have no command for it. They keep their servers in a JSON file, and their settings screen tells you where that file is. Paste this in, next to any servers already listed there:
{
"mcpServers": {
"aispapi": {
"url": "https://api.aisportspredictionsapi.com/mcp",
"headers": {
"x-api-key": "YOUR_KEY"
}
}
}
}Same three things as the command above: the address, a name, and your key on the header. Replace YOUR_KEY with one from the API keys page, then restart the app.
Keep that file out of your repository. Anyone who has the key spends your daily requests.
A client that only signs in through OAuth can't connect. There is nowhere to put the key.
Put it in your own bot
Same address, same header, from your own code. Point an agent SDK at the server and your Telegram or Discord bot answers football questions without a single REST call written by you.
The match tools take team names directly, so there's no id lookup to build either. That's the part that usually takes a weekend.
The tools
18 tools, 4 of them on a paid plan. The ones about a match take team names, so “Arsenal” is enough.
Each line is the tool's own description, read from the server.
Find a team, a league, a match
search_teams- Teams whose name contains what you typed. Up to 20, with ids and crests.
get_leagues- The leagues we cover, with their ids and current season. Filter by country.
get_fixtures- Matches by league, by team, or by date. League and team don't go together.
get_team_next_match- The next match of a team, straight from the name.
get_standings- The table of a league, or one team's line in it.
One match in detail
get_head_to_head- Previous meetings of the two teams, with dates and scores.
get_odds- Pre-match odds, grouped by market.
get_lineups- Formations, the eleven and the bench. Published shortly before kick-off, empty until then.
get_injuries- Who is out and why. By match, by team, or both.
get_team_statistics- Season numbers for both teams: goals, form, streaks, cards.
get_team_comparison- The two teams side by side: form, attack, defence, goal expectancy.
Players
get_squad- The current squad of a team, with the player ids the stats tool needs.
get_player_statistics- Season numbers for a player, a whole squad, or everyone in a match. One of the three at a time.
AI analysis and the daily ticket
get_match_analysis- The full read on one match: form, risks, probabilities per market, graded tips. Today's matches.
get_today_analysesPaid- Every match analysed today. Filter by league, country, team or status.
get_daily_ticketPaid- The accumulator of the day. Today's, or one from the last 30 days. Some days there isn't one.
get_daily_ticket_historyPaid- The tickets of the last 30 days and how each one settled.
get_daily_ticket_statsPaid- Won, lost and win rate over a recent window, up to 30 days.
Football only, current season. Matches run from the last 2 days to the next 6, nothing older. The AI analyses cover today's matches and get rewritten during the day, as lineups get confirmed.
When it stops working
One tool call is one request, out of the same daily allowance as a REST call. get_match_analysis also spends one AI analysis. See the plans for the numbers.
- 403
- A paid tool, called with a free-plan key. Everything else still answers. Only that tool stops.
- 429
- The day's requests are spent, or too many went out inside one minute. The per-minute one clears by itself. The daily one resets at midnight UTC.
- 401
- Wrong key, revoked key, or no key at all. Check the x-api-key header in your config, including for a pasted space.