Enables soccer match predictions and provides xG statistics and league tables for the Premier League using data-driven Poisson models.
Click on "Install 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., "@GoalGorithm MCP Serverpredict the outcome of the Arsenal vs Chelsea match"
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.
GoalGorithm MCP Server
Soccer match predictions using xG data and Poisson distribution, exposed as MCP tools for Claude Desktop/Code.
Install
Or run directly:
Claude Desktop Config
Add to your Claude Desktop config (claude_desktop_config.json):
Example Usage
Once configured, just ask Claude naturally:
You: "Predict Arsenal vs Chelsea this weekend"
Claude will call the predict_match tool and respond with something like:
Claude: Here's the prediction for Arsenal vs Chelsea (Premier League):
Outcome
Probability
Arsenal Win
52.4%
Draw
22.7%
Chelsea Win
24.9%
Expected Goals: Arsenal 1.85 — Chelsea 1.23
Over 2.5 Goals: 58.3% | Under 2.5: 41.7%
Both Teams to Score: Yes 52.1% | No 47.9%
Most Likely Scores: 1-0 (12.8%), 1-1 (11.2%), 2-1 (10.5%)
Arsenal are clear favorites at home with stronger attacking xG.
Other things you can ask:
"Show me the La Liga xG table" — calls
get_league_table"Which leagues are available?" — calls
list_leagues"Who's more likely to win, Bayern or Dortmund?" — calls
predict_match
Tools
predict_match
Predict soccer match outcome using xG-based Poisson model.
Returns: win/draw/loss %, over/under 2.5, BTTS, top 3 scores, expected goals, score matrix.
list_leagues
List all supported soccer leagues with IDs and slugs.
get_league_table
Get all teams in a league with their xG statistics, sorted by attacking strength.
Supported Leagues
ID | League | Slug |
9 | Premier League | EPL |
12 | La Liga | LaLiga |
11 | Serie A | SerieA |
20 | Bundesliga | Bundesliga |
13 | Ligue 1 | Ligue1 |
How It Works
Fetches team xG/xGA stats from Understat.com
Computes attack/defense strength relative to league average
Applies Poisson distribution to calculate goal probabilities
Builds 6x6 score matrix for all possible scorelines (0-5 goals each)
Derives match outcomes: W/D/L, Over/Under 2.5, BTTS
Data Source
All data from Understat.com public JSON API. Results cached locally for 12 hours.
License
GPL v2 or later