MYOPL MCP tools: parameters, responses and examples
Published
MYOPL provides five public MCP tools and five tools for your connected account. This reference explains what to ask, which inputs each tool takes and how to read its response. For a player-friendly introduction, read What can you ask MYOPL through your AI assistant?.
Choose your connection
| Connection | Endpoint | Access |
|---|---|---|
| Public | https://api.myopl.net/mcp |
Free public lookups without a MYOPL account or API key. |
| Personal | https://api.myopl.net/mcp/personal |
MYOPL Plus or higher, OAuth sign-in, consent and enabled account features. |
Use Connect your AI for setup and OAuth connection help to connect or disconnect your account. You can ask your assistant in everyday language; developers use the exact tool and parameter names below. Tool names, JSON fields and enum values stay the same in every language.
Connect directly from an AI assistant
- In your assistant's remote MCP settings, add MYOPL with
https://api.myopl.net/mcpand no authentication. - Start a chat: “Use MYOPL to show the published pickleball rating for username g.”
- For personal tools, add
https://api.myopl.net/mcp/personal, choose OAuth, sign in to your MYOPL Plus or higher account and approve the requested permissions. - Ask “What is my pickleball OPL Rating?” or supply a league link and ask for your next session. Review any prepared RSVP through its MYOPL confirmation link.
For supported desktop and agent clients, you can also install the public connection:
npx add-mcp 'https://api.myopl.net/mcp'
Connect your own model or inference endpoint
Choose a model provider, a hosted inference endpoint or a local model that fits your application. The model produces the conversation; an MCP client in your application retrieves MYOPL data. Configure these as separate connections.
For example, Hugging Face Inference Endpoints hosts your chosen model. Configure its inference URL and provider credentials in your agent application's model settings, then add MYOPL in its MCP settings:
| Application setting | Example value |
|---|---|
| Model connection | Your deployed Hugging Face inference URL and its provider credentials |
| Public tools connection | https://api.myopl.net/mcp, Streamable HTTP, no authentication |
| Personal tools connection | https://api.myopl.net/mcp/personal, Streamable HTTP, per-user MYOPL OAuth |
The same separation applies when you change inference providers. Use a model and agent runtime that support tool calling, and follow this request cycle:
- Initialize the MCP connection and retrieve
tools/list. - Pass each tool's name, description and
inputSchemato the model in the tool format supported by its inference API. - When the model requests a MYOPL tool, validate its arguments and execute
tools/callthrough the MCP client. - Return the result to the model with the matching tool-call identifier.
Read
structuredContentagainst the tool'soutputSchemaand handleisErrorbefore composing a successful answer. - Include the MYOPL attribution and returned source links in the answer. Preserve rating precision, rule citations and the distinction between zero, unknown and unrated values.
The agent runtime performs the tool calls; a model inference request alone does not execute them. Keep inference credentials with the model provider and MYOPL tokens with the MYOPL client. Personal OAuth belongs to the individual user; follow the granted scopes, refresh-token flow and rate-limit retry headers. See the integration guide, OAuth guide and MCP host/client architecture.
Read the tool schemas
After initialize, call tools/list on the chosen connection. Each tool
provides an inputSchema with parameter descriptions and an outputSchema
for the data returned in structuredContent. Personal tools are listed
according to the account's permissions and enabled features.
Call tools/call with the tool's name and arguments. For example:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_public_player_rating",
"arguments": { "username": "g" }
}
}
Read structuredContent for the named fields described below and content
for the accompanying text. Include MYOPL and the returned MYOPL source links
in answers. Card presentation information is supplied separately in _meta;
MCP Apps clients use the referenced resource to render it. The
developer guide and integration guide
cover HTTP headers, discovery and client configuration.
Public tools
1. get_public_player_rating
Retrieve the current published singles and doubles OPL Ratings and public rating totals for an exact MYOPL username.
Example question: “Show the pickleball rating and statistics for MYOPL username g.”
| Parameter | Required | Description |
|---|---|---|
username |
Yes | Exact public MYOPL username without @. Use 1–64 letters, numbers, underscores, periods or hyphens. Example: g. |
Returns: found, source, source_url, spoken_reply and retrieved_at.
When a player is found, the response also includes username, sport,
singles_opl, doubles_opl, singles, doubles, messenger_url and guidance.
The rating fields are explained below. The player's unique messenger_url
provides the MYOPL link for connecting with that player. A single result
supplies both formats and the public rating card.
2. prepare_pickleball_browse
Find public courts, clubs or Open Play Leagues for a named city, state or country, or offer the user a choice of categories.
Example question: “Find pickleball courts in Jupiter, Florida.”
| Parameter | Required | Description |
|---|---|---|
location |
Yes | City, state or country, 1–120 characters. Example: Jupiter, FL. Ask for more detail when a place name is ambiguous. |
language |
No | en for English or es for Spanish labels. Defaults to en. |
category |
No | courts, clubs, sessions or leaderboards. Omit it to receive category choices. sessions and leaderboards return public league listings. |
Returns: version, location, language, sport, spoken_reply,
choices, status, guidance, source and source_url. Each choice has
id, label and browse_section. Status is choice_required, results
or no_results.
With a category, selection records category, browse_section, query and
sport; results contains up to five listings, and has_more indicates
additional matches. Refine the location when has_more is true.
Each listing includes entity_type, sport_type, slug, name, public_url
and source. Depending on the listing, it can also contain:
- Place details:
description,city,region,country,access,surface,netsandamenities. - Court totals:
court_count,indoor_courtsandoutdoor_courts. - Linked places:
locationorlocations, withname,city,region,countryandpublic_url. - League context:
leaderboard_url,leaderboard_statusandsession_availability_checked.
Open public_url to continue in MYOPL. Interpret availability and standings
using the returned fields: session_availability_checked: false means a
directory lookup, and leaderboard_url: null means the response supplies no
standings link. A directory result is a place to explore; attendance is
handled through the league's session and RSVP workflow.
3. search_pickleball_rules
Find relevant evidence from the official 2026 USA Pickleball Rulebook, which MYOPL uses under an official licensing agreement with USA Pickleball.
Example question: “Explain the kitchen-line rule on a serve and cite the official rule.”
| Parameter | Required | Description |
|---|---|---|
query |
Yes | Pickleball scenario, topic or official rule number, 1–1,000 characters. |
language |
No | Use en for official rulebook evidence; defaults to en. Preserve the original rule citations when translating the answer for the user. |
Returns: source, governing_body, edition, language, source_url,
myopl_url, evidence, clarification, guidance, spoken_reply and an
answer when supplied. evidence contains up to five excerpts, each with
rule, rule_number, title, official_text, text, canonical_url,
canonical_url_type, truncated and authority.
Use rule_number and the returned source links when citing a rule. Ask the
question in clarification when present. truncated identifies a partial
excerpt; official_text is null when contact redaction was needed, while
text contains the redacted excerpt. See the
MYOPL pickleball rules guide for further reading.
4. search_myopl_help
Find published MYOPL Help Center instructions with links to the full articles.
Example question: “Find MYOPL instructions for changing my court preferences.”
| Parameter | Required | Description |
|---|---|---|
query |
Yes | MYOPL feature or task for which the user needs instructions, 1–1,000 characters. |
language |
No | en for English or es for Spanish. Defaults to en. |
Returns: source, myopl_url, results, clarification and guidance.
Each of up to five results contains url, title, language, excerpt and
truncated. Link to url for the full article.
5. search_myopl_website
Find published MYOPL product information and learning guides with source links.
Example question: “Find MYOPL's explanation of rating reliability.”
| Parameter | Required | Description |
|---|---|---|
query |
Yes | MYOPL product or website topic to find in published pages, 1–1,000 characters. |
language |
No | en for English or es for Spanish. Defaults to en. |
Returns: source, myopl_url, results, clarification and guidance.
Each of up to five results contains url, title, language, excerpt and
truncated. Use the page's url as the source link in your answer.
Personal tools
Personal tools use the account identified by OAuth. The following scopes describe the permission each tool requires. For a league parameter, use the exact identifier from the user's MYOPL league link: 1–150 letters, numbers, underscores or hyphens. The account must belong to that league.
6. get_my_rating
Retrieve your current published singles and doubles OPL Ratings and public totals.
Example question: “What is my pickleball OPL Rating?”
Permission: myopl:rating:read.
Parameters: None; send an empty object {}. OAuth identifies the player.
Returns: The same rating fields as get_public_player_rating, including
retrieved_at and spoken_reply. When the connection also grants statistics
access, this call supplies the complete MYOPL card. Use this one result for a
rating question instead of requesting a second statistics card.
7. get_my_next_session
Find the next session in a MYOPL league you belong to.
Example question: “When is my next session in this MYOPL league?” Share the league link.
Permission: myopl:sessions:read.
| Parameter | Required | Description |
|---|---|---|
league |
Yes | Exact MYOPL league slug from its link, for a league the connected account belongs to. |
Returns: league, league_name, date and time. Date and time are
strings as displayed by MYOPL; preserve their supplied meaning when replying.
8. prepare_my_rsvp
Prepare an attendance response for your next league session, then review and confirm it on MYOPL.
Example question: “Prepare a Going RSVP for my next session in this league.”
Permission: myopl:rsvp:write.
| Parameter | Required | Description |
|---|---|---|
league |
Yes | Exact MYOPL league slug from its link, for a league the connected account belongs to. |
response |
Yes | yes to attend, maybe if undecided or no to decline. The account owner confirms on MYOPL. |
Returns: status: "confirmation_required", action_id, confirmation_url,
expires_in and guidance. expires_in is the number of seconds remaining to
confirm. Open the returned confirmation_url, review the proposal and confirm.
Use the returned action identifier to check completion.
9. get_my_action_status
Check whether MYOPL completed an RSVP you prepared and confirmed.
Example question: “Did MYOPL confirm the RSVP I just approved?”
Permission: myopl:rsvp:write.
| Parameter | Required | Description |
|---|---|---|
action_id |
Yes | The 64-character alphanumeric identifier returned by prepare_my_rsvp on this same account connection. Use the returned value exactly. |
Returns: status and guidance when supplied.
| Status | Meaning |
|---|---|
pending |
The prepared action awaits confirmation. |
processing |
MYOPL is processing the confirmed action. |
completed |
MYOPL completed and synchronized the RSVP. |
failed |
The action did not complete; follow the returned guidance. |
unavailable |
No accessible, unexpired prepared action was found for this connection. |
Report an RSVP as completed only when its status is completed.
10. get_my_statistics_card
Retrieve your singles and doubles statistics card and text summary.
Example question: “Show my games, points and Reliability Score for pickleball.”
Permission: myopl:statistics:read.
Parameters: None; send an empty object {}. OAuth identifies the player.
Returns: found, source, source_url, username, sport, singles_opl,
doubles_opl, singles, doubles, messenger_url, guidance, summary and
card_type: "myopl_rating". The response supplies the card separately in
_meta. Include the returned totals and a MYOPL source link in the text reply.
Rating fields shared by the rating and statistics tools
singles_opl and doubles_opl hold the published ratings as decimal strings
or null. Each singles and doubles object contains:
| Field | Type and meaning |
|---|---|
rating |
Exact decimal string, or null for an unrated format. Preserve the supplied precision. |
status |
rated or unrated. |
reliability_score |
Number from 0 to 100, or null when unknown. |
games_played |
Non-negative integer or null: games played in this format. |
games_won, games_lost |
Non-negative integers or null: games won and lost. |
points_won, points_lost |
Non-negative integers or null: points won and lost. |
A recorded zero is a value; null is unknown. Games are distinct from matches.
If found is false, use the returned text instead of constructing a rating.
Request current data for each new rating question and retain MYOPL attribution.
Response handling and further reading
A tool execution error has isError: true and an error field in
structuredContent; public tool errors also include source and myopl_url.
Transport and invalid-request errors use HTTP or JSON-RPC error responses.
Honor Retry-After on HTTP 429. Personal integrations renew expired access
tokens using their OAuth refresh grant.