Chalk Golf

Ask Claude or ChatGPT about your own golf: rounds, hole-by-hole scorecards, stats, club-by-club misses, handicap record and swing analyses from the Chalk Golf app. Read-only, OAuth sign-in.

Hosted MCP Server

npx add-mcp 'https://api.chalkgolfapp.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

A golf MCP server for your own rounds

Chalk Golf runs a hosted remote MCP server for AI agents. Connect it to Claude, ChatGPT or Claude Code, sign in, and the agent can read your rounds, scorecards, stats, shot patterns, handicap record, swing analyses and course notes. If you let it, it can log practice, notes and rounds too.

https://api.chalkgolfapp.com/mcp

Server details

Endpoint

https://api.chalkgolfapp.com/mcp

Auth

OAuth 2.1 with PKCE and dynamic client registration

Discovery

Protected resource metadata at /.well-known/oauth-protected-resource/mcp

Access

Read and add. Write tools never delete, and scores or invites need the golfer’s approval

Read-only endpoint

https://api.chalkgolfapp.com/mcp/readonly

Data

Only the signed-in golfer’s own Chalk Golf account

Tools

ToolAccessWhat it doesInputs
get_profileReadName, current handicap index, home course, completed rounds and membership costs.None
get_handicapReadCurrent index and the official score records synced from England Golf or GHIN: date, course, adjusted gross, score differential and the index after each score, plus the 12-month low and the best 8 of the last 20.None
list_roundsReadRounds newest first with date, course, gross, score to par, holes played and competition details.Course, date range, limit
get_roundReadHole-by-hole card (par, stroke index, yards, strokes, putts, fairway), voice-logged shots with club, distance and result, and the post-round review.Round id
get_statsReadScoring average, best round, recent form, par 3/4/5 averages, score mix, putting and fairways. For one course, the holes ranked by strokes over par.Course, date range, number of rounds
get_shot_patternsReadFrom voice-logged shots: average and longest distance per club, left/centre/right finish, short and long misses, shapes and strike quality.Club, course, date range, number of rounds
list_swingsReadSwing Studio analyses with club, camera view, 0–10 swing score, the fault to fix first and headline tempo and turn.Limit
get_swingReadScore, every check with its measured value and target, tempo, body metrics, written feedback with a practice plan and the change since the last comparable swing.Swing id
list_practiceReadPractice sessions with date, type, title, notes and minutes.Date range, limit
search_coursesReadCourses in Chalk matching a name, with how many rounds you've played at each.Course name
get_courseReadHoles (par, stroke index, yards per tee), tee ratings, your own notes and your scoring history there, including the holes that cost you most.Course id
log_practiceAddsAdds a practice session (range, short game, putting, practice round, fitness or lesson) to your practice log.Date, type, title, minutes, notes
add_course_noteAddsSaves a note about a course or one of its holes, shown with your notes in Chalk.Course id, hole, text, club
log_roundAdds after approvalAdds a round you didn’t record in Chalk, hole by hole or as a total, including from a photo of a paper scorecard (it asks about any hole it can’t read). Returns a confirm link first and saves once you approve it. Never duplicates an England Golf or GHIN round.Course id, date, hole scores (putts, fairways) or gross, tee, approval token
invite_to_matchAdds after approvalInvites Chalk friends to a match you’re hosting. Returns a confirm link first, because each friend gets a notification.Friends’ names or usernames, match id, approval token

Read-only access

Read-write access is provided through https://api.chalkgolfapp.com/mcp by default. For read-only access, you have two options:

  • Connect to https://api.chalkgolfapp.com/mcp/readonly, which only ever exposes read tools. It has its own protected resource metadata at /.well-known/oauth-protected-resource/mcp/readonly.
  • Use the standard endpoint and untick Let it add to Chalk on the consent screen. The golfer can change it later in Connected apps, and a read-only connection never sees the write tools.

Approvals

