mcpField
G
Golf Course Data by Stracka

Golf Course Data by Stracka

远程服务
golfintelligence.com游戏娱乐21 周前更新

关于 Golf Course Data by Stracka

Golf Course Data by Stracka 将 StrackaGolf 每日更新的专有球场数据提供给开发者和高尔夫应用。它通过 MCP 暴露免费搜索及按积分计费的记分卡、GPS、球场详情和果岭坡度数据。

主要功能

  1. 01免费搜索球场组
  2. 02获取球场记分卡
  3. 03查询球场 GPS 几何与坐标
  4. 04查看详细球场数据
  5. 05获取果岭坡度图像

适用场景

  1. 01查找球场并确认匹配项
  2. 02为应用加载球场记分卡数据
  3. 03获取球场地图坐标和几何信息
  4. 04查看果岭坡度图像

MCP 相关

提供托管 Streamable HTTP MCP 服务,也支持本地 stdio 服务。付费工具调用需要显式设置 confirm_spend=true。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.golfintelligence.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
mcpbgolf.mcpb

工具

详细介绍

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 ID
  • GI_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 身份信息:

  1. 用户使用自己的 GI 账户登录后,由此服务签发的 OAuth bearer 令牌。
  2. 现有插件安装在每个 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 开放标准清单(handle golf)
  • .claude-plugin/plugin.json — Claude Code / Cowork 插件清单(handle golf)
  • 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 Registry
  • mcp.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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。