timezone.football
Server Details
Where to watch football: licensed channel by country, kickoff in your time zone, verified prices.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools target different granularities (fixture list, competition-level rights, team/match-level broadcaster lookup), which helps, but 'matches' already returns the channel in a country and 'where_to_watch' also returns prices, so results overlap substantially with the other two. An agent asking 'where can I watch Arsenal this week?' could reasonably pick either 'matches' or 'where_to_watch'.
There is no predictable pattern across the three names: 'matches' is a bare plural noun, 'watch_competition' is verb_noun, and 'where_to_watch' is an interrogative phrase. Each is individually readable, but nothing about the naming lets an agent infer the shape of a tool it hasn't seen.
Three tools is lean but defensible for a narrow domain (fixtures, rights holders, broadcaster lookup), and each covers a real query shape rather than being padding. It sits slightly under what a full sports-broadcast service would need, but nothing is obviously extraneous.
Core lookups are covered, but there are notable gaps: no way to list the supported competitions or countries, no search/resolve operation for team or competition identifiers, and no reverse lookup (what's airing on a given channel/country right now). Agents must already know valid country and team strings to use any of these tools.
Available Tools
3 toolsmatchesFootball on TVARead-onlyIdempotentInspect
List upcoming football matches (next 14 days), optionally filtered by date, competition, team or country, with kickoff in local time and the channel in that country.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYY-MM-DD, in the given time zone. Omit for the next matches. | |
| team | No | ||
| limit | No | ||
| country | No | Show the channel for this country. | |
| timezone | No | IANA time zone for kickoff times and for interpreting date. | |
| competition | No | e.g. 'Premier League', 'champions-league'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real behavioral context the annotations don't: the fixed 14-day forward window, that kickoff times are rendered in local time, and that channel info is country-conditional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the core scope and the 14-day window front-loaded before the filter list. No filler, though the single-sentence form packs a lot of clauses without visual separation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does supply the shape of a result (match + local kickoff + channel) which is essential. For a 6-parameter, zero-required query tool it is close to complete; the only meaningful omission is pagination/limit behavior and default ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, so most parameters are already documented; the description's 'filtered by date, competition, team or country' largely restates them. It adds the useful interplay between country and the returned channel, but says nothing about the limit parameter, which is undocumented in the schema too.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List upcoming football matches') plus the scope (next 14 days) and the returned fields (kickoff in local time, channel). It does not name its siblings watch_competition or where_to_watch, so an agent must infer the boundary from the names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'optionally filtered by date, competition, team or country' implies the use cases, but there is no explicit statement of when to prefer this over where_to_watch (channel lookup) or watch_competition (per-competition view). Guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_competitionHow to watch a competition in a countryARead-onlyIdempotentInspect
Who holds the rights to a football competition in a country this season, the cheapest verified monthly price (each with source and date checked), and links to the country page and the price comparison. Prices are only returned when verified within the last 90 days.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country name or ISO code. | |
| competition | Yes | e.g. 'Premier League', 'La Liga', 'Champions League'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open world), so the description earns credit for going further: it discloses the 90-day verification window and warns that prices are only returned when freshly verified, which tells the agent results may be partially empty. It adds useful provenance context (source and date checked) but says nothing about coverage gaps for competitions with no rights data at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core answer (rights holder) and appends the qualifiers. Every clause carries information — price, verification, links — though the trailing 'links to the country page and the price comparison' is slightly run-on and could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description steps in to describe the return payload (rights holder, price with source and date, links) and the freshness rule, which is exactly what an agent needs to interpret results. It falls short only on how to disambiguate against the sibling where_to_watch and on what an empty/unverified result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry inline descriptions with examples, so the schema does the heavy lifting and baseline 3 applies. The description implies country and competition semantics (season, per-country rights) but adds no format, normalization, or disambiguation guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description frames a specific question — who holds the rights to a named competition in a named country this season — and enumerates what comes back (rights holder, cheapest verified monthly price, source/date, links). The resource is unambiguous even though it is phrased as an answer rather than a verb. It does not, however, distinguish itself from the sibling where_to_watch, which reads as overlapping in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this versus the closely-named sibling where_to_watch, nor any exclusion or prerequisite. The only scoping signal is implicit in the two required parameters (competition + country). An agent facing 'how do I watch X in Y' has to guess between this and where_to_watch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
where_to_watchWhere to watch a team or matchARead-onlyIdempotentInspect
Find where a football team's upcoming matches (or a specific match like 'Arsenal v Chelsea') are shown live in a given country, with the kickoff in local time, the licensed channel or stream, verified subscription prices where known, and a link to the full page. Covers the Premier League, La Liga, Serie A, Bundesliga, Ligue 1, Champions League, Europa League, domestic cups and internationals across 100+ countries.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | A team ('Liverpool') or a match ('Real Madrid v Barcelona'). | |
| country | Yes | Country the viewer is in, by name or ISO code, e.g. 'Nigeria', 'US', 'UK'. | |
| timezone | No | Optional IANA time zone for the kickoff, e.g. 'Asia/Dubai'. Defaults to the country's main zone. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: results include kickoff in local time, the licensed channel/stream, subscription prices 'where known' (a caveat that prices may be missing), and a link to a full page — useful disclosure for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and output contents are front-loaded in the first sentence, with the coverage envelope in the second. The league list is somewhat long but serves as a scope boundary; every sentence carries information, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 describe returns — and it does, enumerating local-time kickoff, channel/stream, prices and link. Combined with full schema coverage for all three parameters, an agent has enough to call it correctly; only the sibling routing (watch_competition vs matches) remains unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description reinforces that 'country' scopes the answer and that kickoff is returned in local time, but it says nothing about the optional timezone override or accepted country formats beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb ('Find where ... are shown live') with a concrete resource (team fixtures or a single match) and names the output fields. It does not, however, distinguish itself from the sibling watch_competition: the long league list it claims to cover ('Premier League, La Liga, Serie A...') plausibly overlaps with that tool, leaving the boundary implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by examples ('a specific match like Arsenal v Chelsea'), so an agent can infer the input shape, but there is no explicit when-to-use/when-not statement and no mention of watch_competition or matches as alternatives. The agent must guess which of the three watching tools to call for a competition-level query.
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.
3 tool updates
- First observed
matches - First observed
watch_competition - First observed
where_to_watch
Related MCP Connectors
Live football scores, fixtures, standings, lineups and player stats for 1400+ leagues.
Football fixtures, standings, and odds intelligence for AI agents.
Football fixtures, historical scores, team/venue profiles, archived squads and availability reports.
Football fixtures, live scores, standings, lineups, teams and players for 117 leagues and cups
Related MCP Servers
- AlicenseAqualityCmaintenanceTells you when your favourite football teams play and where to watch in Denmark, using data from TheSportsDB.com and built-in Danish broadcast hints.4MIT
- AlicenseAqualityCmaintenanceLive football/soccer data from top European leagues, enabling queries for standings, fixtures, scorers, and team comparisons via natural language.66 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides football analytics tools including player scouting, comparisons, market-value filters, expected-goals tables, match-by-match form, team attacking profiles, match search, shot maps, and more for 10 leagues.23 PyPI6GPL 3.0
- 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
Glama MCP Gateway
Add one secure layer between your agents and this server.