log_practice and add_course_note save straight away. log_round changes the golfer's stats and invite_to_match sends friends a notification, so the first call returns status: "needs_approval" with an approveUrl and approvalToken instead of saving. The golfer approves or declines on chalkgolfapp.com, signed in to their own account. The client then calls the same tool again with the same arguments plus approvalToken, and it runs exactly once.

Approvals expire after 24 hours. Repeating the first call returns the same link, a retry after approval returns the saved result, and a retry with different details is refused.

Connect a client

Claude custom connector

Customize → Connectors → + Add → Add custom connector. Name it Chalk Golf, paste the URL, then Connect and sign in. Leave the OAuth client fields empty: the client registers itself.

Claude Code

claude mcp add --transport http chalk-golf https://api.chalkgolfapp.com/mcp

Run /mcp, pick chalk-golf and sign in in the browser.

ChatGPT developer mode

Settings → Apps → Advanced settings → Developer mode, then Create app with the URL and OAuth. Step-by-step instructions for both apps are on Use Chalk Golf in ChatGPT and Claude.

Chalk Tracer: a local MCP server for golf video

Chalk Tracer for Mac has its own MCP server, over stdio. An agent can open clips, trace them, read and change any setting, compare swings, take screenshots and export the finished video, all in the app on your computer. Sign in to Chalk Tracer first.

claude mcp add chalk-tracer -- "/Applications/Chalk Tracer.app/Contents/MacOS/chalk-tracer" --mcp

Other clients: command /Applications/Chalk Tracer.app/Contents/MacOS/chalk-tracer, argument --mcp. It opens the app if it isn't running. Sign-in and posting to TikTok aren't exposed, and it won't overwrite a file it didn't export. More on Chalk Tracer and AI agents.

Security

Every tool is scoped to the signed-in golfer. Read tools are annotated readOnlyHint. Write tools only add: there are no delete tools, synced England Golf and GHIN records are never changed, and each golfer has an hourly limit per tool. Tokens issued to an MCP client only work on /mcp; the rest of the Chalk Golf API rejects them, so a client can't approve its own request or widen its own access. Course text that other golfers can edit is flattened and length-capped before it reaches the model.

The consent page only approves clients that return to Claude, ChatGPT or a loopback address on your own computer. Golfers can see and revoke connected clients in Connected apps.

Questions

Is there an MCP server for golf stats?

Yes. Chalk Golf runs a hosted MCP server at api.chalkgolfapp.com/mcp. After you sign in, Claude, ChatGPT and Claude Code can read the rounds, stats, handicap record and swing analyses in your own Chalk Golf account, and log practice, course notes and rounds if you allow it.

Can I connect it read-only?

Yes. Connect to api.chalkgolfapp.com/mcp/readonly, which only ever exposes read tools, or untick Let it add to Chalk on the consent screen. Connections made before the write tools existed stay read-only until the golfer switches them in Connected apps.

How do write approvals work?

log_round and invite_to_match don’t save on the first call. They return an approveUrl on chalkgolfapp.com. The golfer opens it, checks the details and approves, then the client calls the tool again with the same arguments plus approvalToken. Approvals expire after 24 hours, and a retry with different details is refused.

Do I need to install or host anything?

No. It’s a remote server, so you paste the URL into your MCP client and sign in. There’s nothing to run on your computer and no API key to manage.

Can a token from the MCP server be used elsewhere?

No. Tokens issued to an MCP client only work on /mcp. The rest of the Chalk Golf API rejects them.

Which MCP clients can connect?

Claude (web, desktop and mobile), Claude Code and ChatGPT in developer mode. The consent page only approves clients that return to claude.ai, claude.com, chatgpt.com or a loopback address on your own computer.

Can an AI agent edit golf videos?

Yes, with Chalk Tracer for Mac. Its built-in MCP server lets Claude Code, Claude Desktop, Codex, Cursor and other local MCP clients open clips, trace the ball flight, change the look and export, on your own computer.

Where does the data come from?

From what you record in the Chalk Golf app on iPhone, Android or Apple Watch: scores by tap or voice, voice-logged shots, England Golf or GHIN imports, Swing Studio analyses, practice sessions and course notes.