关于 Golf Course Data by Stracka
Golf Course Data by Stracka 将 StrackaGolf 每日更新的专有球场数据提供给开发者和高尔夫应用。它通过 MCP 暴露免费搜索及按积分计费的记分卡、GPS、球场详情和果岭坡度数据。
主要功能
- 01免费搜索球场组
- 02获取球场记分卡
- 03查询球场 GPS 几何与坐标
- 04查看详细球场数据
- 05获取果岭坡度图像
适用场景
- 01查找球场并确认匹配项
- 02为应用加载球场记分卡数据
- 03获取球场地图坐标和几何信息
- 04查看果岭坡度图像
MCP 相关
提供托管 Streamable HTTP MCP 服务,也支持本地 stdio 服务。付费工具调用需要显式设置 confirm_spend=true。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.golfintelligence.com/mcpclaude mcp add --transport http golf-data-golf https://mcp.golfintelligence.com/mcp{"mcpServers":{"golf-data-golf":{"type":"http","url":"https://mcp.golfintelligence.com/mcp"}}}在 Cursor 中打开{"servers":{"golf-data-golf":{"type":"http","url":"https://mcp.golfintelligence.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"golf-data-golf":{"type":"http","url":"https://mcp.golfintelligence.com/mcp"}}}{"mcpServers":{"golf-data-golf":{"serverUrl":"https://mcp.golfintelligence.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Stracka 高尔夫球场数据
Stracka 高尔夫球场数据。仅包含 StrackaGolf 专有球场数据, 每日更新。搜索免费。可通过 API 获取记分卡、GPS 和 3D 果岭数据。
Golf Intelligence 提供每日更新的 StrackaGolf 专有球场数据。 了解更多信息,请访问 golfintelligence.com。
此仓库是可安装的 Cursor / Grok Bot 插件,标识为
golf。Cursor 市场应用的源代码位于公开 GitHub URL:
https://github.com/golf-data/golf
市场审核人员可在 cursor.com/marketplace/publish 提交该 URL。目录标题为 Stracka 高尔夫球场数据。
随附的 mcp.json 通过 Streamable HTTP 连接到托管 MCP 服务
https://mcp.golfintelligence.com/mcp,因此安装插件无需依赖本地 Node 构建。你的控制台凭据会作为 X-GI-Client-ID 和 X-GI-Active-Token 标头传递,这些标头的值来自 .cursor-plugin/plugin.json 中声明的插件变量。
早期版本会针对插件相对路径 dist/index.js 运行 node。
Cursor 不会展开 Agent Plugins 的 ${PLUGIN_ROOT} 变量,因此该占位符会原样传递给 Node,导致连接器报错:
Cannot find module '.../${PLUGIN_ROOT}/dist/index.js'。托管连接器彻底消除了这类故障。
mcp.stdio.json 保留了供离线和开发使用的本地 stdio 服务。它不会自动发现;请将其中的 golf 条目复制到 .cursor/mcp.json(在检出目录中使用 ${workspaceFolder}),或将 mcpServers 指向它。任何本地 stdio 配置都必须使用 ${CURSOR_PLUGIN_ROOT},不能使用 ${PLUGIN_ROOT}。已提交的 dist/index.js 捆绑文件包含在仓库和 MCPB 包中,因此无需先运行构建即可使用 stdio 路径。
官方 MCP Registry 名称为 io.github.golf-data/golf。Registry 不接受单独的 golf 名称。Cursor、Agent Plugins 和 Claude Code 的插件标识仍为 golf。
获取 API 访问权限
无需密码即可登录 console.golfintelligence.com:在登录页面输入电子邮件,申请验证码,然后在收到验证码后输入。创建 API Account,并配置插件所需的两个变量:
GI_CLIENT_ID:你的 Client IDGI_ACTIVE_TOKEN:你的 Active Token
Active Token 会兑换为短期有效的 bearer token。它本身不是 bearer token;请勿将 bearer token 粘贴到 GI_ACTIVE_TOKEN 中。
请使用你自己的控制台账户凭据。本项目不提供演示令牌。
套餐按月计费,可在控制台自行升级或降级:
- **Tester:**每月 $49,包含每月 100 个积分。
- **Starter:**每月 $399,包含每月 10,000 个积分。
如需账单、积分、套餐、登录或凭据方面的帮助,请发送电子邮件至 [email protected]。如需了解球场数据更新,请发送电子邮件至 [email protected]。
工具和积分
务必先搜索。search_course_groups 免费。每次付费调用前,用户都必须明确确认所列费用;除非 confirm_spend=true,否则服务端会拒绝付费工具调用。
| 工具 | 返回内容 | 积分 |
|---|---|---|
search_course_groups | 球场组搜索结果 | 0 |
get_course_group_scorecard | 记分卡数据 | 1 |
get_course_group_gps | 球场映射几何数据和坐标 | 2 |
get_course_group_detail | 球场组详细数据 | 3 |
get_green_slope_image | 纵向或正方形果岭坡度图像 | 1 |
身份验证
本地 stdio 服务和旧版的每用户 HTTP 凭据标头会将配置的凭据发送给:
POST https://api.golfintelligence.com/auth/authenticateToken
grant_type=client_credentials
code=<GI_ACTIVE_TOKEN>
client_id=<GI_CLIENT_ID>
它会将返回的 access_token 作为 Authorization: Bearer <access_token> 发送,仅在内存中缓存,并在 HTTP 401 后刷新一次。凭据绝不会被记录到日志中。
托管 MCP 还为 ChatGPT 实现了 OAuth 2.1 授权码流程,并使用 S256 PKCE。专用授权页面接受每位用户自己的控制台 Client ID 和 Active Token,使用 Golf Intelligence 验证这些凭据,并将该账户绑定到加密的访问令牌和刷新令牌。有关发现 URL、OpenAI 门户设置、审核步骤和部署密钥,请参阅 docs/OPENAI-CHATGPT-OAUTH.md。
Streamable HTTP
可通过官方 MCP Streamable HTTP 传输访问托管 MCP:
https://mcp.golfintelligence.com/mcp
生产环境的 HTTP 入口会在 /mcp 提供该传输,并在 /health 提供健康检查。为验证 OpenAI Apps 域名,如果设置了 OPENAI_APPS_CHALLENGE_TOKEN(或 OPENAI_APPS_CHALLENGE),它还会以 text/plain 响应 GET /.well-known/openai-apps-challenge;否则该路径会返回 404。在本地启动 HTTP 服务:
npm run build
PORT=3000 npm run start:http
它会绑定到 0.0.0.0:$PORT。现有的 node dist/index.js stdio 入口和所有插件包均保持不变。
HTTP 服务接受以下任一形式的 Golf Intelligence 身份信息:
- 用户使用自己的 GI 账户登录后,由此服务签发的 OAuth bearer 令牌。
- 现有插件安装在每个 MCP 请求中同时提供的旧版
X-GI-Client-ID和X-GI-Active-Token标头。
本服务有意不提供全服务通用的 GI_CLIENT_ID / GI_ACTIVE_TOKEN 回退机制。HTTP 入口会忽略这些环境变量,因此匿名调用者无法继承部署账户或消耗其额度。缺少 OAuth 或 OAuth 无效时,会返回带有 OAuth 受保护资源质询的 HTTP 401。Active Token 是用于交换的凭据,不得作为 Authorization: Bearer 值发送。
每个工具都会明确声明以下 MCP 注释:
readOnlyHint: true— 每个工具都只检索课程数据。openWorldHint: false— 没有工具会向公共或外部系统写入数据。destructiveHint: false— 不会有工具删除、覆盖、发布或发送任何内容。- 免费搜索的
idempotentHint: true。 - 付费工具的
idempotentHint: false,因为每次重复调用付费工具都可能再次消耗额度。
这些句子也可用作 OpenAI 提交表单中的注释理由。付费查询仍须设置 confirm_spend=true,费用与上文所述相同。
容器部署
Dockerfile 会构建两种传输方式,且不会嵌入凭据。
fly.toml 会配置一个小型 Fly.io 服务,并检查 /health。首次部署前,请确认全局唯一的 Fly 应用名称可用(或更改 app),然后配置 docs/OPENAI-CHATGPT-OAUTH.md 中记录的 OAuth 密钥并进行部署。至少需要:
fly volumes create oauth_state --region ord --size 1
fly secrets set OAUTH_ENCRYPTION_KEY="$(openssl rand -base64 32)"
fly secrets set OAUTH_ISSUER=https://mcp.golfintelligence.com
fly secrets set OPENAI_APPS_CHALLENGE_TOKEN=...
fly deploy
挂载卷存储的是 OAuth 重放/轮换状态,而非 GI 凭据。对于这个基于文件的状态存储,请运行一台 Machine。
不要为托管 HTTP 调用方配置共享 GI 账户。如果 GI_CLIENT_ID / GI_ACTIVE_TOKEN 是为单独的引导或 stdio 工作流而设置的,它们不能授权 HTTP 请求。
将 OpenAI Platform 域名验证页面显示的令牌设置为 OPENAI_APPS_CHALLENGE_TOKEN。不要提交该令牌。部署后,GET https://mcp.golfintelligence.com/.well-known/openai-apps-challenge 应以 text/plain 返回该令牌。
工具名称和描述会打包到已部署的 bundle 中,因此在重新部署前,托管 MCP 会继续提供先前版本。刷新市场列表前请先重新部署,并按照 docs/RELEASE.md 中 Fly、市场和 MCP Registry 的完整发布顺序操作。
仓库结构
.cursor-plugin/plugin.json— Cursor 市场清单和必需变量plugin.json— Agent Plugins 开放标准清单(handlegolf).claude-plugin/plugin.json— Claude Code / Cowork 插件清单(handlegolf)server.json— 官方 MCP Registry 元数据(io.github.golf-data/golf)manifest.json— stdio Node 服务的 MCPB 捆绑包清单.github/workflows/publish-mcp.yml— 通过 GitHub OIDC 将io.github.golf-data/golf发布到官方 MCP Registrymcp.json— 指向托管 MCP 端点的捆绑golf连接器mcp.stdio.json— 可选的本地 stdio 配置,用于离线开发skills/golf/SKILL.md— 工作流和支出确认指南docs/SMOKE-CHECKLIST.md— 部署后和发布后的验证步骤docs/RELEASE.md— Fly 重新部署、GitHub 发布和 Registry 发布操作手册src/— TypeScript MCP 服务和 API 客户端dist/index.js— 提供给安装程序使用的已提交 stdio ESM 捆绑文件dist/http.js— 容器使用的已提交 Streamable HTTP ESM 捆绑文件Dockerfile和fly.toml— 生产环境 HTTP 容器和 Fly.io 服务
使用 Node.js 18 或更高版本进行开发:
npm install
npm test
npm run build
npm run pack:mcpb
pack:mcpb 使用官方 @anthropic-ai/mcpb pack CLI 生成 golf.mcpb,并将其 SHA-256 写入 server.json。GitHub Releases 会将该资源托管在 https://github.com/golf-data/golf/releases/download/v1.0.2/golf.mcpb。
插件代码采用 MIT 许可证。Golf Intelligence API 数据 仍受以下条款约束: golfintelligence.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。