JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/myopl-net/json-schema/myopl-net-mcp-response-schema.json",
"title": "McpResponse",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/myopl-net-openapi.json#/components/schemas/McpResponse",
"oneOf": [
{
"$ref": "#/$defs/JsonRpcSuccess"
},
{
"$ref": "#/$defs/JsonRpcError"
}
],
"$defs": {
"BrowseChoices": {
"type": "object",
"properties": {
"version": {
"const": 1
},
"location": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"en",
"es"
]
},
"sport": {
"const": "pickleball"
},
"spoken_reply": {
"type": "string"
},
"choices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"enum": [
"courts",
"clubs",
"sessions"
]
},
"label": {
"type": "string"
},
"browse_section": {
"enum": [
"courts",
"clubs",
"opls"
]
}
},
"required": [
"id",
"label",
"browse_section"
],
"additionalProperties": false
},
"minItems": 3,
"maxItems": 3
},
"status": {
"enum": [
"choice_required",
"results",
"no_results"
]
},
"guidance": {
"type": "string"
},
"selection": {
"type": "object",
"properties": {
"category": {
"enum": [
"courts",
"clubs",
"sessions",
"leaderboards"
]
},
"browse_section": {
"enum": [
"courts",
"clubs",
"opls"
]
},
"query": {
"type": "string"
},
"sport": {
"const": "pickleball"
}
},
"required": [
"category",
"browse_section",
"query",
"sport"
],
"additionalProperties": false
},
"source": {
"const": "MYOPL"
},
"source_url": {
"type": "string",
"format": "uri"
},
"results": {
"type": "array",
"maxItems": 5,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"entity_type": {
"type": [
"string",
"null"
]
},
"sport_type": {
"type": [
"string",
"null"
]
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"access": {
"type": [
"string",
"null"
]
},
"surface": {
"type": [
"string",
"null"
]
},
"nets": {
"type": [
"string",
"null"
]
},
"court_count": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"indoor_courts": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"outdoor_courts": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"amenities": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"public_url": {
"type": "string",
"format": "uri"
},
"source": {
"const": "MYOPL"
},
"location": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"public_url": {
"type": [
"string",
"null"
],
"format": "uri"
}
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"public_url": {
"type": [
"string",
"null"
],
"format": "uri"
}
}
}
},
"leaderboard_url": {
"type": "null"
},
"leaderboard_status": {
"const": "not_published"
},
"session_availability_checked": {
"const": false
}
}
}
},
"has_more": {
"type": "boolean"
}
},
"required": [
"version",
"location",
"language",
"sport",
"spoken_reply",
"choices",
"status",
"guidance",
"source",
"source_url"
],
"additionalProperties": false
},
"BrowseChoicesResult": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/$defs/TextContent"
},
"minItems": 1
},
"structuredContent": {
"$ref": "#/$defs/BrowseChoices"
},
"isError": {
"const": false
}
},
"required": [
"content",
"structuredContent",
"isError"
],
"additionalProperties": false
},
"DocumentSearch": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"en",
"es"
]
},
"excerpt": {
"type": "string",
"maxLength": 1800
},
"truncated": {
"type": "boolean"
}
},
"required": [
"url",
"title",
"language",
"excerpt",
"truncated"
],
"additionalProperties": false
},
"maxItems": 5
},
"clarification": {
"type": [
"string",
"null"
]
},
"guidance": {
"type": "string"
},
"myopl_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"source",
"results",
"clarification",
"guidance"
],
"additionalProperties": false
},
"DocumentSearchResult": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/$defs/TextContent"
},
"minItems": 1
},
"structuredContent": {
"$ref": "#/$defs/DocumentSearch"
},
"isError": {
"const": false
}
},
"required": [
"content",
"structuredContent",
"isError"
],
"additionalProperties": false
},
"InitializeResult": {
"type": "object",
"properties": {
"protocolVersion": {
"const": "2025-11-25"
},
"capabilities": {
"type": "object",
"properties": {
"tools": {
"type": "object",
"properties": {
"listChanged": {
"const": false
}
},
"required": [
"listChanged"
],
"additionalProperties": false
},
"resources": {
"type": "object",
"properties": {
"subscribe": {
"const": false
},
"listChanged": {
"const": false
}
},
"required": [
"subscribe",
"listChanged"
],
"additionalProperties": false
}
},
"required": [
"tools"
],
"additionalProperties": false
},
"serverInfo": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"name",
"version"
],
"additionalProperties": false
},
"instructions": {
"type": "string"
}
},
"required": [
"protocolVersion",
"capabilities",
"serverInfo",
"instructions"
],
"additionalProperties": false
},
"JsonRpcError": {
"type": "object",
"properties": {
"jsonrpc": {
"const": "2.0"
},
"id": {
"type": [
"string",
"integer",
"null"
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"data": {
"description": "Optional structured error or retry details."
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"required": [
"jsonrpc",
"id",
"error"
],
"additionalProperties": false
},
"JsonRpcSuccess": {
"type": "object",
"properties": {
"jsonrpc": {
"const": "2.0"
},
"id": {
"type": [
"string",
"integer"
]
},
"result": {
"oneOf": [
{
"$ref": "#/$defs/InitializeResult"
},
{
"$ref": "#/$defs/ToolsListResult"
},
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
{
"$ref": "#/$defs/BrowseChoicesResult"
},
{
"$ref": "#/$defs/DocumentSearchResult"
},
{
"$ref": "#/$defs/PlayerRatingResult"
},
{
"$ref": "#/$defs/RulesSearchResult"
},
{
"$ref": "#/$defs/ToolErrorResult"
},
{
"$ref": "#/$defs/ResourcesListResult"
},
{
"$ref": "#/$defs/ResourcesReadResult"
}
]
}
},
"required": [
"jsonrpc",
"id",
"result"
],
"additionalProperties": false
},
"PlayerRating": {
"oneOf": [
{
"type": "object",
"properties": {
"found": {
"const": false
},
"spoken_reply": {
"type": "string"
},
"source": {
"const": "MYOPL"
},
"source_url": {
"type": "string",
"format": "uri"
},
"retrieved_at": {
"type": "string",
"format": "date-time",
"description": "UTC retrieval timestamp when supplied by the card-capable server."
}
},
"required": [
"found",
"spoken_reply",
"source",
"source_url"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"found": {
"const": true
},
"username": {
"type": "string"
},
"sport": {
"const": "pickleball"
},
"singles_opl": {
"type": [
"string",
"null"
],
"description": "Published decimal string or null; do not estimate a missing rating."
},
"doubles_opl": {
"type": [
"string",
"null"
]
},
"guidance": {
"type": "string"
},
"spoken_reply": {
"type": "string"
},
"source": {
"const": "MYOPL"
},
"source_url": {
"type": "string",
"format": "uri"
},
"retrieved_at": {
"type": "string",
"format": "date-time",
"description": "UTC retrieval timestamp when supplied by the card-capable server."
},
"singles": {
"$ref": "#/$defs/PublicRatingSummary"
},
"doubles": {
"$ref": "#/$defs/PublicRatingSummary"
},
"messenger_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"found",
"username",
"sport",
"singles_opl",
"doubles_opl",
"guidance",
"spoken_reply",
"source",
"source_url",
"singles",
"doubles",
"messenger_url"
],
"additionalProperties": false
}
]
},
"PlayerRatingResult": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/$defs/TextContent"
},
"minItems": 1
},
"structuredContent": {
"$ref": "#/$defs/PlayerRating"
},
"isError": {
"const": false
}
},
"required": [
"content",
"structuredContent",
"isError"
],
"additionalProperties": false
},
"PublicRatingSummary": {
"type": "object",
"properties": {
"rating": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"rated",
"unrated"
]
},
"reliability_score": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 100
},
"games_played": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"games_won": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"games_lost": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"points_won": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"points_lost": {
"type": [
"integer",
"null"
],
"minimum": 0
}
},
"additionalProperties": false,
"required": [
"rating",
"status",
"reliability_score",
"games_played",
"games_won",
"games_lost",
"points_won",
"points_lost"
],
"description": "Public rating-card totals. Null means unavailable, never zero. Games are not matches."
},
"ResourceContent": {
"type": "object",
"properties": {
"uri": {
"const": "ui://myopl/public-rating-v1.html"
},
"name": {
"type": "string"
},
"mimeType": {
"const": "text/html;profile=mcp-app"
},
"text": {
"type": "string"
},
"_meta": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"uri",
"name",
"mimeType",
"text"
],
"additionalProperties": false
},
"ResourceDescription": {
"type": "object",
"properties": {
"uri": {
"const": "ui://myopl/public-rating-v1.html"
},
"name": {
"type": "string"
},
"mimeType": {
"const": "text/html;profile=mcp-app"
}
},
"required": [
"uri",
"name",
"mimeType"
],
"additionalProperties": false
},
"ResourcesListResult": {
"type": "object",
"properties": {
"resources": {
"type": "array",
"items": {
"$ref": "#/$defs/ResourceDescription"
}
}
},
"required": [
"resources"
],
"additionalProperties": false
},
"ResourcesReadResult": {
"type": "object",
"properties": {
"contents": {
"type": "array",
"items": {
"$ref": "#/$defs/ResourceContent"
}
}
},
"required": [
"contents"
],
"additionalProperties": false
},
"RuleEvidence": {
"type": "object",
"properties": {
"rule": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string",
"maxLength": 4000
},
"truncated": {
"type": "boolean"
},
"authority": {
"type": "string"
},
"rule_number": {
"type": "string"
},
"official_text": {
"type": [
"string",
"null"
],
"maxLength": 4000,
"description": "Verbatim excerpt, or null if redaction was necessary. Read truncated before treating this as complete."
},
"canonical_url": {
"type": "string",
"format": "uri"
},
"canonical_url_type": {
"const": "rulebook_guide"
}
},
"required": [
"rule",
"title",
"text",
"truncated",
"authority",
"rule_number",
"official_text",
"canonical_url",
"canonical_url_type"
],
"additionalProperties": false
},
"RulesSearch": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"governing_body": {
"type": "string"
},
"edition": {
"type": "string"
},
"language": {
"type": "string"
},
"source_url": {
"type": "string",
"format": "uri"
},
"myopl_url": {
"type": "string",
"format": "uri"
},
"evidence": {
"type": "array",
"items": {
"$ref": "#/$defs/RuleEvidence"
},
"maxItems": 5
},
"clarification": {
"type": [
"string",
"null"
]
},
"guidance": {
"type": "string"
},
"answer": {
"type": "string",
"description": "Present when the server resolver is enabled. Preserve qualifications and requests for clarification."
},
"spoken_reply": {
"type": "string"
}
},
"required": [
"source",
"governing_body",
"edition",
"language",
"source_url",
"myopl_url",
"evidence",
"clarification",
"guidance"
],
"additionalProperties": false
},
"RulesSearchResult": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/$defs/TextContent"
},
"minItems": 1
},
"structuredContent": {
"$ref": "#/$defs/RulesSearch"
},
"isError": {
"const": false
}
},
"required": [
"content",
"structuredContent",
"isError"
],
"additionalProperties": false
},
"TextContent": {
"type": "object",
"properties": {
"type": {
"const": "text"
},
"text": {
"type": "string"
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
},
"ToolDefinition": {
"type": "object",
"properties": {
"name": {
"enum": [
"prepare_pickleball_browse",
"search_pickleball_rules",
"search_myopl_help",
"search_myopl_website",
"get_public_player_rating"
]
},
"description": {
"type": "string"
},
"inputSchema": {
"type": "object",
"additionalProperties": true
},
"annotations": {
"type": "object",
"properties": {
"readOnlyHint": {
"const": true
},
"destructiveHint": {
"const": false
},
"idempotentHint": {
"const": true
},
"openWorldHint": {
"const": true
}
},
"required": [
"readOnlyHint",
"destructiveHint",
"idempotentHint",
"openWorldHint"
],
"additionalProperties": false
},
"_meta": {
"type": "object",
"additionalProperties": true,
"description": "MCP Apps resource selection and noauth client metadata."
},
"title": {
"type": "string"
}
},
"required": [
"name",
"description",
"inputSchema",
"annotations"
],
"additionalProperties": false
},
"ToolErrorResult": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/$defs/TextContent"
},
"minItems": 1
},
"structuredContent": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
},
"required": [
"error"
],
"additionalProperties": false
},
"isError": {
"const": true
}
},
"required": [
"content",
"structuredContent",
"isError"
],
"additionalProperties": false
},
"ToolsListResult": {
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {
"$ref": "#/$defs/ToolDefinition"
}
}
},
"required": [
"tools"
],
"additionalProperties": false
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/myopl-net-mcp-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.