AI Ball MCP server
Query AI Ball's pre-kick-off football model probabilities and open performance record through three read-only MCP tools.
list_matches: list one calendar day's matches withmatch_id, kick-off time, league, teams, and status (upcoming,pending,finished).get_match_analysis: get one match's home/draw/away probabilities, most likely outcome, confidence, pre-match favourite, capture time, and for finished matches the final score and whether the outcome hit.get_open_record: get the whole public record or one Monday-to-Sunday week, including matches counted, hits, hit rate, favourite/random baselines, and confidence-band breakdown.Filter or localize results with
tz(calendar day/week boundary),lang(English/Malay), andleague.All tools are read-only, require no account or API key, and cache upstream responses for five minutes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI Ball MCP server How did AI Ball's model do on last week's matches?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AI Ball MCP server
Read-only Model Context Protocol server for AI Ball, AI football match analysis.
It gives an AI assistant two things:
Pre-kick-off outcome probabilities. For each match, the model's home / draw / away probabilities as recorded before kick-off.
The open record. What happened afterwards: the final score and whether the model's most likely outcome came in. Misses are counted the same way as hits, and nothing is removed after the fact.
No account, no API key. The server only calls AI Ball's public record API.
Tools
Tool | What it returns |
| One calendar day: |
| One match: home / draw / away probabilities recorded before kick-off, the most likely outcome, confidence, when the read was captured, and once played the score and whether it came in |
| The whole record, or one week with |
Every tool is read-only (readOnlyHint: true). Names are available in English (lang: "en") and Malay (lang: "ms"). Responses are built from a fixed list of fields; nothing from the upstream API is passed through as-is.
Reading the numbers
models.balancedholds fractions forhome,drawandawaythat sum to 1. This version returns the balanced model;models_availablelists what is included.result.hitistruewhen the model's most likely outcome happened.hit_rateis a percentage.nullmeans the sample is undermin_band_sample, so use the countshitsandninstead.favourite_baselinescores the same matches by always taking the pre-match favourite;random_baselineis one outcome in three.upcomingmatches are locked before kick-off.pendingmatches carry a current read that may still change.
The server caches each upstream response for five minutes and spaces its requests, so repeated questions do not hit AI Ball's API again.
Related MCP server: Football Intelligence MCP
Hosted version
Prefer not to install anything? The same record is served over MCP at:
https://aiball.samagent.ai/mcpStreamable HTTP, no sign-in, read-only. It has the three tools below plus get_match_context (head-to-head, recent form, injuries and fixtures for finished matches only). Rate limit: 60 requests a minute per IP.
claude mcp add --transport http aiball https://aiball.samagent.ai/mcpInstall (local version)
Claude Desktop
Download aiball-mcp.mcpb from the latest release and open it.
Claude Code
claude mcp add aiball -- npx -y github:aiballfooty/aiball-mcpCursor, VS Code and other clients
{
"mcpServers": {
"aiball": {
"command": "npx",
"args": ["-y", "github:aiballfooty/aiball-mcp"]
}
}
}Requires Node.js 18 or later.
Example questions
"How did AI Ball's model do on last week's matches?"
"Which of last week's matches did the model get wrong?"
"What are the model's probabilities for today's matches, in Malaysia time?"
"Across the whole record, does the model do better than always taking the favourite?"
Privacy
The server runs on your machine and sends requests only to https://aiball.samagent.ai/api/v1. Requests carry the tool's parameters (a date, a time zone, a language) and a User-Agent of aiball-mcp/<version>. They do not carry your conversation, your files or any identifier. AI Ball's web server keeps standard access logs. Site privacy policy: https://aiball.samagent.ai/en/privacy
Development
npm install
npm test # starts the server and calls every tool against the live APISet AIBALL_API_BASE to point the server at another base URL.
Licence
MIT. For information only. Not advice. 18+.
Available Tools
3 toolsget_match_analysisGet outcome probabilities for a matchARead-onlyIdempotentInspect
For one match: the model's home / draw / away probabilities as recorded before kick-off (fractions that sum to 1), its most likely outcome, a confidence score, the pre-match favourite, and when the read was captured. For a finished match it also returns the final score and whether the most likely outcome happened (hit). This version returns the balanced model; models_available lists what is included.
Inputs: match_id (required), lang.
get_open_recordGet the open recordARead-onlyIdempotentInspect
How the model's pre-kick-off reads turned out. Without arguments: the whole public record. With week_start: one Monday-to-Sunday week. Returns matches counted (n), how many went the model's way (hits), the same matches scored by always taking the pre-match favourite and by one in three, and the breakdown by confidence band. hit_rate is a percentage; null means the sample is under min_band_sample, so quote the counts instead. Misses are counted the same way as hits.
Inputs: tz, week_start.
list_matchesList matches for a dateARead-onlyIdempotentInspect
Matches for one calendar day: match_id, kick-off time (UTC), league, teams and status. status is upcoming (pre-kick-off read is locked), pending (current read, may still change before kick-off) or finished. Pass a match_id to get_match_analysis for the outcome probabilities and, once played, the result.
Inputs: tz, date, lang, league.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
The three tools target clearly distinct scopes: list_matches discovers matches for a day, get_match_analysis drills into one match's probabilities, and get_open_record reports aggregate performance. There is no functional overlap between them.
All three follow a verb_noun pattern (list_matches, get_match_analysis, get_open_record), which is predictable and readable. The slightly odd term 'open_record' is a minor deviation but the convention itself is consistent.
Three tools is lean but each maps to a distinct need (discovery, per-match detail, aggregate record). It is slightly thin for a data service but nothing feels redundant or missing at the top level.
Core flow — find matches, analyze a match, check the record — is covered, but notable gaps remain: no multi-day or date-range query, no league/team filtering, and no way to look up a specific match directly without a daily listing. These force workarounds for common agent requests.
Maintenance
Related MCP Connectors
Historical football results, draws and no-draw streaks. 11 read-only tools, 6 need no API key.
Free football match probabilities (Dixon-Coles), season projections and a public track record.
football-odds-history — historical football (soccer) results and odds from sportsbooks, sourced…
Public read-only football and cricket match tips from bettingtipsai.com.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive soccer/football data including standings, team search, league search, match predictions, and head-to-head records via the API-Football service.136 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables access to and analysis of a curated historical football database covering 37,000 matches across European competitions, with tools for team/player search, match details, form, head-to-head, comparisons, and match prediction.-
- AlicenseAqualityBmaintenanceProvides football fixtures, real results, and bet settlement with odds arithmetic, enabling AI agents to devig markets, evaluate prices, and settle picks without an API key.7MIT
- AlicenseNot gradedqualityCmaintenanceEnables clients to search, read, and verify sealed forecasts and public-record cards, inspect resolution calendars, engine strands, sensor alerts, and wire headlines, and check whether stories are independent events or echoes. All access is read-only and requires no key, account, or dependencies.3 npm1Apache 2.0