Golf Coach

io.github.bjornj12由 GitHub 帳號 bjornj12 發布v0.7.0更新於 Oct 27, 2026

A stats-driven golf coach: Trackman + on-course rounds, turned into a practice plan.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

非官方高爾夫教練伺服器:讀取你的 Trackman 數據與球場成績,給出問題診斷、練習計畫與進度評分。

可以做什麼
  • 取得 Trackman 個人資料、差點、練習場次、逐桿數據、球場回合與球桿間距
  • 管理從截圖匯入的本機 GameBook 回合,並與 Trackman 結果對照
  • 進行單場次分析與跨資料來源綜合
  • 儲存、推進與核驗訓練計畫,並產生動畫 HTML 視覺化
  • 以提示詞形式提供診斷、訓練動作、居家練習、揮桿與握桿檢查等教練技能
適用情境
適合已在 Trackman 記錄練習與球場成績、希望由助理指出失分環節、給出具體下一場練習方案並評估成效的球友。
執行需求
以本機 Python 套件形式透過 uv 或 uvx 執行(也可用 Claude Desktop 擴充功能)。需要自己的 Trackman 帳號並完成一次瀏覽器登入,或提供 TRACKMAN_TOKEN 權杖;權杖會快取在本機,約七天後過期。揮桿影片檢查需要 ffmpeg。
安裝前請注意
非官方專案,與 Trackman 無關聯;它呼叫 Trackman 私有 Web API 並自動執行瀏覽器登入,可能違反 Trackman 服務條款,請僅用於自己的帳號。TRACKMAN_TOKEN 是有效的工作階段憑證,應視為機密。它會在本機寫入快取權杖與已儲存計畫等檔案,教練技能也可能引用外部影片連結。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Golf Coach,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Golf Coach

A golf coach that trains you purely on your stats — round after round, closer to scratch.

Golf Coach logs into Trackman Golf with your own account and turns your stats — course rounds, practice sessions, shot-level launch-monitor data, club gapping, and handicap — into a diagnosis of where you're losing strokes, then hands you a specific practice plan with drills and YouTube links for your next session and grades your progress over time. It ships as an MCP server (the data tools) plus Claude skills (the coaching brain).

What you get

You don't read the charts — you get a coach. Point it at your Trackman data and it:

  • Finds where you're actually losing strokes — not "work on your irons," but "your driver has a two-way miss spreading landings across a ~115 m corridor — the speed is real, the face isn't yet."
  • Hands you one specific session — clubs, distances, reps, a Trackman target, and a drill with a real YouTube link. Stuck indoors? It has an at-home, no-ball routine too.
  • Grades your progress — it saves the plan and checks your next session against it, so you actually know whether it worked.
  • Shows you the picture — an animated view of your ball flight, the swing path behind the miss, and how close you are to each target.

[A Golf Coach session — driver-dispersion diagnosis with the swing-path cause, progress-vs-target bars, and drills to fix it]

A real session diagnosis: what's wrong, why, how close you are to your targets, and exactly what to practice next.

Name note. "Golf Coach" is the product name. The technical ids stay golf-coach (MCP server / plugin) and golf-coach (the published package), so existing installs keep working.

[!IMPORTANT] Unofficial. This project is not affiliated with or endorsed by Trackman. It talks to Trackman's private web API using a token from your own authenticated session, and automates a browser login on your behalf. This may conflict with Trackman's Terms of Service — use it on your own account, at your own risk. Never use it to access anyone else's data.

Design boundary

  • MCP server = raw data fetch + auth only. No opinions.
  • Skills = all the coaching (analysis, plans, drills).

See CLAUDE.md for the full architecture and auth/secret rules.

Install

Pick the path for how you use Claude. Each takes about two minutes, then do the one-time Authentication step.

🖥️ Claude Desktop — one-click (recommended, no terminal)

  1. Download golf-coach.mcpb (from the latest release).
  2. Open Claude Desktop → Settings → Extensions, drag the file in (or double-click it), and click Install. Leave the token field blank.
  3. In a chat, say "log in to Trackman" → a browser window opens → sign in once with your Trackman email + password (Apple / Google sign-in works too). The window stays open until you finish — take your time, it won't close on its own. When you're done, tell Claude and it confirms you're signed in.
  4. Ask Claude: "What's my Trackman handicap?"

Nothing to install and no config to edit — Claude Desktop runs everything and opens the sign-in browser for you. (First sign-in may take a moment if it needs to fetch a browser. You may also see an "unsigned extension" note — expected for one installed from a file.)

Platforms: macOS, Linux, and Windows — Claude Desktop runs the server via uv on all three, and the browser sign-in uses Playwright (cross-platform). One caveat on Windows: the local token/data files are protected by your Windows user profile (ACLs) rather than POSIX 0600 modes. The optional cron/launchd auto-refresh script is macOS/Linux only — on Windows use Task Scheduler, or just re-run the in-app "log in to Trackman" when the ~7-day token lapses.

⌨️ Claude Code — plugin (server and coaching skills)

text
/plugin marketplace add bjornj12/golf-coach/plugin install golf-coach@golf-coach

Installs the MCP server (run via uvx) and all ten coaching skills.

🔌 Other MCP clients (or Claude Desktop without the extension)

