PGA – Play Golf MCP Server

The PGA of America's MCP server is designed to provide AI agents and LLMs with the insight and expertise of over 31,000 certified PGA golf professionals through a suite of specialized tools. Use this server to find a golf coach, search for programs, book a lesson, and improve your game.

Technical Details

Setup Instructions

Cursor

Add this MCP Server to Cursor by clicking the button below:

Install MCP Server

Alternatively, you can add the following entry to your .cursor/mcp.json file:

{
  "mcpServers": {
    "mcp-pga-com": {
      "url": "https://mcp.pga.com/mcp"
    }
  }
}

Claude Code

Add this MCP server to Claude Code by running:

claude mcp add --transport http pga-play-golf https://mcp.pga.com/mcp

Alternatively, you can add the following entry to your .mcp.json file:

{
  "mcpServers": {
    "pga-play-golf": {
      "type": "http",
      "url": "https://mcp.pga.com/mcp"
    }
  }
}

Tools

search_golf_coaches

Search for qualified PGA golf coaches for private lessons listed on pga.com/coach in the specified location. Results also include a short teaser of upcoming public programs those coaches host. For location-first discovery of clinics, camps, classes, or other group programs across many coaches, use search_golf_programs instead.

Parameters:

Response:

Returns a list of bookable coaches with detailed information including:

Example:

// search_golf_coaches(searchLocation="Boston, Massachusetts")

Here are 3 golf coaches near the location provided:

{
  "coaches": [
    {
      "slug": "alexander_socinski",
      "name": "Alexander Socinski",
      "title": "Golf Professional",
      "memberType": "Member",
      "location": {
        "city": "Boston",
        "state": "MA"
      },
      "bio": "PGA Professional with 10+ years of experience...",
      "photo": "https://example.com/photo.jpg",
      "profileUrl": "https://www.pga.com/coach/alexander_socinski",
      "bookingUrl": "https://my.pga.com/coach/alexander_socinski/schedule",
      "nextAvailability": {
        "dateTime": "2025-01-15T10:00:00-05:00",
        "timezone": "America/New_York"
      },
      "offerings": [
        {
          "id": "bba9e0e9-e4d7-4efa-bdee-9c30afb20118",
          "title": "Individual Golf Lesson",
          "category": "PRIVATE",
          "location": "Lynx Fitness Club",
          "timezone": "America/New_York",
          "price": 85.00,
          "duration": 60,
          "requiresPrepayment": false
        }
      ],
      "facilities": [
        {
          "id": "ac4943db-c1e4-4f9a-a715-832ba4e8abce",
          "name": "Lynx Fitness Club"
        }
      ],
      "programs": [
        {
          "title": "Beginner Clinic",
          "description": "An on-course clinic for new golfers.",
          "startDateTime": "2025-02-01T09:00:00-05:00",
          "endDateTime": "2025-02-01T11:00:00-05:00",
          "timezone": "America/New_York",
          "price": 75.0,
          "sessionCount": 1,
          "tags": ["Clinic"],
          "registrationFull": false,
          "hasWaitlist": false,
          "photo": "https://example.com/clinic.jpg",
          "programUrl": "https://www.pga.com/things-to-do/events/beginner-clinic",
          "facility": {
            "name": "Lynx Fitness Club",
            "street": "100 Main St",
            "city": "Boston",
            "state": "MA",
            "zipCode": "02108"
          }
        }
      ]
    }
    // ... additional coaches
  ],
  "count": 3,
  "hasNextPage": true,
  "endCursor": "abc123"
}

search_golf_programs

Search for upcoming public PGA Coach programs (clinics, camps, classes, and group events) near a location.

Parameters:

Response:

Returns upcoming public programs with detailed information including:

Example:

// search_golf_programs(searchLocation="Las Vegas, NV")

Here is 1 golf program near the location provided, hosted by 1 coach across 1 facility:

