Skip to main content
Glama

Search GolfCore

search
Read-onlyIdempotent

Search everything GolfCore holds for more than 30,000 golf courses in more than 180 countries and territories. Ask by course name ('Pebble Beach'), by its name in local script ('宮崎カントリークラブ'), by architect ('Donald Ross'), by slug ('pebble-beach'), by place, passing just the place name ('St Andrews', 'Monterey'), or about GolfCore itself ('what does a caddie master use GolfCore for'). A course comes back with its address, town, region, country, coordinates, timezone, phone and website, its architect and the year it opened where known, and its name in Japanese or Korean script where that differs; flags for what GolfCore has mapped -- lidar green contours, a traced map of fairways, tees, greens, bunkers and water, a live wind grid, a scorecard, USGA ratings; and, when scope includes scorecards, its full card: par, yardage and stroke index for every hole, and yardage, par, course rating and slope rating for every tee, separately for men and women. Places come back as the town, region or country page that counts and lists every course there. Pages come from GolfCore's own site. Every result carries the url to cite, and a course's page carries the green figures this tool does not: greens mapped, contour count and interval, largest green elevation span, steepest measured slope, and tree canopy. For 'courses near me' or 'near this hotel', pass near with the person's coordinates: courses come back nearest first with their distance in miles, and query may be left empty. Each course also carries app_url, the link that opens that course's map in the GolfCore app, in a browser or on a phone, with no account needed to start; append &hole=N to open on a given hole.

Input Schema

NameRequiredDescriptionDefault
nearNoOptional. A point to search around, such as the person's location or their hotel. Courses come back nearest first, each with its distance in miles.
limitNoResults per scope. Default 5, maximum 20.
queryNoWhat you are looking for, in plain English. May be empty when near is given; with near, it filters courses by name or town.
scopeNoOptional. Narrow the search to these scopes: 'slug' treats the query as a GolfCore course slug and returns that exact course, 'courses' matches courses by name and town, 'scorecards' attaches each course's per-hole card and tee ratings to it, 'city', 'region' and 'country' return pages that count and list every course in a place, 'product' returns GolfCore's own pages. Omit to search all of them. Combine freely, e.g. ["slug","scorecards"] for one exact card, or ["city","courses"]. Leave 'scorecards' out when you only need to know which courses exist; the cards are large.
coverageNoOptional. Only courses GolfCore has this for: 'contours' lidar green contour maps, 'traced' a traced course map, 'scorecard' a hole-by-hole card, 'rated' USGA course and slope ratings.
radius_milesNoOptional, with near. How far to look, in miles. Default 25, maximum 250.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / coverage
      Added value: +{
      +  "description": "Optional. Only courses GolfCore has this for: 'contours' lidar green contour maps, 'traced' a traced course map, 'scorecard' a hole-by-hole card, 'rated' USGA course and slope ratings.",
      +  "enum": [
      +    "contours",
      +    "traced",
      +    "scorecard",
      +    "rated"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / near
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Optional. A point to search around, such as the person's location or their hotel. Courses come back nearest first, each with its distance in miles.",
      +  "properties": {
      +    "lat": {
      +      "maximum": 90,
      +      "minimum": -90,
      +      "type": "number"
      +    },
      +    "lng": {
      +      "maximum": 180,
      +      "minimum": -180,
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "lat",
      +    "lng"
      +  ],
      +  "type": "object"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"What you are looking for, in plain English."New value: +"What you are looking for, in plain English. May be empty when near is given; with near, it filters courses by name or town."
    • addedInput schema / properties / radius_miles
      Added value: +{
      +  "description": "Optional, with near. How far to look, in miles. Default 25, maximum 250.",
      +  "type": "number"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  2. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial behavior beyond that: results ordered nearest-first with mileage, per-scope limits, a size warning about scorecards, a citable url on every result, and app_url that opens a course map with no account needed.

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?

Information density is high and there is little filler, but the opening is a single ~120-word run-on sentence packing corpus size, query modes, result fields and flags together. The near/app_url guidance lands late and structure would benefit from breaking out return-shape details.

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, the description carries the return-value burden and does so thoroughly: per-course fields, scope-dependent scorecard contents, place pages, green figures, url and app_url. For a 6-parameter, zero-required search tool this leaves nothing an agent needs missing.

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 the schema already documents near, query, scope, limit, coverage and radius_miles, including the near+query interplay. The description largely restates this (near ordering, empty query with near) without adding new syntax or constraints, 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?

States a specific verb (search) and resource (everything GolfCore holds: courses, places, product pages) with concrete query modes (name, local script, architect, slug, place, product). It is unmistakably a search tool, but it never names or differentiates itself from siblings like ask_caddie or distance_to_flag, so the reader must infer the boundary.

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?

Gives real situational guidance: use near with coordinates for 'courses near me'/'near this hotel', leave query empty in that case, and omit 'scorecards' when you only need to know which courses exist because cards are large. No explicit when-not-to-use or named alternative tool, which keeps it below a 5.

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