Stymie Golf

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

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
84%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,114token 数(工具定义)
~1.7 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.43%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "stymie-golf": {
      "url": "https://mcp-production-680d.up.railway.app/mcp"
    }
  }
}

远程端点

https://mcp-production-680d.up.railway.app/mcpstreamable-http

它能做什么

工具清单

工具(12)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_courses(query, state, city, zip, location, ...)

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",
  "properties": {
    "query": {
      "description": "Course name search (partial match)",
      "type": "string"
    },
    "state": {
      "description": "State/province code, e.g. IL, ON, NSW",
      "type": "string",
      "minLength": 2,
      "maxLength": 3
    },
    "city": {
      "description": "City name",
      "type": "string"
    },
    "zip": {
      "description": "US ZIP; use location for other places",
      "type": "string",
      "pattern": "^\\d{5}$"
    },
    "location": {
      "description": "Plain-language place, station, address, or US ZIP; find_nearby_courses is the recommended first step for trips",
      "type": "string",
      "maxLength": 200
    },
    "country": {
      "type": "string",
      "enum": [
        "US",
        "CA",
        "GB",
        "IE",
        "AU",
        "NZ"
      ]
    },
    "distance_miles": {
      "default": 50,
      "type": "number",
      "minimum": 1,
      "maximum": 50
    },
    "type": {
      "description": "Course type filter",
      "type": "string",
      "enum": [
        "public",
        "private",
        "semi_private",
        "municipal",
        "resort"
      ]
    },
    "holes": {
      "description": "Number of holes",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "9",
            "18",
            "27",
            "36"
          ]
        },
        {
          "type": "number",
          "const": 9
        },
        {
          "type": "number",
          "const": 18
        },
        {
          "type": "number",
          "const": 27
        },
        {
          "type": "number",
          "const": 36
        }
      ]
    },
    "page": {
      "default": 1,
      "description": "Page number",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "default": 20,
      "description": "Results per page (max 50)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_course(slug)

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",
  "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"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_scorecard(slug)

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",
  "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"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_architect(name, slug)

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",
  "properties": {
    "name": {
      "description": "Architect name, e.g. \"Robert Trent Jones Sr.\"",
      "type": "string"
    },
    "slug": {
      "description": "Architect slug, e.g. \"robert-trent-jones-sr\"",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_leaderboard(state, category, limit)

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",
  "properties": {
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "2-letter state code, e.g. \"NJ\""
    },
    "category": {
      "default": "hardest",
      "description": "Ranking category",
      "type": "string",
      "enum": [
        "hardest",
        "easiest",
        "longest"
      ]
    },
    "limit": {
      "default": 10,
      "description": "Number of results",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "state"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_tee_times(slug, date, players)

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",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Course full_slug"
    },
    "date": {
      "description": "Desired date (YYYY-MM-DD)",
      "type": "string"
    },
    "players": {
      "description": "Number of players",
      "type": "integer",
      "minimum": 1,
      "maximum": 4
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_stymie(query, state, limit)

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",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "A course, equipment model, brand, architect, destination, or golf topic"
    },
    "state": {
      "description": "Optional 2-letter state filter for course results",
      "type": "string",
      "minLength": 2,
      "maxLength": 3
    },
    "limit": {
      "default": 8,
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_equipment(query, category, limit)

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",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Brand and/or model name"
    },
    "category": {
      "type": "string",
      "enum": [
        "ball",
        "driver",
        "putter",
        "rangefinder",
        "launch_monitor"
      ]
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢find_nearby_courses(location, state, country, latitude, longitude, ...)

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",
  "properties": {
    "location": {
      "description": "Place name, transit station, address, or US ZIP; extract the place from the golfer’s sentence",
      "type": "string",
      "maxLength": 200
    },
    "state": {
      "description": "State/province code, e.g. IL, ON, or NSW, to disambiguate a place",
      "type": "string",
      "minLength": 2,
      "maxLength": 3
    },
    "country": {
      "description": "Country code to disambiguate a place; GB means UK",
      "type": "string",
      "enum": [
        "US",
        "CA",
        "GB",
        "IE",
        "AU",
        "NZ"
      ]
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "distance_miles": {
      "default": "25",
      "description": "Search radius in miles: one of 5, 10, 20, 25, 50",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "5",
            "10",
            "20",
            "25",
            "50"
          ]
        },
        {
          "type": "number",
          "const": 5
        },
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 20
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        }
      ]
    },
    "access": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "public",
        "private",
        "semi_private",
        "municipal",
        "resort"
      ]
    },
    "holes": {
      "description": "Total course holes; omit if flexible",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "9",
            "18",
            "27",
            "36"
          ]
        },
        {
          "type": "number",
          "const": 9
        },
        {
          "type": "number",
          "const": 18
        },
        {
          "type": "number",
          "const": 27
        },
        {
          "type": "number",
          "const": 36
        }
      ]
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢build_golf_trip(location, state, country, latitude, longitude, ...)

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",
  "properties": {
    "location": {
      "description": "Place name, station, address, or US ZIP; omit when reusing the nearby result coordinates",
      "type": "string",
      "maxLength": 200
    },
    "state": {
      "type": "string",
      "minLength": 2,
      "maxLength": 3
    },
    "country": {
      "description": "Country code to disambiguate a place; GB means UK",
      "type": "string",
      "enum": [
        "US",
        "CA",
        "GB",
        "IE",
        "AU",
        "NZ"
      ]
    },
    "latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "access": {
      "default": "public",
      "type": "string",
      "enum": [
        "all",
        "public",
        "private",
        "semi_private",
        "municipal",
        "resort"
      ]
    },
    "holes": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "9",
            "18",
            "27",
            "36"
          ]
        },
        {
          "type": "number",
          "const": 9
        },
        {
          "type": "number",
          "const": 18
        },
        {
          "type": "number",
          "const": 27
        },
        {
          "type": "number",
          "const": 36
        }
      ]
    },
    "number_of_courses": {
      "default": 2,
      "type": "integer",
      "minimum": 1,
      "maximum": 4
    },
    "distance_miles": {
      "default": "25",
      "description": "Search radius in miles: one of 5, 10, 20, 25, 50",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "5",
            "10",
            "20",
            "25",
            "50"
          ]
        },
        {
          "type": "number",
          "const": 5
        },
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 20
        },
        {
          "type": "number",
          "const": 25
        },
        {
          "type": "number",
          "const": 50
        }
      ]
    },
    "tee_yards_min": {
      "type": "integer",
      "minimum": 500,
      "maximum": 8500
    },
    "tee_yards_max": {
      "type": "integer",
      "minimum": 500,
      "maximum": 8500
    },
    "slope_min": {
      "type": "integer",
      "minimum": 55,
      "maximum": 155
    },
    "slope_max": {
      "type": "integer",
      "minimum": 55,
      "maximum": 155
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_deals(category, limit)

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",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "ball",
        "driver",
        "putter",
        "rangefinder",
        "launch_monitor"
      ]
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢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",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本12 个工具
已验证未记录版本12 个工具
已验证未记录版本13 个工具