golfdata.online — verified golf clubs
Server Details
Verified golf clubs in Spain and Europe: facts, booking links and sources. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool maps to a distinct action on a distinct need: search_clubs for discovery, get_club for detail retrieval, list_sources_for for provenance. Descriptions explicitly cross-reference each other (search returns summaries, then call get_club/list_sources_for), leaving no overlap or ambiguity.
All names use snake_case with a verb_noun pattern (get_club, list_sources_for, search_clubs), which is predictable and readable. The only minor wrinkle is list_sources_for, which has a dangling preposition rather than a clean noun object.
Three tools is on the lean side but well-matched to a read-only verified-data server: search, fetch, and cite-provenance. No tool feels redundant, though the surface is minimal enough that it borders on thin.
For a read-only verified-clubs dataset, the lifecycle is covered: discover (search), retrieve (get), and verify provenance (list_sources). Missing only optional niceties like filtering or bulk retrieval, which agents can work around via search.
Available Tools
3 toolsget_clubARead-onlyInspect
Get one approved club by UUID or slug, with all facts and sources[] (max 200; sources_truncated: true if cut).
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_slug | Yes | UUID or slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds real behavioral detail beyond them: sources are capped at 200 and a sources_truncated flag signals when the list was cut. That is exactly the kind of response-shaping behavior an agent needs and cannot get from the annotations. It still says nothing about not-found or unapproved-club behavior.
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 sentence, front-loaded with the verb and resource, then the identifier and the truncation caveat. Every clause earns its place with 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 usefully sketches the return shape (facts plus sources[] and the truncation flag) and confirms the read-only nature via annotations. Only error/empty-result behavior is unaddressed, which is a minor gap for a single-parameter lookup tool.
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 the single parameter is fully documented as 'UUID or slug', which the description merely restates. With one well-documented parameter, the schema carries the load and the description adds no format, casing, or slug-resolution nuance.
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 ('Get one approved club') plus the lookup key (UUID or slug) and the scope ('approved'), which contrasts naturally with the plural search_clubs. It stops short of naming siblings explicitly, so an agent must infer the boundary rather than being told it.
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?
The description implies when to use it (single-record retrieval when you already have an identifier) but never states when to prefer search_clubs or list_sources_for instead, nor any prerequisites. Usage is left to inference from the singular/identifier-based framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sources_forARead-onlyInspect
List provenance (source URL, publisher, trust level, field, retrieved_at) for a club (max 200; sources_truncated: true if cut).
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | Yes | Entity UUID | |
| entity_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing a hard result cap (max 200) and a truncation signal (sources_truncated: true if cut), which is real behavioral context an agent needs to detect incomplete results.
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 no wasted words; the resource and the return fields lead, and the limit/truncation caveat is packed into a trailing parenthetical where it belongs. Every clause carries information.
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 usefully enumerates the returned provenance fields and the truncation flag, and the 2-parameter surface is small. What is missing is minor: no ordering guarantee and no guidance on what to do when sources_truncated is true (e.g., no pagination path).
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 50%: entity_id is documented ('Entity UUID') but entity_type has no schema description. The description partially compensates by specifying the entity is a club, matching the single enum value, but adds no syntax or format guidance beyond that. Baseline 3 is appropriate.
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?
'List provenance ... for a club' states a specific verb and resource and enumerates the returned fields (source URL, publisher, trust level, field, retrieved_at), which is far more specific than the bare name. It does not explicitly differentiate from get_club/search_clubs, but the provenance-listing scope is plainly distinct from those.
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?
The phrase 'for a club' implies the usage context (fetch sourcing/provenance for a known club entity), but there is no explicit when-to-use vs when-not, no statement of prerequisites, and no pointer to an alternative for broader searches. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_clubsARead-onlyInspect
Search approved golf clubs/courses in Spain (Canary Islands first, mainland Spain being added). Returns summary records (last_verified; no sources[]); call get_club or list_sources_for for provenance before citing.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Name fragment | |
| island | No | ||
| municipality | No | Municipality |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnlyHint=true, openWorldHint=false), so the description usefully adds that results are summary records containing last_verified and deliberately omitting sources[]. That tells the agent what it will and won't receive and why a follow-up call is needed, though pagination/limit behavior is left unaddressed.
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?
Two dense sentences, no filler, and the scope constraint plus the provenance caveat are front-loaded so the agent learns the limits of the results before deciding to call.
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 carries the burden of describing returns and does so adequately (summary records, last_verified present, sources[] absent, follow-up tools named). The only meaningful gap is the absence of any parameter or result-count guidance.
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 only 50% (query and municipality documented; limit and island not), and the description contributes nothing about any parameter — no guidance on how query matches, how island and municipality combine, or what limit controls. With half the parameters undocumented in both places, the description fails to compensate.
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 (Search) and resource (approved golf clubs/courses) with an explicit geographic scope (Spain, Canary Islands first, mainland being added). The closing clause names the sibling tools get_club and list_sources_for, so the agent can tell this apart from them without opening either schema.
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?
Clearly routes the agent to get_club or list_sources_for when provenance is needed before citing, which is real alternative-selection guidance. It stops short of stating when this search is the right entry point versus other discovery paths, but the context is unambiguous.
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
get_club - First observed
list_sources_for - First observed
search_clubs
Related MCP Connectors
Read-only US golf course, scorecard, equipment, deal, and golf-trip data for AI agents.
EDGA Tour results, policies, club templates, course search and course-development guidance.
First-party Spanish and Portuguese property listings with notary-verified prices.
Live coupons, promo codes and deals from online shops in Spain. Read-only, no login.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides access to official Spanish fiscal data and tools based on AEAT and BOE sources, covering income tax, VAT, and regional deductions. It enables AI assistants to answer tax-related queries and verify filing deadlines using verified information.1013 npm13MIT
- AlicenseAqualityBmaintenanceEnables AI agents to look up official cadastral parcels across 31 European country and region codes by reference, coordinates, or free-text Spanish address, returning location, area, land use, and outlines while also estimating solar and agricultural potential, market prices, and investment scores.9107 npm1MIT
- FlicenseNot gradedqualityDmaintenanceGet programmatic access to 170,000+ verified B2B companies in Spain. Featuring a highly-curated premium subset of 26,000+ CEO direct dials and mobile phones. Bypassing legacy corporate gatekeepers has never been cheaper.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform due diligence, KYB, and supplier or client verification by querying Spanish company registry data cross-referenced with public grants and procurement awards, each fact linking to its official publication.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.