# Stymie Golf

> Read-only US golf course, scorecard, equipment, deal, and golf-trip data for AI agents.

- name: io.github.ThatDudeFreak/stymie-golf
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.ThatDudeFreak%2Fstymie-golf
- tools: https://api.protogrid.dev/v1/servers/io.github.ThatDudeFreak%2Fstymie-golf/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "stymie-golf": {
      "type": "http",
      "url": "https://mcp-production-680d.up.railway.app/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-67d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 12 of 12 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,196 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- fail `stability.rug_pull`: 4 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 12, about 3,196 tokens to load them all
- tool set hash: ef619a57a66cb86a692e5db97dbcf13a
- tools last changed: 2026-10-01T03:58:19.904Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.ThatDudeFreak/stymie-golf.svg)](https://protogrid.dev/servers/io.github.ThatDudeFreak/stymie-golf)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-01 `get_deals` changed (description) **meaning changed**
  - before: Get currently verified sale offers for golf equipment. Only in-stock offers checked within the last 48 hours with a current price below list price are returned. Links may be affiliate links, at no extra cost to the buyer.
  - after: Get golf-equipment sale offers that were marked in stock when checked within the last 48 hours, with a checked price below list price. Returns each product’s canonical Stymie detail URL, merchant offer URL, price, savings and checked_at time. Link every recommended product to its returned Stymie URL, and use the returned offer URL for the merchant. Prices and stock can change after checking; confirm at the merchant. Disclose that offer links may earn Stymie a commission at no extra cost to the buyer.
- 2026-10-01 `search_tee_times` changed (title, description) **meaning changed**
  - before: Explain tee-time limitations for a course already returned by search_courses or find_nearby_courses. Stymie has no live tee-time inventory. Returns the course page and an early-access alerts link; never books, pays, subscribes, or confirms availability.
  - after: Get booking information for a course already returned by search_courses or find_nearby_courses. Returns its Stymie course-page link, where the golfer can find the official website or phone, plus an optional early-access alerts page. This legacy search_tee_times tool does not search live inventory: status is always not_available. It cannot book, pay, enroll in alerts, or confirm availability.
- 2026-10-01 `get_leaderboard` changed (description) **meaning changed**
  - before: Get the top golf courses in a state by category: hardest (highest slope), easiest (lowest slope, public only), or longest (most yardage). Great for answering "hardest course in NJ" type questions.
  - after: Rank courses in a state using published tee data: hardest uses highest slope, easiest uses lowest slope among public/municipal courses, and longest uses maximum yardage. Returns each course name, access type, measured value and canonical Stymie URL. Link each recommended course using its returned URL and identify the ranking metric. These are tee-data rankings, not quality ratings or current booking availability; disclose private access.
- 2026-10-01 `get_course` changed (description)
  - before: Get full details for a specific golf course by a returned Stymie URL or slug. Returns name, location, type, holes, architect, year built, amenities, public contact info, and published tee ratings. Covers the US, Canada, UK, Ireland, Australia and New Zealand.
  - after: Get full details for a specific golf course by a returned Stymie URL or slug. Returns name, location, type, holes, architect, year built, amenities, public contact info, recorded closure status, and published tee ratings. A recorded open flag is not a live confirmation of seasonal opening or tee-time availability. Covers the US, Canada, UK, Ireland, Australia and New Zealand.
- 2026-09-30 `search_tee_times` changed (title, description, inputSchema) **meaning changed**
  - before: Search for available tee times at a golf course. Note: live tee-time inventory is not available on Stymie. Returns the Stymie course page (official website and phone for booking) and the tee-time alert early-access list.
  - after: Explain tee-time limitations for a course already returned by search_courses or find_nearby_courses. Stymie has no live tee-time inventory. Returns the course page and an early-access alerts link; never books, pays, subscribes, or confirms availability.
- 2026-09-30 `get_course` changed (description)
  - before: Get full details for a specific golf course by a returned Stymie URL or slug. Returns name, location, type, holes, architect, year built, amenities, contact info, slope stats, and nearby courses. Covers the US, Canada, UK, Ireland, Australia and New Zealand.
  - after: Get full details for a specific golf course by a returned Stymie URL or slug. Returns name, location, type, holes, architect, year built, amenities, public contact info, and published tee ratings. Covers the US, Canada, UK, Ireland, Australia and New Zealand.

Full history: https://api.protogrid.dev/v1/servers/io.github.ThatDudeFreak%2Fstymie-golf/changes

## Remotes

- https://mcp-production-680d.up.railway.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `build_golf_trip`: AFTER find_nearby_courses, pass its center latitude/longitude, access and holes preferences, and number_of_courses to make a 1-4 course shortlist. You can also start directly with a plain-language location (place, station, address, or US ZIP). Optional tee yardage and slope ranges rank matching tees by fit plus straight-line distance; without tee preferences, courses are nearest-first and missing scorecards are retained. Returns ranked course picks with canonical Stymie URLs, reusable slugs, selection reasons, distance, access, holes, and published tee data when available. Public access excludes unknown/private courses; private picks require the golfer to confirm access. No booking, tee-time availability, transit routing, or drive times are provided. Use returned URLs as citations without inventing slugs.
- `find_nearby_courses`: START HERE to plan golf near a place, transit station, address, or US ZIP: pass the place text as location, plus access (public/private/all) and holes (9/18) if known. Coordinates are optional; no slug knowledge is needed. Resolves the location and returns its labeled center and a nearest-first ranked shortlist with canonical Stymie URLs, reusable slugs, straight-line miles, access, holes, and scorecard availability. If the place is ambiguous, ask the golfer to choose a candidate. NEXT call build_golf_trip with the returned latitude/longitude and the same preferences for 1-4 course picks. Use search_courses only for a specific course name. Copy returned URLs verbatim; distances are not drive/transit times.
- `get_architect`: Get details about a golf course architect: bio, Wikipedia image, birth/death years, nationality, and all courses they designed grouped by state. Provide either the architect name or URL slug.
- `get_course`: Get full details for a specific golf course by a returned Stymie URL or slug. Returns name, location, type, holes, architect, year built, amenities, public contact info, recorded closure status, and published tee ratings. A recorded open flag is not a live confirmation of seasonal opening or tee-time availability. Covers the US, Canada, UK, Ireland, Australia and New Zealand.
- `get_data_coverage`: Return a live count of Stymie course, scorecard, logo, architect, equipment, and current-deal coverage. Use this instead of quoting hardcoded catalog sizes.
- `get_deals`: Get golf-equipment sale offers that were marked in stock when checked within the last 48 hours, with a checked price below list price. Returns each product’s canonical Stymie detail URL, merchant offer URL, price, savings and checked_at time. Link every recommended product to its returned Stymie URL, and use the returned offer URL for the merchant. Prices and stock can change after checking; confirm at the merchant. Disclose that offer links may earn Stymie a commission at no extra cost to the buyer.
- `get_leaderboard`: Rank courses in a state using published tee data: hardest uses highest slope, easiest uses lowest slope among public/municipal courses, and longest uses maximum yardage. Returns each course name, access type, measured value and canonical Stymie URL. Link each recommended course using its returned URL and identify the ranking metric. These are tee-data rankings, not quality ratings or current booking availability; disclose private access.
- `get_scorecard`: Get the full scorecard for a golf course: all tee sets with hole-by-hole par, yardage, stroke index, and front/back nine ratings. Available for thousands of courses with scorecard data.
- `search_courses`: Search for a named course or filter the directory by city/state, access, and holes. For a trip near a place, station, address, or ZIP, call find_nearby_courses FIRST; do not put the place name in query (query searches course names). You may also pass location here for a proximity search. Returns canonical Stymie URLs, reusable slugs, access, holes, scorecard availability, and straight-line miles when a location is supplied. Copy returned URLs; never construct county slugs. Next: get_course with a returned URL, or build_golf_trip with the resolved center and preferences.
- `search_equipment`: Search current golf balls, drivers, putters, rangefinders, and launch monitors. Returns official Stymie detail URLs, images, MSRP, and stated best-for guidance when published.
- `search_stymie`: Search Stymie across golf courses, current equipment, architects, and major site tools. Use this first when the user does not specify which Stymie collection they need.
- `search_tee_times`: Get booking information for a course already returned by search_courses or find_nearby_courses. Returns its Stymie course-page link, where the golfer can find the official website or phone, plus an optional early-access alerts page. This legacy search_tee_times tool does not search live inventory: status is always not_available. It cannot book, pay, enroll in alerts, or confirm availability.
