Skip to main content
Glama

MYOPL Personal MCP - Pickleball Ratings & Statistics

Server Details

MYOPL pickleball ratings, sessions, RSVP preparation and own statistics via OAuth sign-in and consent.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

5 tools
get_my_action_status
Read-onlyIdempotent
Inspect

Check whether MYOPL confirmed completion of your prepared RSVP.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesAction identifier returned by prepare_my_rsvp on this same account connection.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_my_next_session
Read-onlyIdempotent
Inspect

Find the next session for a league you belong to.

ParametersJSON Schema
NameRequiredDescriptionDefault
leagueYesExact MYOPL league slug from its link, for a league the signed-in account belongs to.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_my_rating
Read-onlyIdempotent
Inspect

Retrieve current published OPL ratings for the signed-in player. Use for questions such as what is my pickleball rating. Call again for each new current-rating question; previous chat answers may be stale. This connection also grants your statistics: this single call displays the complete MYOPL card. Do not call a second tool to display it again.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_my_statistics_card
Read-onlyIdempotent
Inspect

Retrieve your own private singles and doubles statistics card when asked for games, points, opponents or reliability. The get_my_rating tool already includes this card when statistics access is granted: do not call both tools for the same rating question. Include the public rating-card totals and a MYOPL source link in the reply.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

prepare_my_rsvpInspect

Prepare your RSVP for review and explicit confirmation on MYOPL. This call does not change an RSVP.

ParametersJSON Schema
NameRequiredDescriptionDefault
leagueYesExact MYOPL league slug from its link, for a league the signed-in account belongs to.
responseYesProposed attendance: yes to attend, maybe if undecided, or no to decline. The owner confirms on MYOPL.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changedget_my_action_status3 fields changed
      • addedInput schema / description
        Added value: +"Arguments for get_my_action_status."
      • addedInput schema / properties / action_id / description
        Added value: +"Action identifier returned by prepare_my_rsvp on this same account connection."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "description": "MYOPL structured response for get_my_action_status.",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "guidance": {
        +          "description": "Instructions for interpreting the action state.",
        +          "type": "string"
        +        },
        +        "status": {
        +          "description": "Only completed confirms that MYOPL synchronized the RSVP; unavailable means no accessible unexpired action.",
        +          "enum": [
        +            "pending",
        +            "processing",
        +            "completed",
        +            "failed",
        +            "unavailable"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "status"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "error": {
        +          "description": "Tool execution or argument error; the enclosing result has isError set to true.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_my_next_session3 fields changed
      • addedInput schema / description
        Added value: +"Arguments for get_my_next_session."
      • addedInput schema / properties / league / description
        Added value: +"Exact MYOPL league slug from its link, for a league the signed-in account belongs to."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "description": "MYOPL structured response for get_my_next_session.",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "date": {
        +          "description": "Next session date as displayed by MYOPL.",
        +          "type": "string"
        +        },
        +        "league": {
        +          "description": "MYOPL league slug.",
        +          "type": "string"
        +        },
        +        "league_name": {
        +          "description": "League display name.",
        +          "type": "string"
        +        },
        +        "time": {
        +          "description": "Next session time as displayed by MYOPL.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "league",
        +        "league_name",
        +        "date",
        +        "time"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "error": {
        +          "description": "Tool execution or argument error; the enclosing result has isError set to true.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_my_rating2 fields changed
      • addedInput schema / description
        Added value: +"No arguments. MYOPL uses the account connected through OAuth."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "description": "MYOPL structured response for get_my_rating.",
        +  "oneOf": [
        +    {
        +      "oneOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "doubles": {
        +              "additionalProperties": false,
        +              "description": "Doubles rating and public card totals. Games are distinct from matches.",
        +              "properties": {
        +                "games_lost": {
        +                  "description": "Games lost in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "games_played": {
        +                  "description": "Games played in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "games_won": {
        +                  "description": "Games won in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "points_lost": {
        +                  "description": "Points lost in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "points_won": {
        +                  "description": "Points won in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "rating": {
        +                  "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "reliability_score": {
        +                  "description": "Reliability Score from 0 to 100; null means unavailable.",
        +                  "maximum": 100,
        +                  "minimum": 0,
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "status": {
        +                  "description": "Whether a published rating exists.",
        +                  "enum": [
        +                    "rated",
        +                    "unrated"
        +                  ],
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "rating",
        +                "status",
        +                "reliability_score",
        +                "games_played",
        +                "games_won",
        +                "games_lost",
        +                "points_won",
        +                "points_lost"
        +              ],
        +              "type": "object"
        +            },
        +            "doubles_opl": {
        +              "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "found": {
        +              "const": true,
        +              "description": "Whether an accessible player with this exact username was found.",
        +              "type": "boolean"
        +            },
        +            "guidance": {
        +              "description": "Instructions for citing and interpreting the public rating totals.",
        +              "type": "string"
        +            },
        +            "messenger_url": {
        +              "description": "Player's unique MYOPL Messenger invitation link.",
        +              "format": "uri",
        +              "type": "string"
        +            },
        +            "retrieved_at": {
        +              "description": "Time this response was retrieved, including UTC offset.",
        +              "format": "date-time",
        +              "type": "string"
        +            },
        +            "singles": {
        +              "additionalProperties": false,
        +              "description": "Singles rating and public card totals. Games are distinct from matches.",
        +              "properties": {
        +                "games_lost": {
        +                  "description": "Games lost in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "games_played": {
        +                  "description": "Games played in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "games_won": {
        +                  "description": "Games won in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "points_lost": {
        +                  "description": "Points lost in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "points_won": {
        +                  "description": "Points won in this format; null means unknown and zero means a known zero total.",
        +                  "minimum": 0,
        +                  "type": [
        +                    "integer",
        +                    "null"
        +                  ]
        +                },
        +                "rating": {
        +                  "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "reliability_score": {
        +                  "description": "Reliability Score from 0 to 100; null means unavailable.",
        +                  "maximum": 100,
        +                  "minimum": 0,
        +                  "type": [
        +                    "number",
        +                    "null"
        +                  ]
        +                },
        +                "status": {
        +                  "description": "Whether a published rating exists.",
        +                  "enum": [
        +                    "rated",
        +                    "unrated"
        +                  ],
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "rating",
        +                "status",
        +                "reliability_score",
        +                "games_played",
        +                "games_won",
        +                "games_lost",
        +                "points_won",
        +                "points_lost"
        +              ],
        +              "type": "object"
        +            },
        +            "singles_opl": {
        +              "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "source": {
        +              "const": "MYOPL",
        +              "description": "Source platform.",
        +              "type": "string"
        +            },
        +            "source_url": {
        +              "description": "MYOPL rating reference to cite in the answer.",
        +              "format": "uri",
        +              "type": "string"
        +            },
        +            "spoken_reply": {
        +              "description": "Rating and public card totals with MYOPL attribution and links.",
        +              "type": "string"
        +            },
        +            "sport": {
        +              "const": "pickleball",
        +              "description": "Sport for these ratings.",
        +              "type": "string"
        +            },
        +            "username": {
        +              "description": "Exact MYOPL player username.",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "found",
        +            "source",
        +            "source_url",
        +            "spoken_reply",
        +            "retrieved_at",
        +            "username",
        +            "sport",
        +            "singles_opl",
        +            "doubles_opl",
        +            "singles",
        +            "doubles",
        +            "messenger_url",
        +            "guidance"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "found": {
        +              "const": false,
        +              "description": "Whether an accessible player with this exact username was found.",
        +              "type": "boolean"
        +            },
        +            "retrieved_at": {
        +              "description": "Time this response was retrieved, including UTC offset.",
        +              "format": "date-time",
        +              "type": "string"
        +            },
        +            "source": {
        +              "const": "MYOPL",
        +              "description": "Source platform.",
        +              "type": "string"
        +            },
        +            "source_url": {
        +              "description": "MYOPL rating reference to cite in the answer.",
        +              "format": "uri",
        +              "type": "string"
        +            },
        +            "spoken_reply": {
        +              "description": "Rating and public card totals with MYOPL attribution and links.",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "found",
        +            "source",
        +            "source_url",
        +            "spoken_reply",
        +            "retrieved_at"
        +          ],
        +          "type": "object"
        +        }
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "error": {
        +          "description": "Tool execution or argument error; the enclosing result has isError set to true.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedget_my_statistics_card2 fields changed
      • addedInput schema / description
        Added value: +"No arguments. MYOPL uses the account connected through OAuth."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "description": "MYOPL structured response for get_my_statistics_card.",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "card_type": {
        +          "const": "myopl_rating",
        +          "description": "Type of the accompanying MYOPL card.",
        +          "type": "string"
        +        },
        +        "doubles": {
        +          "additionalProperties": false,
        +          "description": "Doubles rating and public card totals. Games are distinct from matches.",
        +          "properties": {
        +            "games_lost": {
        +              "description": "Games lost in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "games_played": {
        +              "description": "Games played in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "games_won": {
        +              "description": "Games won in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "points_lost": {
        +              "description": "Points lost in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "points_won": {
        +              "description": "Points won in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "rating": {
        +              "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "reliability_score": {
        +              "description": "Reliability Score from 0 to 100; null means unavailable.",
        +              "maximum": 100,
        +              "minimum": 0,
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "status": {
        +              "description": "Whether a published rating exists.",
        +              "enum": [
        +                "rated",
        +                "unrated"
        +              ],
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "rating",
        +            "status",
        +            "reliability_score",
        +            "games_played",
        +            "games_won",
        +            "games_lost",
        +            "points_won",
        +            "points_lost"
        +          ],
        +          "type": "object"
        +        },
        +        "doubles_opl": {
        +          "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "found": {
        +          "const": true,
        +          "description": "Whether an accessible player with this exact username was found.",
        +          "type": "boolean"
        +        },
        +        "guidance": {
        +          "description": "Instructions for citing and interpreting the public rating totals.",
        +          "type": "string"
        +        },
        +        "messenger_url": {
        +          "description": "Player's unique MYOPL Messenger invitation link.",
        +          "format": "uri",
        +          "type": "string"
        +        },
        +        "singles": {
        +          "additionalProperties": false,
        +          "description": "Singles rating and public card totals. Games are distinct from matches.",
        +          "properties": {
        +            "games_lost": {
        +              "description": "Games lost in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "games_played": {
        +              "description": "Games played in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "games_won": {
        +              "description": "Games won in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "points_lost": {
        +              "description": "Points lost in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "points_won": {
        +              "description": "Points won in this format; null means unknown and zero means a known zero total.",
        +              "minimum": 0,
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "rating": {
        +              "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "reliability_score": {
        +              "description": "Reliability Score from 0 to 100; null means unavailable.",
        +              "maximum": 100,
        +              "minimum": 0,
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "status": {
        +              "description": "Whether a published rating exists.",
        +              "enum": [
        +                "rated",
        +                "unrated"
        +              ],
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "rating",
        +            "status",
        +            "reliability_score",
        +            "games_played",
        +            "games_won",
        +            "games_lost",
        +            "points_won",
        +            "points_lost"
        +          ],
        +          "type": "object"
        +        },
        +        "singles_opl": {
        +          "description": "Published OPL rating as an exact decimal string, preserving precision; null means unrated.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "source": {
        +          "const": "MYOPL",
        +          "description": "Source platform.",
        +          "type": "string"
        +        },
        +        "source_url": {
        +          "description": "MYOPL rating reference to cite in the answer.",
        +          "format": "uri",
        +          "type": "string"
        +        },
        +        "sport": {
        +          "const": "pickleball",
        +          "description": "Sport for these ratings.",
        +          "type": "string"
        +        },
        +        "summary": {
        +          "description": "MYOPL rating and statistics summary for the text reply.",
        +          "type": "string"
        +        },
        +        "username": {
        +          "description": "Exact MYOPL player username.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "found",
        +        "source",
        +        "source_url",
        +        "summary",
        +        "card_type",
        +        "username",
        +        "sport",
        +        "singles_opl",
        +        "doubles_opl",
        +        "singles",
        +        "doubles",
        +        "messenger_url",
        +        "guidance"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "error": {
        +          "description": "Tool execution or argument error; the enclosing result has isError set to true.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
    • Changedprepare_my_rsvp4 fields changed
      • addedInput schema / description
        Added value: +"Arguments for prepare_my_rsvp."
      • addedInput schema / properties / league / description
        Added value: +"Exact MYOPL league slug from its link, for a league the signed-in account belongs to."
      • addedInput schema / properties / response / description
        Added value: +"Proposed attendance: yes to attend, maybe if undecided, or no to decline. The owner confirms on MYOPL."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "description": "MYOPL structured response for prepare_my_rsvp.",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "action_id": {
        +          "description": "Identifier to pass to get_my_action_status for this connection.",
        +          "pattern": "^[A-Za-z0-9]{64}$",
        +          "type": "string"
        +        },
        +        "confirmation_url": {
        +          "description": "MYOPL page where the owner reviews and confirms the RSVP.",
        +          "format": "uri",
        +          "type": "string"
        +        },
        +        "expires_in": {
        +          "description": "Seconds until this preparation expires.",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "guidance": {
        +          "description": "Instructions for presenting the confirmation step.",
        +          "type": "string"
        +        },
        +        "status": {
        +          "const": "confirmation_required",
        +          "description": "The RSVP awaits the account owner's confirmation.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "status",
        +        "action_id",
        +        "confirmation_url",
        +        "expires_in",
        +        "guidance"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "error": {
        +          "description": "Tool execution or argument error; the enclosing result has isError set to true.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "error"
        +      ],
        +      "type": "object"
        +    }
        +  ],
        +  "type": "object"
        +}
  2. 5 tool updates
    • First observedget_my_action_status
    • First observedget_my_next_session
    • First observedget_my_rating
    • First observedget_my_statistics_card
    • First observedprepare_my_rsvp

Publisher details

Operator
MYOPL | The Officially Casual Rating System for Open Play Pickleball · Publisher source
Vendor relationship
First-party
Restrictions
Requires a MYOPL.net account and any paid plan.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to connect to a privacy-first, self-hostable workout planning and training log, allowing coaching agents to preview and apply program changes while accessing training data through OAuth-protected endpoints.
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to sign in with OAuth 2.1 and read a user's WHOOP recovery, sleep, strain, and workout data through read-only tools, while also receiving and forwarding signed WHOOP webhooks to your endpoints.
    15 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Exposes WHOOP recovery, sleep, strain, and workout metrics to MCP-compatible AI assistants using OAuth 2.0 authentication, enabling daily wellbeing snapshots, trend analysis, and workload recommendations.
    6
    61 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables ChatGPT and other MCP clients to securely read Health Connect-derived health and training history, retrieve daily readiness and workout briefs, save schema-validated coach reports, and trigger email delivery through OAuth-protected tools.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources