Opengolfapi MCP server
io.github.opengolfapi/mcp-server·v3.5.1·4 starsGolf for AI agents — every US course free, plus open contribution, identity & tournaments.
4 stars42 downloads/wk
Reviews
Write oneNobody has reviewed Opengolfapi yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Opengolfapi tools (56, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
aboutWhat OpenGolfAPI is and how to use this MCP server.
broadcast_feedOpenBroadcast P1 — ONE typed feed for a session: broadcast-worthy items (score/side_game/money/award/condition) in ascending (recorded_at, seq) order, each with template narration (headline<=60/ticker<=80). Money appears only via settled records. Replaces stitching moments+results+live_state. Requires key + session access (participant or compute).
complete_sign_inFinish sign-in: exchange the 6-digit code for their OpenGolf ID + access token (use as X-OpenGolf-Token to act as them). Pass ref=<inviter player_id> when another player's invite brought them — it credits the referral.
create_competitionwrite actionCreate a Competition (any OpenMatch format). Requires key.
create_dev_keywrite actionMint a developer API key bound to an OpenGolf ID (sign in first via request_sign_in_code → complete_sign_in). Returns the key ONCE. First-party rail: no OpenGolf ID, no key.
create_tournament_invitewrite actionCreate a shareable invite (QR/link); everyone who redeems it joins the SAME event/session. max_uses caps size (foursome=4). Requires key.
file_claimFile a Claim in the trust ledger (ownership/attestation/identity/record/correction). Requires key.
finalize_competitionFinalize — run the kernel, store the gross Result. Requires key.
find_beaconsDiscover ACTIVE public beacons (find-my-group / matchmaking). Requires key.
get_awardsA player's OpenAwards — derived trophies + course passport. Requires key.
get_betaRead local course knowledge for a course/hole (free).
get_climateMonthly climate normals + best months to play for a course. Free.
get_competitionA Competition + live gross standings (free).
get_conditionsLIVE weather at a course (temp/wind/precip, forecast-model, 15-min cache). FREE. Feeds plays_like.
get_correctionCheck the status/verdict of a correction you proposed (approved | rejected | needs_info | applied). Requires a key.
get_courseFull detail for one course by id: scorecard (par + handicap per hole), tees, location, contact, nearby. Free.
get_handicapOpenIndex (beta) — a player's estimated handicap computed from real, notarized rounds (every score stamped when it happened; verifiable by anyone). Not official — provable. Reading your OWN is free with your key; player_id must be the ogid_… form.
get_my_chainExport YOUR tamper-evident OpenGolf Chain + checkpoints. Requires key (own-read free).
get_my_momentsRead back your own contributed moments (breadcrumbs, swings, putts, conditions…) by player, session, or type. Requires a key.
get_my_shotsRead back your own contributed shots by player or session. Requires a key.
get_nearbyNearby hotels, restaurants, and other courses for a course. Free.
get_passportFREE (public, no key). Any golfer's shareable record — display name, OpenGolf Member #, courses played, rounds, trophies, referrals. Show a player's golf resume in your app.
get_profileA player's public OpenGolf ID card — name, avatar, links, prefs. Free.
get_referralsHow many golfers a user has referred (+ the list) — the viral-loop metric for your app. Needs a key.
get_showcaseA player's public showcase — the collectibles/records on their OpenGolf ID (og.* namespaces + course.*). Free, keyless: pass their ogid_. Tombstoned (revoked/expired) records hidden. The provable trophy wall.
get_teesAll tee sets for a course with ratings, slopes, and yardages. Free.
get_weatherLive weather forecast for a course location (Weather.gov). Free.
how_to_buildThe safe playbook for building on OpenGolfAPI and contributing data the right way. Call this once before contributing.
join_tournamentRedeem an invite token — the player joins the group/event. Requires key.
link_dev_keyConfirm your OpenGolf ID on an EXISTING key. Sign in first; pass that access_token + the key.
list_claimsList Claims (free). Filter claimant/subject/status.
list_competitionsList Competitions (free). Filter org/course/status.
list_dev_keysList the keys owned by your OpenGolf ID (prefixes only). Needs access_token from complete_sign_in.
list_game_formatsEvery OpenMatch scoring format. GROSS scoring is free & keyless.
list_orgsPublic directory of verified orgs (free).
list_webhooksList your active webhook subscriptions. Requires key.
log_shotContribute a golf shot to the open OpenShot standard (any launch monitor). Requires a key. Units: speed mph, angles deg, spin rpm, distance yds.
mint_assetMint an Asset (trophy/badge/stamp/coupon/membership) into the owner's trophy case + chain. Requires key.
plays_likeEffective distance — THE canonical "plays like" number (wind/elevation/temp/altitude), factors itemized. FREE, no key. Pair with get_conditions for live wind.
post_betawrite actionDrop local course knowledge ("beta") on a hole — the AI-caddie's fuel. Requires key.
propose_correctionPropose a fix to a course FACT field (phone, website, address, architect, year_built, course_name, city, postal_code, course_type). Our AI reviews it (approve/reject/needs_info). Requires a key. Geometry is not correctable here.
record_attemptRecord an Attempt (score or side-game value). Idempotent. Requires key.
record_consentRecord a player's consent grant (auditable, revocable). Requires key.
record_referralRecord that one user referred another (a REFERRED_BY edge) — build YOUR app's invite loop on the shared graph, namespaced to your app. Needs a key.
register_webhookRegister an https URL for your domain events (HMAC-signed deliveries, owner-scoped). Requires your key (Authorization: Bearer ogapi_…).
remove_webhookwrite actionDeactivate one of your webhook subscriptions by id (audit row kept). Requires key.
request_sign_in_codeStart "Sign in with OpenGolf" for a person: emails them a 6-digit code. No API key needed. They read you the code, then call complete_sign_in.
respond_to_reviewRespond to a correction that came back as needs_info — add a source or explanation and re-open it for review. Requires a key.
score_roundScore a round in any format — GROSS, FREE, no key. players:[{player_id,holes:{"1":4}}] or entries:[{player_id,hole,value}]; holes:[{hole,par,stroke_index?}].
search_coursesSearch US golf courses by name, US state, or location (lat/lng + radius). Returns matching courses with location, type, par. Free, ODbL data.
set_beaconBroadcast a consented, EXPIRING presence/availability beacon (present|available|open). Requires key.
sign_in_with_opengolfDerive a user's OpenGolf ID deterministically from their email (sub = ogid_ + sha256(lower(trim(email)))[:16]) — one line, no redirect. For a VERIFIED session token use request_sign_in_code → complete_sign_in.
submit_momentwrite actionContribute an Open Connect event from any sensor/wearable/phone. The whole sensor spectrum rides through here — type-specific data goes in `payload`. Requires a key.
update_profilewrite actionEdit a player's self-asserted profile fields (derived facts can't be set). Requires key (claimed players need their grant).
verify_chainVerify a Chain export OR walk the public transparency log (GET /chain/log?subject=), public + keyless — recompute the hash-links, verify each RS256 checkpoint signature against the JWKS, and resolve the Bitcoin anchors; reports tampering and where. The whole history (registry, per-course, master) is independently auditable — trust no one.
verify_recordVerify a record/collectible against the OpenGolf Chain (a signed, hash-linked, Bitcoin-anchored transparency log). Returns the hash + whether it matches + the CLIENT-RECOMPUTE recipe (sha256 of the canonical record) + the anchor. Then you can go further, all keyless: pull a merkle inclusion proof (GET /chain/anchors/:id/inclusion?hash=), verify the checkpoint's RS256 signature against /.well-known
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan6 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 38 days ago12/15
- Maintainer identityregistry namespace matches repository owner7/10
How Opengolfapi compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 77/100
- higher than 50% of 48,255 servers
- Tools
- 56
- the typical server has 7
- Tools that change things
- 13%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 82% of 28,688 servers
- Downloads a week
- 42
- more than 34% of 12,191 servers with a package
What its tools let an agent do: 46 read · 4 create · 3 change · 1 delete · 2 send or post
Install Opengolfapi in Claude Code, Cursor or VS Code
Runs npx -y @opengolfapi/mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-server -- npx -y @opengolfapi/mcp-server
What the publisher says
From the Opengolfapi repository's README, as published. We do not edit it. Read it on GitHub
@opengolfapi/mcp-server
Golf, for AI agents — the open data layer for golf. Give your assistant every US golf course (16,845), free, and let it contribute back, sign players in, and run tournaments. Build a whole golf app from a prompt.
OpenGolfAPI is a community-owned commons. One free key, and your agent can read the world's golf data and write to four open standards.
The standards (the whole story)
OpenGolfAPI is built on open, composable protocols — implement one or all:
The big idea: every shot, moment, and round contributed makes the shared commons better for everyone — a true two-way data layer. Read is free; contributing is how you earn your place in the standard.
What your agent gets
- Read (free, no key): search & compare courses · full scorecards (par / handicap / yardages) · hazards · live weather & climate · nearby places · tee advice.
- Contribute (free key): logshot, submitmoment → write to the open standards · getmyshots → read your own data back.
- Identity & tournaments (free key): signinwithopengolf (portable ID) · createtournamentinvite + jointournament (run an event — handicaps optional, gross or net).
A great golf app is an afternoon, not a year.
Install (MCP client config)
{
"mcpServers": {
"opengolfapi": {
"command": "npx",
"args": ["-y", "@opengolfapi/mcp-server"],
"env": {
"OPENGOLFAPI_KEY": "<free, optional — enables contributing, identity & tournaments>"
}
}
}
}Get a free OPENGOLFAPIKEY at https://courses.opengolfapi.org/api-keys. Read tools work with no key**.
Claude Desktop: the config file is claudedesktopconfig.json (Settings → Developer → Edit Config). Claude Code: claude mcp add opengolfapi -- npx -y @opengolfapi/mcp-server. Going keyless? Delete the whole env block — every read tool works without it (do NOT paste the placeholder as a key).
First prompt to try: "Find golf courses near Chicago and show me the hardest one."
Which score tool when: casual one-shot scoring → scoreround · leagues/tournaments (scores arrive over time, standings matter) → createcompetition → recordattempt → finalizecompetition · streaming devices/live apps → submit_moment. Canonical domain model: https://api.opengolfapi.org/api/v1/model
Tools
<!-- TOOLS:START (auto-generated from src by gen-manifest.mjs — do not edit by hand) --> 56 tools:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Opengolfapi: common questions
- Is Opengolfapi MCP server safe?
- Mostly: it is graded B (77/100). Read the Opengolfapi safety report
- How do I install Opengolfapi?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Opengolfapi need an API key?
- Yes. The registry entry asks for
OPENGOLFAPI_KEY. - Is Opengolfapi maintained?
- The last commit was 78 days ago (2026-08-18). The latest release is v3.5.1.
- How does Opengolfapi compare with other MCP servers?
- safety score 77/100 (higher than 50% of 48,255 servers); tools 56 (the typical server has 7); tools that change things 13% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.