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.

已驗證Streamable HTTP可網頁執行位置與生活資料與分析

概覽

AI 產生的概覽

讓助理存取 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 或更新版本。
安裝前請注意
付費工具會消耗方案點數,重複呼叫會再次扣點;伺服器要求付費呼叫前提供 confirm_spend=true。憑證屬於帳號機密:GI_ACTIVE_TOKEN 會換取 bearer token,不可直接填入 bearer token。資料為專有資料,受 Golf Intelligence 條款約束。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Golf Course Data by Stracka,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

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 ID
  • GI_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.

ToolWhat it returnsCredits
search_course_groupsCourse-group search results0
get_course_group_scorecardScorecard data1
get_course_group_gpsMapped course geometry and coordinates2
get_course_group_detailDetailed course-group data3
get_green_slope_imagePortrait or square green slope image1

Authentication

The local stdio server and legacy per-user HTTP credential headers exchange the configured credentials with:

text
POST https://api.golfintelligence.com/auth/authenticateTokengrant_type=client_credentialscode=<GI_ACTIVE_TOKEN>client_id=<GI_CLIENT_ID>

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:

text
https://mcp.golfintelligence.com/mcp

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:

bash
npm run buildPORT=3000 npm run start:http

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:

  1. An OAuth bearer token issued by this service after the user signs in with their own GI account.
  2. Legacy X-GI-Client-ID and X-GI-Active-Token headers 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: true for free search.
  • idempotentHint: false for 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:

bash
fly volumes create oauth_state --region ord --size 1fly secrets set OAUTH_ENCRYPTION_KEY="$(openssl rand -base64 32)"fly secrets set OAUTH_ISSUER=https://mcp.golfintelligence.comfly secrets set OPENAI_APPS_CHALLENGE_TOKEN=...fly deploy

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 variables
  • plugin.json — Agent Plugins open-standard manifest (handle golf)
  • .claude-plugin/plugin.json — Claude Code / Cowork plugin manifest (handle golf)
  • 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 — publishes io.github.golf-data/golf to the official MCP Registry via GitHub OIDC
  • mcp.json — bundled golf connector pointing at the hosted MCP endpoint
  • mcp.stdio.json — optional local stdio configuration for offline development
  • skills/golf/SKILL.md — workflow and spend-confirmation guidance
  • docs/SMOKE-CHECKLIST.md — post-deploy and post-publish verification steps
  • docs/RELEASE.md — Fly redeploy, GitHub release, and registry publish runbook
  • src/ — TypeScript MCP server and API client
  • dist/index.js — committed stdio ESM bundle used by installers
  • dist/http.js — committed Streamable HTTP ESM bundle used by the container
  • Dockerfile and fly.toml — production HTTP container and Fly.io service

For development with Node.js 18 or newer:

bash
npm installnpm testnpm run buildnpm run pack:mcpb

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
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

3
  1. v1.0.7最新Oct 21, 2026
  2. v1.0.2Sep 19, 2026
  3. v1.0.0Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分