Skip to main content
Glama

AI Ball — AI football match analysis

Server Details

Football match outcome probabilities recorded before kick-off, and an open record of results.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
aiballfooty/aiball-mcp
GitHub Stars
0
Server Listing
AI Ball MCP server

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct facet: list_matches (fixtures/status), get_match_analysis (probabilities), get_match_context (H2H/form/injuries), and get_open_record (model track record). The two 'get_match_*' tools are close in name but clearly separated by content (predictions vs. supporting data), so confusion risk is low.

Naming Consistency5/5

All names use snake_case with a consistent verb_noun pattern, and the verb choice is semantically apt: get_ for single-resource lookups and list_ for the collection endpoint. No mixing of conventions.

Tool Count4/5

Four tools is a lean but sensible surface for a focused match-analysis server, with each tool earning its place. It sits at the thin edge of the range, with no room for the extra lookups (teams, leagues) some users might expect.

Completeness4/5

The core analysis workflow is covered: discover matches, get predictions, get supporting context, and check historical accuracy. Gaps are minor (no team/league lookup, no date-range listing beyond a single day or week), but agents can work around them.

Available Tools

4 tools
get_match_analysisGet outcome probabilities for a matchA
Read-onlyIdempotent
Inspect

Home / draw / away probabilities from each available model, the most likely outcome, the confidence, the pre-match favourite, when the reading was locked, and the result with a hit flag once the match has finished.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of team and league names.en
match_idYesMatch id from list_matches.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds useful behavioral context by enumerating the returned probability fields and noting that the result with a hit flag is available only after the match has finished.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense but well-structured sentence that front-loads the core probabilities before listing secondary fields. Every item listed maps to useful return information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and simple read-only annotations, the description supplies the return content an agent needs: model probabilities, likely outcome, confidence, favourite, lock time, and final result flag. It is complete enough for correct invocation of this retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already well documented in the input schema. The description does not add any meaning, syntax, or constraints for match_id or lang beyond what the schema provides, making the baseline of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource and the data returned: home/draw/away probabilities, most likely outcome, confidence, favourite, locked time, and final result flag. It does not explicitly compare itself to siblings like get_match_context or list_matches, so sibling differentiation is left to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to call this tool versus alternatives such as get_match_context or list_matches. It hints that result data is available once a match has finished, but does not state when or why an agent should choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_match_contextGet the context behind a matchB
Read-onlyIdempotent
Inspect

Head-to-head summary, recent form, injuries and suspensions, and schedule density, limited to what is shown publicly on the site.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of team and league names.en
match_idYesMatch id from list_matches.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and idempotency are covered structurally. The description adds one genuinely useful behavioral fact not in the annotations: results are 'limited to what is shown publicly on the site,' which tells the agent the payload may be partial or restricted. It says nothing about auth, rate limits, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence that front-loads the content list and ends with the scope caveat. Nothing is wasted, though the sentence is a bare noun phrase rather than a directive, which slightly weakens its framing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must carry the return-value burden, and it does by enumerating the four content areas the caller receives. Annotations cover the safety profile and the schema covers both parameters, so the only residual gap is how this differs from get_match_analysis.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: match_id is documented as coming from list_matches and lang is an enum with a default. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (match context) and enumerates what it contains: head-to-head, recent form, injuries/suspensions, schedule density. That is a concrete, non-tautological statement of purpose. It stops short of distinguishing itself from the sibling get_match_analysis, which sounds like it covers overlapping ground, so it misses the top band.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this tool, what prerequisites exist, or which sibling to choose instead. With get_match_analysis and list_matches present, the agent is left to infer the boundary entirely on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_open_recordGet the open recordA
Read-onlyIdempotent
Inspect

Hits out of matches for the public record, the pre-match favourite and random baselines on the same matches, results by confidence band, and snapshot coverage. Without week_start it covers the whole record; with it, that week only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tzNoIANA time zone used to decide which calendar day a match falls on.Asia/Kuala_Lumpur
langNoLanguage of team and league names.en
week_startNoYYYY-MM-DD, the Monday of the week. Optional.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety behavior is covered. The description adds useful scoping behavior: without week_start it covers the whole record, with it just that week, and it lists the aggregate dimensions returned (baselines, confidence bands, snapshot coverage).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and avoids unnecessary repetition. The first sentence lists outputs, but the phrasing 'Hits out of matches for...' is a bit dense and not immediately front-loaded with the core action, making it slightly less clear than ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and full parameter descriptions in the schema, the description adequately explains what data is returned and how the optional week_start parameter affects scope. It does not describe pagination or output format details, but for an aggregate summary tool this is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the effect of week_start: it scopes results to a single week instead of the whole record, which is not stated in the schema field description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific outputs: hit counts for the public record, pre-match favourite, and random baselines, results by confidence band, and snapshot coverage. It clearly identifies the resource as the 'open record' and what it contains, though it does not explicitly differentiate itself from sibling tools by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions that omitting week_start covers the whole record and including it restricts to that week, which gives implied usage. However, it does not state when to prefer this tool over alternatives like get_match_analysis or list_matches, nor does it provide any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_matchesList matches for a dateB
Read-onlyIdempotent
Inspect

Matches on one calendar day with their status: upcoming, pending (reading shown, not yet locked) or finished.

ParametersJSON Schema
NameRequiredDescriptionDefault
tzNoIANA time zone used to decide which calendar day a match falls on.Asia/Kuala_Lumpur
dateNoYYYY-MM-DD. Defaults to today in tz.
langNoLanguage of team and league names.en
leagueNoLeague name filter, optional.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world status, so the safety profile is fully covered. The description adds useful domain context by defining the three statuses (upcoming, pending with reading shown not yet locked, finished), but does not discuss pagination, ordering, or other operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no wasted words, front-loading the resource and day scope. It is a verbless fragment, which slightly reduces readability, but nothing is extraneous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with fully covered parameters and rich annotations, the description is adequate. However, with no output schema it only hints at return content via 'their status' and omits ordering, result shape, or relationship to the get_* detail siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (tz, date, lang, league) are already fully documented in the schema. The description adds no parameter-level meaning beyond that, which makes the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair implicitly (listing matches on one calendar day) and clarifies the three possible statuses. It is clear what the tool returns, though it does not explicitly differentiate itself from siblings like get_match_analysis or get_match_context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the phrase 'Matches on one calendar day' – an agent can infer this is the listing entry point. There is no explicit when-to-use, when-not-to-use, or routing to the sibling get_match_analysis for deeper detail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_match_analysis
    • First observedget_match_context
    • First observedget_open_record
    • First observedlist_matches

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    7
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables users to record probabilistic judgments in an immutable ledger, automatically score them against outcomes, and analyze systematic biases across six classification layers. It supports natural-language interaction for logging predictions, checking randomness, and auditing data integrity while avoiding advice or replacing user judgment.
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Provides soccer match predictions and league statistics using xG data and Poisson distribution models. It enables users to forecast outcomes, analyze team performance, and view league tables across major European football leagues.
    3
    GPL 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.