Requires uv (curl -LsSf https://astral.sh/uv/install.sh | sh). Add this to your client's MCP config:

json
{  "mcpServers": {    "golf-coach": { "command": "uvx", "args": ["golf-coach"] }  }}

For Claude Desktop's manual config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS), use the absolute path to uvx — e.g. /opt/homebrew/bin/uvx — because the app doesn't inherit your shell PATH. The .mcpb install above avoids this entirely.

Authentication (one-time)

The server needs to sign in to your Trackman account. Trackman has no public login API, so it captures a token from a real signed-in browser session once; it's then cached locally and refreshes itself. Your password is never seen or stored by the tool, and nothing leaves your machine.

Easiest — just ask Claude to log in (Claude Desktop / Claude Code)

Say "log in to Trackman." A browser window opens (an isolated profile, not your normal Chrome); sign in once, at your own pace — the window is driven by a background task, so it stays open until you're done and won't be closed out from under you (even a slow Apple/Google 2FA is fine). When you've finished, tell Claude and it confirms. The token caches at ~/.golf-coach/token.json (mode 0600) and the MCP uses it automatically from then on. No terminal, no token to copy — the extension fetches a browser itself if you don't have one.

Terminal alternative (CLI users)

bash
uv tool install "golf-coach[login]"golf-coach login              # opens a browser; sign in oncegolf-coach login --headless   # silent refresh later (tokens last ~7 days)scripts/install-refresh-schedule.sh   # optional: auto-refresh twice weekly

Advanced — paste a token

portal.trackmangolf.com → DevTools → Network → a graphql request → copy the Authorization: Bearer … value → paste into the extension's Trackman token field (or set TRACKMAN_TOKEN). Tokens expire after ~7 days, so the sign-in flows above are easier.

Verify it worked

Ask Claude "Am I signed in to Trackman?" — it runs auth(action="status") and replies with your name (never the token).

MCP tools

All tools return raw data only; the skills interpret it.

8 tools. trackman and gamebook each take an action (so the agent picks one tool with a mode rather than many near-identical tools).

Setup: setup — one call returns an always-on coach system prompt (for a Project), the skills as upload-ready files, and per-client steps. There's a matching setup prompt in the picker.

Auth: auth(action: status | login, source?)

Trackman data (read-only): trackman(action: profile | handicap | sessions | session | rounds | clubs | summary) — profile+handicap, handicap history, activity list, one activity in full (incl. shot-level metrics), course rounds, club gapping, activity counts.

Gamebook rounds (local, deterministic): gamebook(action: save | list | get | compare) — on-course rounds ingested from Golf GameBook screenshots, rolling last 5, coverage-aware (only score-per-hole is trusted).

Cross-source synthesis (local, deterministic): synthesize() — aligns Trackman's and GameBook's per-source Findings by skill area (no verdict; see CLAUDE.md's "Sources & normalization").

Session analysis (local, deterministic): session_analysis(action: analyze | get | list)

Training-plan memory: training_plan(action: save | next | list | done | verify)

Visualization: build_visualization (self-contained animated HTML artifact)

See CLAUDE.md for the full table and backing GraphQL.

Skills (coaching brain)

The skills under skills/ are delivered two ways:

  • Claude Code: installed automatically with the plugin.
  • Any MCP client (incl. Claude Desktop): the server serves them as MCP prompts, so they show up in your client's prompt picker — no separate install.
SkillWhat it does
trackman-stats-analysisDiagnose weaknesses from the data
golf-coachingTurn the diagnosis into an actionable practice plan (visual-first; auto-grades progress)
drill-libraryCurated drills + vetted links — incl. at-home / no-ball drills — plus live search
golf-practice-at-homeBuild a daily no-ball routine for a diagnosed fault, animated per drill
at-home-practice-feedbackA single mobile-first drill card with built-in feedback: prop, validation checkpoint, budget tier, video
trackman-session-analyzerIngest + normalize recent sessions
gamebook-screenshot-analysisIngest GameBook round screenshots into a coverage-aware round record; scoring-led progress that feeds the coach
swing-video-checkFrame-by-frame visual check of a filmed swing (one angle per clip) against the current practice card
grip-checkGrade the grip (too weak / too strong) from two face-forward photos — the coach's gate before any new prescription
trackman-visualizerAnimate a diagnosis (or a single drill's mechanics) as an HTML artifact

To check a filmed swing: drop a clip named DATE_CLUB_ACTION.mp4 (e.g. 2026-07-17_driver_grip-reset.mp4) into the project in Claude Code and say "check my swing" — you get an angle-scoped checklist and one swing thought (needs ffmpeg).

(trackman-api-discovery is a project/dev skill and isn't served as a prompt.)

Development

bash
uv venv && uv pip install -e '.[login,dev]'   # [login] = Playwright, [dev] = test/lint tools
golf-coach                       # run the MCP server (stdio)uv run python scripts/validate.py  # sanity-check stats coverage with your token
uv run pytest        # testsuv run ruff check    # lintuv run mypy          # type-check

Releasing (PyPI + MCP Registry + the Desktop .mcpb) is one command — scripts/release.sh patch — see PUBLISHING.md.

License

MIT

來源:README.md,提交 06cf33f

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.7.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

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

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