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, 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 listed on pga.com/coach in the specified location.

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"
        }
      ]
    }
    // ... additional coaches
  ],
  "count": 3,
  "hasNextPage": true,
  "endCursor": "abc123"
}

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!"
}