Golf Course Data by Stracka
io.github.golf-data由 GitHub 账号 golf-data 发布v1.0.7更新于 Oct 24, 2026
Proprietary StrackaGolf course data, updated daily. Search is free.
概览
让助手访问 StrackaGolf 专有球场数据:免费球场群搜索,以及按积分计费的记分卡、GPS 几何、球场详情和果岭坡度图。
- 可以做什么
- 免费搜索球场群并返回搜索结果
- 按积分获取记分卡和球场群详细信息
- 获取球场地图几何与坐标,以及果岭坡度图像
- 每次付费调用前需显式确认,因为重复调用会再次消耗积分
- 适用场景
- 当助手需要高尔夫球场信息——查找球场、查看记分卡或获取 GPS 与果岭坡度数据——且你已有带积分的 Golf Intelligence API 账户时适用。
- 运行要求
- 需要 Golf Intelligence 控制台账户并创建 API Account,提供 GI_CLIENT_ID 和 GI_ACTIVE_TOKEN;托管端点使用 OAuth 登录或旧版 X-GI-Client-ID 与 X-GI-Active-Token 请求头。按积分计费的工具需要付费月度套餐(Tester 或 Starter)。可选的本地 stdio 服务器需要 Node.js 18 或更高版本。
安装
在 SourceWeft 中
- 打开 控制台中的 Golf Course Data by Stracka,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.golf-data%2Fgolf/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"golf-course-data-by-stracka": {
"type": "http",
"url": "https://mcp.golfintelligence.com/mcp"
}
}
}README
Golf Course Data by Stracka
Golf Course Data by Stracka. Proprietary StrackaGolf course data only, updated daily. Search is free. Scorecards, GPS, and 3D greens via API.
Golf Intelligence provides proprietary StrackaGolf course data, updated daily. Learn more at golfintelligence.com.
This repository is the installable Cursor / Grok Bot plugin with handle
golf. The Cursor marketplace application source is the public GitHub URL:
https://github.com/golf-data/golf
Marketplace reviewers can submit that URL at cursor.com/marketplace/publish. The catalog title is Golf Course Data by Stracka.
The bundled mcp.json connects to the hosted MCP at
https://mcp.golfintelligence.com/mcp over Streamable HTTP, so installing the
plugin never depends on a local Node build. Your console credentials travel as
the X-GI-Client-ID and X-GI-Active-Token headers, filled from the plugin
variables declared in .cursor-plugin/plugin.json.
Earlier releases launched node against a plugin-relative dist/index.js.
Cursor does not expand the Agent Plugins ${PLUGIN_ROOT} variable, so that
placeholder reached Node literally and the connector failed with
Cannot find module '.../${PLUGIN_ROOT}/dist/index.js'. The hosted connector
removes that failure mode entirely.
mcp.stdio.json keeps the local stdio server for offline and development use.
It is not auto-discovered; copy its golf entry into .cursor/mcp.json (using
${workspaceFolder} in a checkout) or point mcpServers at it. Any local
stdio config must use ${CURSOR_PLUGIN_ROOT}, never ${PLUGIN_ROOT}. The
committed dist/index.js bundle ships in the repository and in the MCPB
package, so the stdio path works without running a build first.
The official MCP Registry name is io.github.golf-data/golf. The registry
does not accept a bare golf name. Cursor, Agent Plugins, and Claude Code
plugin handles remain golf.
Get API access
Sign in at console.golfintelligence.com without a password: enter your email on the login page, request a verification code, then enter the code after it is sent. Create an API Account and configure the plugin's two required variables:
GI_CLIENT_ID: your Client IDGI_ACTIVE_TOKEN: your Active Token
The Active Token is exchanged for a short-lived bearer token. It is not a
bearer token; do not paste a bearer token into GI_ACTIVE_TOKEN.
Use credentials from your own console account. This project does not provide demo tokens.
Plans are monthly and can be upgraded or downgraded self-serve in the console:
- Tester: $49/month for 100 credits/month.
- Starter: $399/month for 10,000 credits/month.
For billing, credits, plans, login, or credential help, email [email protected]. For course data updates, email [email protected].
Tools and credits
Always search first. search_course_groups is free. Before every paid call,
the user must explicitly confirm the stated cost; the server refuses paid tools
unless confirm_spend=true.
Authentication
The local stdio server and legacy per-user HTTP credential headers exchange the configured credentials with:
It sends the returned access_token as Authorization: Bearer <access_token>,
caches it only in memory, and refreshes once after an HTTP 401. Credentials are
never logged.
The hosted MCP additionally implements OAuth 2.1 authorization-code flow with S256 PKCE for ChatGPT. Its dedicated authorization page accepts each user's own console Client ID and Active Token, validates them with Golf Intelligence, and binds that account to encrypted access and refresh tokens. See docs/OPENAI-CHATGPT-OAUTH.md for discovery URLs, OpenAI portal settings, reviewer steps, and deployment secrets.
Streamable HTTP
The hosted MCP is available via the official MCP Streamable HTTP transport at:
The production HTTP entrypoint serves that transport at /mcp and a health
check at /health. For OpenAI Apps domain verification it also serves
GET /.well-known/openai-apps-challenge as text/plain when
OPENAI_APPS_CHALLENGE_TOKEN (or OPENAI_APPS_CHALLENGE) is set; otherwise
that path returns 404. Start the HTTP server locally with:
It binds to 0.0.0.0:$PORT. The existing node dist/index.js stdio entrypoint
and all plugin packages remain unchanged.
The HTTP service accepts Golf Intelligence identity in either of these forms:
- An OAuth bearer token issued by this service after the user signs in with their own GI account.
- Legacy
X-GI-Client-IDandX-GI-Active-Tokenheaders supplied together on every MCP request by existing plugin installs.
There is deliberately no server-wide GI_CLIENT_ID / GI_ACTIVE_TOKEN
fallback. The HTTP entrypoint ignores those environment variables, so an
anonymous caller cannot inherit a deployment account or spend its credits.
Missing or invalid OAuth returns HTTP 401 with an OAuth protected-resource
challenge. The Active Token is an exchange credential and must not be sent as
an Authorization: Bearer value.
Every tool explicitly advertises these MCP annotations:
readOnlyHint: true— each tool only retrieves course data.openWorldHint: false— no tool writes to public or external systems.destructiveHint: false— no tool deletes, overwrites, publishes, or sends anything.idempotentHint: truefor free search.idempotentHint: falsefor paid tools because every repeated paid invocation can consume credits again.
These sentences can also be used as the annotation justifications in the
OpenAI submission form. Paid lookups still require confirm_spend=true at the
same credit costs documented above.
Container deployment
Dockerfile builds both transports without embedding credentials.
fly.toml configures a small Fly.io service and checks /health. Before the
first deploy, confirm that the globally unique Fly app name is available (or
change app), then configure the OAuth secrets documented in
docs/OPENAI-CHATGPT-OAUTH.md and deploy. At minimum:
The mounted volume stores OAuth replay/rotation state, not GI credentials. Run one Machine for this file-backed state store.
Do not configure a shared GI account for hosted HTTP callers. If
GI_CLIENT_ID / GI_ACTIVE_TOKEN exist for a separate bootstrap or stdio
workflow, they do not authorize HTTP requests.
Set OPENAI_APPS_CHALLENGE_TOKEN to the token shown in OpenAI Platform domain
verification. Do not commit that token. After deploy,
GET https://mcp.golfintelligence.com/.well-known/openai-apps-challenge
should return the token as text/plain.
Tool names and descriptions are baked into the deployed bundle, so the hosted
MCP keeps serving the previous copy until it is redeployed. Redeploy before
refreshing the marketplace listing, and follow docs/RELEASE.md for the full
order across Fly, the marketplace, and the MCP Registry.
Repository layout
.cursor-plugin/plugin.json— Cursor marketplace manifest and required variablesplugin.json— Agent Plugins open-standard manifest (handlegolf).claude-plugin/plugin.json— Claude Code / Cowork plugin manifest (handlegolf)server.json— official MCP Registry metadata (io.github.golf-data/golf)manifest.json— MCPB bundle manifest for the stdio Node server.github/workflows/publish-mcp.yml— publishesio.github.golf-data/golfto the official MCP Registry via GitHub OIDCmcp.json— bundledgolfconnector pointing at the hosted MCP endpointmcp.stdio.json— optional local stdio configuration for offline developmentskills/golf/SKILL.md— workflow and spend-confirmation guidancedocs/SMOKE-CHECKLIST.md— post-deploy and post-publish verification stepsdocs/RELEASE.md— Fly redeploy, GitHub release, and registry publish runbooksrc/— TypeScript MCP server and API clientdist/index.js— committed stdio ESM bundle used by installersdist/http.js— committed Streamable HTTP ESM bundle used by the containerDockerfileandfly.toml— production HTTP container and Fly.io service
For development with Node.js 18 or newer:
pack:mcpb uses the official @anthropic-ai/mcpb pack CLI to produce golf.mcpb and writes its SHA-256 into server.json. GitHub Releases host that asset at https://github.com/golf-data/golf/releases/download/v1.0.2/golf.mcpb.
The plugin code is available under the MIT License. Golf Intelligence API data remains subject to the terms at golfintelligence.com.
来源:README.md,提交 f8e9fbf
工具
0版本历史
3- v1.0.7最新Oct 21, 2026
- v1.0.2Sep 19, 2026
- v1.0.0Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分