{
  "programs": [
    {
      "id": "17828009-41ec-4680-94ec-aba514ab5bf7",
      "title": "Whiskey & Wedges",
      "description": "A welcoming on-course clinic for players of all skill levels.",
      "startDateTime": "2026-08-19T17:00:00-07:00",
      "endDateTime": "2026-08-19T22:00:00-07:00",
      "timezone": "America/Los_Angeles",
      "price": 125.00,
      "sessionCount": 1,
      "tags": ["Alcohol OK"],
      "registrationFull": false,
      "hasWaitlist": false,
      "photo": "https://example.com/program.jpg",
      "programUrl": "https://www.pga.com/things-to-do/events/whiskey-wedges-419786",
      "facility": {
        "name": "Las Vegas Golf and Tennis",
        "street": "1 Fairway Dr",
        "city": "Las Vegas",
        "state": "NV",
        "zipCode": "89101",
        "timezone": "America/Los_Angeles"
      },
      "distanceMiles": 3.2,
      "coach": {
        "name": "Alex Beletskiy, PGA",
        "title": "Golf Professional",
        "memberType": "PGA Member",
        "slug": "alexeybeletskiy",
        "bio": "PGA Professional with 10+ years of experience...",
        "photo": "https://example.com/coach.jpg",
        "profileUrl": "https://www.pga.com/coach/alexeybeletskiy",
        "bookingUrl": "https://my.pga.com/coach/alexeybeletskiy/schedule",
        "location": {
          "city": "Dayton",
          "state": "OH"
        }
      }
    }
  ],
  "coaches": [
    {
      "name": "Alex Beletskiy, PGA",
      "title": "Golf Professional",
      "memberType": "PGA Member",
      "slug": "alexeybeletskiy",
      "bio": "PGA Professional with 10+ years of experience...",
      "photo": "https://example.com/coach.jpg",
      "profileUrl": "https://www.pga.com/coach/alexeybeletskiy",
      "bookingUrl": "https://my.pga.com/coach/alexeybeletskiy/schedule",
      "location": {
        "city": "Dayton",
        "state": "OH"
      }
    }
  ],
  "facilities": [
    {
      "name": "Las Vegas Golf and Tennis",
      "street": "1 Fairway Dr",
      "city": "Las Vegas",
      "state": "NV",
      "zipCode": "89101",
      "timezone": "America/Los_Angeles"
    }
  ],
  "count": 1,
  "hasNextPage": false,
  "endCursor": null
}

get_golf_coach_availability

Retrieve offerings and availability for a specific golf coach.

Parameters:

Response:

Returns the coach's profile and their available offerings, each with a list of bookable time slots:

Example:

// get_golf_coach_availability(slug="alexander_socinski")

Here are the offerings and availability for Alexander Socinski:

{
  "coach": {
    "slug": "alexander_socinski",
    "name": "Alexander Socinski",
    "title": "Golf Professional",
    "photo": "https://example.com/photo.jpg",
    "offerings": [
      {
        "id": "bba9e0e9-e4d7-4efa-bdee-9c30afb20118",
        "title": "Individual Golf Lesson",
        "location": "Lynx Fitness Club",
        "timezone": "America/New_York",
        "price": 85.00,
        "duration": 60,
        "requiresPrepayment": false,
        "availableTimes": [
          "2025-01-15T10:00:00-05:00",
          "2025-01-15T11:00:00-05:00",
          "2025-01-16T09:00:00-05:00"
        ]
      }
    ]
  }
}

Scoped example:

// get_golf_coach_availability(slug="alexander_socinski", offeringId="bba9e0e9-e4d7-4efa-bdee-9c30afb20118")

book_golf_lesson

Request to book a golf lesson for a specific coach's offering. A continuation URL will be returned that the user can visit after calling this tool. If the offering was booked automatically (e.g., free lesson or no prepayment required), the confirmation code will also be included.

Parameters:

Response:

Returns one of the following:

Example:

// book_golf_lesson(offeringId="lesson_123", startDateTime="2025-01-15T10:00:00-05:00", student={type: "adult", firstName: "John", lastName: "Doe", email: "john@example.com", phone: "555-123-4567"})

Your lesson has been booked successfully!

{
  "lesson": {
    "confirmationCode": "ABC123XYZ"
  },
  "continuationUrl": "https://my.pga.com/booking/confirm/ABC123XYZ",
  "message": "Your lesson has been booked successfully!"
}