Roundr

Connect an AI agent to Roundr

One MCP endpoint. OAuth in the browser. No API keys, no registration step.

Endpoint
MCP URL
https://roundrgolf.app/mcp
Transport
Streamable HTTP, stateless. POST for JSON-RPC, GET for the optional event stream.
Auth
OAuth 2.1 with PKCE, issued by Clerk. Bearer token in the Authorization header.
Client identity
Client ID Metadata Documents. Any compatible client connects without being pre-registered. Dynamic Client Registration is off on purpose.
Add the server
OAuth, no API keys

Claude Code

claude mcp add --transport http roundr https://roundrgolf.app/mcp

Cursor, Claude Desktop, any JSON config

{
  "mcpServers": {
    "roundr": {
      "url": "https://roundrgolf.app/mcp"
    }
  }
}

Claude Desktop: Settings, Connectors, Add custom connector. Leave Client ID and Client Secret empty.

What happens next
  1. 1

    The client fetches the discovery documents and starts an OAuth flow.

  2. 2

    A browser opens on a Clerk-hosted page. Sign in, or create a Roundr account right there. No prior sign-up is needed.

  3. 3

    Approve access. The client receives a token scoped to that one account.

  4. 4

    Ask the agent to call whoami. An empty log is still a successful connection.

Each connection only sees that person's rounds. Revoke it from the Clerk account at any time.

Tools
ToolAccessPurpose
whoamireadConfirm the connection: who is signed in, how many rounds exist.
list_coursesreadCourses with ids, slugs, pars and tees. Filter by city or type. Needed before log_round.
get_course_scorecardreadHole-by-hole par, stroke index and yardage per tee for one course.
list_roundsreadRounds, newest first, with per-round stats. Filter by course, type, date range, limit.
get_roundreadHole-by-hole detail and computed stats for one round, including tee club.
get_statsreadAggregate stats over a filter, including fairway % by tee club. Call twice with two date windows to compare periods.
get_trendsreadChronological per-round series for progress analysis.
get_hole_statsreadPer-hole averages on one course: where strokes are lost.
get_handicapreadGolf Canada / WHS handicap index from acceptable 9- and 18-hole scores, with which differentials count and known gaps versus Golf Canada.
log_roundwriteCreate a round from hole-by-hole data, including optional teeClub. Needs a courseId from list_courses.
update_roundwriteReplace an existing round after a bad log. Same fields as log_round (including optional teeClub) plus roundId from get_round.
delete_roundwritePermanently delete one of your rounds (duplicate or logged by mistake).

Prompt analyze_progress: Guided review of recent rounds: trends, weaknesses, what to practice.

Typical flows
  • First look. whoami, then list_rounds with a small limit, then get_stats for the last 30 days.
  • Progress review. get_trends, then get_stats twice with an earlier and a later window, then get_hole_stats for the course played most. Keep pitch and putt separate from full-length courses.
  • Log a round. list_courses for a courseId and tee name, then log_round with one entry per hole. Optional teeClub is Driver, 3W, 5W, Hybrid, 4i to 9i, or a wedge. Solo rounds are logged but excluded from the handicap.
  • Correct a round. get_round, change the wrong hole or metadata (including teeClub), then update_round with the full payload (log_round fields plus roundId). Send every hole, not just the one you are fixing. delete_round removes a duplicate or a round logged by mistake.
Questions
What is Roundr?
Roundr is a free, beginner-friendly golf log for the Vancouver area. You record rounds hole by hole (score, putts, tee club, fairways, greens, misses, chips, penalties) and it turns them into trends, a miss pattern, fairway % by club, and a Golf Canada / WHS handicap index. It ships an MCP server so Claude, Cursor and other AI agents can read those rounds, log new ones, and correct a round that was logged wrong.
How do I connect Claude or Cursor to Roundr?
Add https://roundrgolf.app/mcp as an MCP server (Streamable HTTP). The client opens a browser, you sign in or create a Roundr account, and approve access. There is no API key and nothing to register first.
Does Roundr have an API?
Yes, over the Model Context Protocol. The endpoint is https://roundrgolf.app/mcp, authenticated with OAuth 2.1 (PKCE) through Clerk. Any MCP client that supports OAuth discovery works. There is no REST API and no API keys.
Can an AI agent create a Roundr account?
An agent starts the connection and a human finishes it. When the agent adds the MCP server, the OAuth flow opens a browser where the person signs up or signs in. Fully headless accounts are not supported: rounds belong to a golfer.
Is Roundr free?
Yes. There is no paid tier.
Which golf courses does Roundr include?
57 scorecards across the Lower Mainland and Sea-to-Sky: pitch and putts like Stanley Park and Queen Elizabeth Park, executive courses like Musqueam, and full courses from Fraserview to Whistler. Each has tees, ratings, slope and stroke index. Anyone can browse them at https://roundrgolf.app/courses without an account.
What can Claude do once connected?
List and read your rounds, aggregate stats over a period (including fairway % by tee club), compare two periods, find which holes cost the most strokes on a course, read your handicap index, log a new round from hole-by-hole data you dictate, and correct or delete a round that was logged wrong.
Is Roundr a GPS or on-course app?
No. It is a log you fill in during or after the round and a dashboard for looking at it afterwards. No GPS, rangefinder or shot tracer.

Agents: the index for this site is at /llms.txt. Public course data lives under /courses.