MCP 서버

Stymie Golf

io.github.ThatDudeFreak/stymie-golf
커머스 및 리테일 지도 및 위치 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Provides golf-course discovery, location-based course searches, scorecards, architect information, equipment searches, verified equipment deals, and golf-trip shortlists.

build_golf_trip
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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'holes': {'anyOf': [{'enum': ['9', '18', '27', '36'], 'type': 'string'}, {'type': 'number', 'const': 9}, {'type': 'number', 'const': 18}, {'type': 'number', 'const': 27}, {'type': 'number', 'const': 36}]}, 'state': {'type': 'string', 'maxLength': 3, 'minLength': 2}, 'access': {'enum': ['all', 'public', 'private', 'semi_private', 'municipal', 'resort'], 'type': 'string', 'default': 'public'}, 'country': {'enum': ['US', 'CA', 'GB', 'IE', 'AU', 'NZ'], 'type': 'string', 'description': 'Country code to disambiguate a place; GB means UK'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'location': {'type': 'string', 'maxLength': 200, 'description': 'Place name, station, address, or US ZIP; omit when reusing the nearby result coordinates'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'slope_max': {'type': 'integer', 'maximum': 155, 'minimum': 55}, 'slope_min': {'type': 'integer', 'maximum': 155, 'minimum': 55}, 'tee_yards_max': {'type': 'integer', 'maximum': 8500, 'minimum': 500}, 'tee_yards_min': {'type': 'integer', 'maximum': 8500, 'minimum': 500}, 'distance_miles': {'anyOf': [{'enum': ['5', '10', '20', '25', '50'], 'type': 'string'}, {'type': 'number', 'const': 5}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 20}, {'type': 'number', 'const': 25}, {'type': 'number', 'const': 50}], 'default': '25', 'description': 'Search radius in miles: one of 5, 10, 20, 25, 50'}, 'number_of_courses': {'type': 'integer', 'default': 2, 'maximum': 4, 'minimum': 1}}}
find_nearby_courses
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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'holes': {'anyOf': [{'enum': ['9', '18', '27', '36'], 'type': 'string'}, {'type': 'number', 'const': 9}, {'type': 'number', 'const': 18}, {'type': 'number', 'const': 27}, {'type': 'number', 'const': 36}], 'description': 'Total course holes; omit if flexible'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'state': {'type': 'string', 'maxLength': 3, 'minLength': 2, 'description': 'State/province code, e.g. IL, ON, or NSW, to disambiguate a place'}, 'access': {'enum': ['all', 'public', 'private', 'semi_private', 'municipal', 'resort'], 'type': 'string', 'default': 'all'}, 'country': {'enum': ['US', 'CA', 'GB', 'IE', 'AU', 'NZ'], 'type': 'string', 'description': 'Country code to disambiguate a place; GB means UK'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'location': {'type': 'string', 'maxLength': 200, 'description': 'Place name, transit station, address, or US ZIP; extract the place from the golferâ\x80\x99s sentence'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'distance_miles': {'anyOf': [{'enum': ['5', '10', '20', '25', '50'], 'type': 'string'}, {'type': 'number', 'const': 5}, {'type': 'number', 'const': 10}, {'type': 'number', 'const': 20}, {'type': 'number', 'const': 25}, {'type': 'number', 'const': 50}], 'default': '25', 'description': 'Search radius in miles: one of 5, 10, 20, 25, 50'}}}
get_architect
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'description': 'Architect name, e.g. "Robert Trent Jones Sr."'}, 'slug': {'type': 'string', 'description': 'Architect slug, e.g. "robert-trent-jones-sr"'}}}
get_course
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, contact info, slope stats, and nearby courses. Covers the US, Canada, UK, Ireland, Australia and New Zealand.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Paste the canonical Stymie course URL or reusable slug returned by search_courses, find_nearby_courses, or build_golf_trip'}}}
get_data_coverage
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
get_deals
Get Deals
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'category': {'enum': ['ball', 'driver', 'putter', 'rangefinder', 'launch_monitor'], 'type': 'string'}}}
get_leaderboard
Get Leaderboard
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['state'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'Number of results'}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': '2-letter state code, e.g. "NJ"'}, 'category': {'enum': ['hardest', 'easiest', 'longest'], 'type': 'string', 'default': 'hardest', 'description': 'Ranking category'}}}
get_scorecard
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Paste the canonical Stymie course URL or reusable slug returned by search_courses, find_nearby_courses, or build_golf_trip'}}}
search_courses
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.
읽기 전용 외부 접근 가능 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'zip': {'type': 'string', 'pattern': '^\\d{5}$', 'description': 'US ZIP; use location for other places'}, 'city': {'type': 'string', 'description': 'City name'}, 'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page number'}, 'type': {'enum': ['public', 'private', 'semi_private', 'municipal', 'resort'], 'type': 'string', 'description': 'Course type filter'}, 'holes': {'anyOf': [{'enum': ['9', '18', '27', '36'], 'type': 'string'}, {'type': 'number', 'const': 9}, {'type': 'number', 'const': 18}, {'type': 'number', 'const': 27}, {'type': 'number', 'const': 36}], 'description': 'Number of holes'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Results per page (max 50)'}, 'query': {'type': 'string', 'description': 'Course name search (partial match)'}, 'state': {'type': 'string', 'maxLength': 3, 'minLength': 2, 'description': 'State/province code, e.g. IL, ON, NSW'}, 'country': {'enum': ['US', 'CA', 'GB', 'IE', 'AU', 'NZ'], 'type': 'string'}, 'location': {'type': 'string', 'maxLength': 200, 'description': 'Plain-language place, station, address, or US ZIP; find_nearby_courses is the recommended first step for trips'}, 'distance_miles': {'type': 'number', 'default': 50, 'maximum': 50, 'minimum': 1}}}
search_equipment
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Brand and/or model name'}, 'category': {'enum': ['ball', 'driver', 'putter', 'rangefinder', 'launch_monitor'], 'type': 'string'}}}
search_stymie
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'A course, equipment model, brand, architect, destination, or golf topic'}, 'state': {'type': 'string', 'maxLength': 3, 'minLength': 2, 'description': 'Optional 2-letter state filter for course results'}}}
search_tee_times
Search Tee Times
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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['slug'], 'properties': {'date': {'type': 'string', 'description': 'Desired date (YYYY-MM-DD)'}, 'slug': {'type': 'string', 'description': 'Course full_slug'}, 'players': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'Number of players'}}}
삭제됨
get_reviews
2026년 9월 23일 2:49 AM
변경됨
build_golf_trip
2026년 9월 23일 2:49 AM
변경됨
find_nearby_courses
2026년 9월 23일 2:49 AM
변경됨
search_stymie
2026년 9월 23일 2:49 AM
변경됨
get_scorecard
2026년 9월 23일 2:49 AM
변경됨
get_course
2026년 9월 23일 2:49 AM
변경됨
search_courses
2026년 9월 23일 2:49 AM
변경됨
build_golf_trip
2026년 9월 21일 2:56 AM
변경됨
find_nearby_courses
2026년 9월 21일 2:56 AM
변경됨
search_tee_times
2026년 9월 21일 2:56 AM
변경됨
get_reviews
2026년 9월 21일 2:56 AM
추가됨
get_data_coverage
2026년 9월 17일 12:52 PM
추가됨
get_deals
2026년 9월 17일 12:52 PM
추가됨
build_golf_trip
2026년 9월 17일 12:52 PM
추가됨
find_nearby_courses
2026년 9월 17일 12:52 PM
추가됨
search_equipment
2026년 9월 17일 12:52 PM
추가됨
search_stymie
2026년 9월 17일 12:52 PM
추가됨
search_tee_times
2026년 9월 17일 12:52 PM
추가됨
get_leaderboard
2026년 9월 17일 12:52 PM
추가됨
get_architect
2026년 9월 17일 12:52 PM
추가됨
get_reviews
2026년 9월 17일 12:52 PM
추가됨
get_scorecard
2026년 9월 17일 12:52 PM
추가됨
get_course
2026년 9월 17일 12:52 PM
추가됨
search_courses
2026년 9월 17일 12:52 PM