Skip to main content
Glama

Weekend Goals

Find football matches near a place

find_matches_near
Read-onlyIdempotent

Upcoming football matches within a distance of a point, given as latitude and longitude, between two dates, with the cheapest ticket price we hold. Supports locations outside named cities and the same budget, men's or women's, squad and top-competitions filters as find_matches. url is the match's page on weekendgoals.com, listing every seller and price we hold.

Input Schema

NameRequiredDescriptionDefault
toNoLast day, YYYY-MM-DD, any date ahead. 7 days after the first unless given, and at most 31 days after it.
fromNoFirst day, YYYY-MM-DD. Today unless given.
limitNoHow many matches to return, 20 unless given, at most 50.
squadNosenior, reserve or youth: which side plays. Leaves out competitions classified otherwise.
genderNomen or women: who plays. Leaves out competitions classified the other way.
currencyNoThe currency to show prices in: the one the user wrote their budget in or uses where they are. When absent, maxPrice's currency, else USD.
latitudeYesLatitude of the point to search around, for example 38.72.
maxPriceNoKeep only matches whose cheapest ticket costs at most this. The budget is compared with every ticket at today's exchange rate; a match priced only in a currency with no rate is kept and marked priceNotConverted, and a match with no price is left out.
radiusKmNoHow far from the point to look, in kilometres: 50 unless given, at most 200.
longitudeYesLongitude of the point to search around, for example -9.14.
topRanksOnlyNoTrue to keep only the matches of the highest-ranked competitions found, for example the top division rather than the lower leagues. Friendlies are left out.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: prices reflect 'the cheapest ticket price we hold' and `url` points at a weekendgoals.com page listing every seller and price. It does not cover result ordering, pagination, or what happens when no matches fall in the radius, which matters since there is 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.

Conciseness5/5

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

Three tight clauses: what it returns, where it applies and which filters carry over, then the meaning of the returned `url`. Nothing is repeated from the schema and the geo/date/price framing is front-loaded.

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?

For an 11-parameter tool with a nested object and no output schema, the description covers the domain (radius search, date window, budget filtering) and explains one returned field. Small gaps remain around result ordering and empty-result behavior, but the parameter-level defaults and constraints are fully documented in the schema.

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%, including defaults, bounds and the maxPrice conversion rules, so the schema does the heavy lifting. The description only adds a cross-reference that the budget/gender/squad/top-competition filters behave as in find_matches, which slightly clarifies semantics but adds no syntax or format detail.

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

Purpose5/5

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

The description names a specific verb and resource ('Upcoming football matches') plus the two defining constraints of the tool: a lat/long radius and a date range. It explicitly differentiates from the sibling by stating it 'Supports locations outside named cities', so an agent can tell this apart from find_matches without reading either schema.

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

Usage Guidelines4/5

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

It gives clear selection context by framing this as the tool for places that aren't named cities and by stating the filter set is identical to find_matches. It stops short of an explicit exclusion such as 'if you have a city name, use find_matches instead', so the reverse routing decision is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources