You can ask Claude about golf clubs and get answers from GolfAPI.dev data. Connect it as an MCP server at https://mcp.golfapi.dev, and the assistant uses your API key to search clubs, read specs and check what changed. Every tool call is one GET on the REST API, so your key's limits and access apply.
Add it to claude.ai
claude.ai custom connectors cannot send an Authorization header, so the endpoint also supports OAuth:
- In claude.ai, open Settings, then Connectors, and add a custom connector.
- Enter
https://mcp.golfapi.devas the URL. - When the GolfAPI.dev sign-in page opens, paste an API key from the Console. The page checks the key once.
To disconnect the connector, revoke the key in the Console. Create a key for the connector alone, so revoking it does not stop your other integrations.
The MCP page has the steps for ChatGPT, Cursor, VS Code, Claude Desktop, Claude Code and Codex, and prompts to try.
Add it to a client that sends headers
Claude Code and other MCP clients that can set a header can skip OAuth. Send the key as a bearer token:
claude mcp add --transport http golfapi https://mcp.golfapi.dev \
--header "Authorization: Bearer $GOLFDEV_API_KEY"
Run export GOLFDEV_API_KEY='sk_test_…' with your key in the same terminal first. Leave $GOLFDEV_API_KEY as written; the shell replaces it with your key. How to set your key
A request with no credential returns 401 with an OAuth challenge.
The six MCP tools
| Tool | What it does | REST request it makes |
|---|---|---|
describe_api | Lists club types, the response version, the resources this key can read and the catalog release it reads | GET / |
search_clubs | Lists one club type with filters: text, maker, family, year, hand, loft, adjustable hosel, price on Pro | GET /{club type} |
get_club | Reads one club by clb_ id or slug, optionally narrowed to one hand or loft | GET /{club type}/{ref} |
get_coverage | Counts published clubs by maker and year, and fields by presence | GET /coverage |
get_changes | Lists clubs added, updated or removed after a catalog release | GET /changes |
api_get | Sends any other read-only GET path | the path given |
Ask the assistant to call describe_api first. Its result says which club types and views the key can read, which saves a round of 403 responses.
What the assistant can read depends on the key
A free key (sk_test_) reads a fixed sample: every 2025 and 2026 driver, with its US launch price where one is published, plus three mini-drivers and two fairway woods. On 13 November 2026 that was 66 drivers from 11 makers, 63 of them with a launch price. A record outside the sample returns 404, and the error says the key reads the sample.
A live key (sk_live_) reads the whole catalog for its plan. Hobby reads all seven club types. Pro adds launch prices and commercial use. See Pricing.
Each tool call counts as one request against your plan's monthly quota and per-minute limit.
Missing values stay missing
A field absent from a club's document has no published value. The server's instructions tell the assistant not to fill a missing value from another club, hand or loft, and to treat 0 and false as real values. Ask it to say when an answer depends on a value that is Not published. Handle missing specifications covers the three states in detail.
Example prompts
- "Which 2026 drivers are sold left-handed at 9°? Show maker and lofts."
- "Compare the 7-iron loft and lie of the Titleist T100 and T150 released in 2025."
- "List hybrids with a 22° head and give each one's head label."
- "What changed in the catalog since release bld_01M6F0VDZH8HGAJAG815AJAGQC?"
Connectors added before 13 November 2026 at https://api.golfapi.dev/mcp or https://mcp.golfapi.dev/mcp keep working. New connections use https://mcp.golfapi.dev.
For a client you write yourself, the Agent integration guide shows a bounded HTTP tool in JavaScript and Python.


