MCP.Market

Opengolfapi MCP server

by opengolfapi·io.github.opengolfapi/mcp-server·v3.5.1·4 stars

Golf for AI agents — every US course free, plus open contribution, identity & tournaments.

B77/100grade B
What users say
No reviews yet
Be the first
Safety scan
B77/100

full report

Adoption
Growing

4 stars42 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • about

    What OpenGolfAPI is and how to use this MCP server.

  • broadcast_feed

    OpenBroadcast 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_in

    Finish 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 action

    Create a Competition (any OpenMatch format). Requires key.

  • create_dev_keywrite action

    Mint 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 action

    Create a shareable invite (QR/link); everyone who redeems it joins the SAME event/session. max_uses caps size (foursome=4). Requires key.

  • file_claim

    File a Claim in the trust ledger (ownership/attestation/identity/record/correction). Requires key.

  • finalize_competition

    Finalize — run the kernel, store the gross Result. Requires key.

  • find_beacons

    Discover ACTIVE public beacons (find-my-group / matchmaking). Requires key.

  • get_awards

    A player's OpenAwards — derived trophies + course passport. Requires key.

  • get_beta

    Read local course knowledge for a course/hole (free).

  • get_climate

    Monthly climate normals + best months to play for a course. Free.

  • get_competition

    A Competition + live gross standings (free).

  • get_conditions

    LIVE weather at a course (temp/wind/precip, forecast-model, 15-min cache). FREE. Feeds plays_like.

  • get_correction

    Check the status/verdict of a correction you proposed (approved | rejected | needs_info | applied). Requires a key.

  • get_course

    Full detail for one course by id: scorecard (par + handicap per hole), tees, location, contact, nearby. Free.

  • get_handicap

    OpenIndex (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_chain

    Export YOUR tamper-evident OpenGolf Chain + checkpoints. Requires key (own-read free).

  • get_my_moments

    Read back your own contributed moments (breadcrumbs, swings, putts, conditions…) by player, session, or type. Requires a key.

  • get_my_shots

    Read back your own contributed shots by player or session. Requires a key.

  • get_nearby

    Nearby hotels, restaurants, and other courses for a course. Free.

  • get_passport

    FREE (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_profile

    A player's public OpenGolf ID card — name, avatar, links, prefs. Free.

  • get_referrals

    How many golfers a user has referred (+ the list) — the viral-loop metric for your app. Needs a key.

  • get_showcase

    A 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_tees

    All tee sets for a course with ratings, slopes, and yardages. Free.

  • get_weather

    Live weather forecast for a course location (Weather.gov). Free.

  • how_to_build

    The safe playbook for building on OpenGolfAPI and contributing data the right way. Call this once before contributing.

  • join_tournament

    Redeem an invite token — the player joins the group/event. Requires key.

  • link_dev_key

    Confirm your OpenGolf ID on an EXISTING key. Sign in first; pass that access_token + the key.

  • list_claims

    List Claims (free). Filter claimant/subject/status.

  • list_competitions

    List Competitions (free). Filter org/course/status.

  • list_dev_keys

    List the keys owned by your OpenGolf ID (prefixes only). Needs access_token from complete_sign_in.

  • list_game_formats

    Every OpenMatch scoring format. GROSS scoring is free & keyless.

  • list_orgs

    Public directory of verified orgs (free).

  • list_webhooks

    List your active webhook subscriptions. Requires key.

  • log_shot

    Contribute a golf shot to the open OpenShot standard (any launch monitor). Requires a key. Units: speed mph, angles deg, spin rpm, distance yds.

  • mint_asset

    Mint an Asset (trophy/badge/stamp/coupon/membership) into the owner's trophy case + chain. Requires key.

  • plays_like

    Effective distance — THE canonical "plays like" number (wind/elevation/temp/altitude), factors itemized. FREE, no key. Pair with get_conditions for live wind.

  • post_betawrite action

    Drop local course knowledge ("beta") on a hole — the AI-caddie's fuel. Requires key.

  • propose_correction

    Propose 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_attempt

    Record an Attempt (score or side-game value). Idempotent. Requires key.

  • record_consent

    Record a player's consent grant (auditable, revocable). Requires key.

  • record_referral

    Record 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_webhook

    Register an https URL for your domain events (HMAC-signed deliveries, owner-scoped). Requires your key (Authorization: Bearer ogapi_…).

  • remove_webhookwrite action

    Deactivate one of your webhook subscriptions by id (audit row kept). Requires key.

  • request_sign_in_code

    Start "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_review

    Respond to a correction that came back as needs_info — add a source or explanation and re-open it for review. Requires a key.

  • score_round

    Score 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_courses

    Search US golf courses by name, US state, or location (lat/lng + radius). Returns matching courses with location, type, par. Free, ODbL data.

  • set_beacon

    Broadcast a consented, EXPIRING presence/availability beacon (present|available|open). Requires key.

  • sign_in_with_opengolf

    Derive 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 action

    Contribute 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 action

    Edit a player's self-asserted profile fields (derived facts can't be set). Requires key (claimed players need their grant).

  • verify_chain

    Verify 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_record

    Verify 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

no findings
  • 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
Overall 77/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.