Skip to main content
Glama

search

Read-only

Search official Apple developer documentation and WWDC video transcripts using hybrid retrieval (keyword + semantic), followed by Jev relevance ranking of the merged candidates. Returns ranked source excerpts; use fetch for complete page content.

Input Schema

NameRequiredDescriptionDefault
queryYesEnglish technical query for Apple's official developer documentation and WWDC transcripts.
result_countNoNumber of results to return (1-10)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "auth_method": {
      -            "enum": [
      -              "anonymous",
      -              "token",
      -              "ip"
      -            ],
      -            "type": "string"
      -          },
      -          "authenticated": {
      -            "type": "boolean"
      -          },
      -          "email": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "login_url": {
      -            "format": "uri",
      -            "type": "string"
      -          },
      -          "plan": {
      -            "enum": [
      -              "anonymous",
      -              "hobby",
      -              "pro",
      -              "enterprise"
      -            ],
      -            "type": "string"
      -          },
      -          "quota": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "minute": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "limit": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "remaining": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "reset_at": {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "limit",
      -                  "remaining",
      -                  "reset_at"
      -                ],
      -                "type": "object"
      -              },
      -              "week": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "limit": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "remaining": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "reset_at": {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "limit",
      -                  "remaining",
      -                  "reset_at"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "week",
      -              "minute"
      -            ],
      -            "type": "object"
      -          },
      -          "upgrade_url": {
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "authenticated",
      -          "auth_method",
      -          "email",
      -          "plan",
      -          "quota",
      -          "login_url",
      -          "upgrade_url"
      -        ],
      -        "type": "object"
      -      },
      -      "additional_urls": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "character_count": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "title": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "url": {
      -              "format": "uri",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "url",
      -            "title",
      -            "character_count"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "degradations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "ok": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "outcome": {
      -        "enum": [
      -          "success",
      -          "degraded",
      -          "no_content"
      -        ],
      -        "type": "string"
      -      },
      -      "query": {
      -        "type": "string"
      -      },
      -      "results": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "chunk_indices": {
      -              "items": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "type": "array"
      -            },
      -            "complete": {
      -              "type": "boolean"
      -            },
      -            "content": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "const": "index",
      -              "type": "string"
      -            },
      -            "source": {
      -              "const": "apple",
      -              "type": "string"
      -            },
      -            "title": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "total_chunks": {
      -              "exclusiveMinimum": 0,
      -              "maximum": 9007199254740991,
      -              "type": "integer"
      -            },
      -            "url": {
      -              "format": "uri",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "url",
      -            "title",
      -            "content",
      -            "source",
      -            "provider",
      -            "complete",
      -            "total_chunks",
      -            "chunk_indices"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "ok",
      -      "account",
      -      "outcome",
      -      "query",
      -      "results",
      -      "additional_urls",
      -      "degradations"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "auth_method": {
      -            "enum": [
      -              "anonymous",
      -              "token",
      -              "ip"
      -            ],
      -            "type": "string"
      -          },
      -          "authenticated": {
      -            "type": "boolean"
      -          },
      -          "email": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "login_url": {
      -            "format": "uri",
      -            "type": "string"
      -          },
      -          "plan": {
      -            "enum": [
      -              "anonymous",
      -              "hobby",
      -              "pro",
      -              "enterprise"
      -            ],
      -            "type": "string"
      -          },
      -          "quota": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "minute": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "limit": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "remaining": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "reset_at": {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "limit",
      -                  "remaining",
      -                  "reset_at"
      -                ],
      -                "type": "object"
      -              },
      -              "week": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "limit": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "remaining": {
      -                    "anyOf": [
      -                      {
      -                        "maximum": 9007199254740991,
      -                        "minimum": 0,
      -                        "type": "integer"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "reset_at": {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "limit",
      -                  "remaining",
      -                  "reset_at"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "week",
      -              "minute"
      -            ],
      -            "type": "object"
      -          },
      -          "upgrade_url": {
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "authenticated",
      -          "auth_method",
      -          "email",
      -          "plan",
      -          "quota",
      -          "login_url",
      -          "upgrade_url"
      -        ],
      -        "type": "object"
      -      },
      -      "cache_hit": {
      -        "type": "boolean"
      -      },
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "message": {
      -            "type": "string"
      -          },
      -          "retry_at": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -            "type": "string"
      -          },
      -          "status": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "status"
      -        ],
      -        "type": "object"
      -      },
      -      "ok": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "outcome": {
      -        "enum": [
      -          "invalid",
      -          "limited",
      -          "failed",
      -          "no_content"
      -        ],
      -        "type": "string"
      -      },
      -      "provider": {
      -        "type": "string"
      -      },
      -      "source": {
      -        "enum": [
      -          "apple",
      -          "third_party"
      -        ],
      -        "type": "string"
      -      },
      -      "upstream_status": {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "ok",
      -      "outcome",
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "auth_method": {
      +            "enum": [
      +              "anonymous",
      +              "token",
      +              "ip",
      +              "oauth",
      +              "api_key"
      +            ],
      +            "type": "string"
      +          },
      +          "authenticated": {
      +            "type": "boolean"
      +          },
      +          "email": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "login_url": {
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          "plan": {
      +            "enum": [
      +              "anonymous",
      +              "hobby",
      +              "pro",
      +              "enterprise"
      +            ],
      +            "type": "string"
      +          },
      +          "quota": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "minute": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "limit": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "remaining": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "reset_at": {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "limit",
      +                  "remaining",
      +                  "reset_at"
      +                ],
      +                "type": "object"
      +              },
      +              "week": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "limit": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "remaining": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "reset_at": {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "limit",
      +                  "remaining",
      +                  "reset_at"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "week",
      +              "minute"
      +            ],
      +            "type": "object"
      +          },
      +          "upgrade_url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "authenticated",
      +          "auth_method",
      +          "email",
      +          "plan",
      +          "quota",
      +          "login_url",
      +          "upgrade_url"
      +        ],
      +        "type": "object"
      +      },
      +      "additional_urls": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "character_count": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "title": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "url": {
      +              "format": "uri",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "url",
      +            "title",
      +            "character_count"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "degradations": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "ok": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "success",
      +          "degraded",
      +          "no_content"
      +        ],
      +        "type": "string"
      +      },
      +      "query": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "results": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "chunk_indices": {
      +              "items": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "type": "array"
      +            },
      +            "complete": {
      +              "type": "boolean"
      +            },
      +            "content": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "const": "index",
      +              "type": "string"
      +            },
      +            "source": {
      +              "const": "apple",
      +              "type": "string"
      +            },
      +            "title": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "total_chunks": {
      +              "exclusiveMinimum": 0,
      +              "maximum": 9007199254740991,
      +              "type": "integer"
      +            },
      +            "url": {
      +              "format": "uri",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "url",
      +            "title",
      +            "content",
      +            "source",
      +            "provider",
      +            "complete",
      +            "total_chunks",
      +            "chunk_indices"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "account",
      +      "outcome",
      +      "query",
      +      "results",
      +      "additional_urls",
      +      "degradations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "auth_method": {
      +            "enum": [
      +              "anonymous",
      +              "token",
      +              "ip",
      +              "oauth",
      +              "api_key"
      +            ],
      +            "type": "string"
      +          },
      +          "authenticated": {
      +            "type": "boolean"
      +          },
      +          "email": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "login_url": {
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          "plan": {
      +            "enum": [
      +              "anonymous",
      +              "hobby",
      +              "pro",
      +              "enterprise"
      +            ],
      +            "type": "string"
      +          },
      +          "quota": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "minute": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "limit": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "remaining": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "reset_at": {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "limit",
      +                  "remaining",
      +                  "reset_at"
      +                ],
      +                "type": "object"
      +              },
      +              "week": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "limit": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "remaining": {
      +                    "anyOf": [
      +                      {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "reset_at": {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "limit",
      +                  "remaining",
      +                  "reset_at"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "week",
      +              "minute"
      +            ],
      +            "type": "object"
      +          },
      +          "upgrade_url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "authenticated",
      +          "auth_method",
      +          "email",
      +          "plan",
      +          "quota",
      +          "login_url",
      +          "upgrade_url"
      +        ],
      +        "type": "object"
      +      },
      +      "cache_hit": {
      +        "type": "boolean"
      +      },
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "message": {
      +            "type": "string"
      +          },
      +          "retry_at": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +            "type": "string"
      +          },
      +          "status": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "status"
      +        ],
      +        "type": "object"
      +      },
      +      "ok": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "invalid",
      +          "limited",
      +          "failed",
      +          "no_content"
      +        ],
      +        "type": "string"
      +      },
      +      "provider": {
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "enum": [
      +          "apple",
      +          "third_party"
      +        ],
      +        "type": "string"
      +      },
      +      "upstream_status": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "outcome",
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / query / description
      Previous value: -"Search query for Apple's official developer documentation and video content. Queries must be written in English and focus on technical concepts, APIs, frameworks, features, and version numbers rather than temporal information."New value: +"English technical query for Apple's official developer documentation and WWDC transcripts."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "account": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "auth_method": {
      +              "enum": [
      +                "anonymous",
      +                "token",
      +                "ip"
      +              ],
      +              "type": "string"
      +            },
      +            "authenticated": {
      +              "type": "boolean"
      +            },
      +            "email": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "login_url": {
      +              "format": "uri",
      +              "type": "string"
      +            },
      +            "plan": {
      +              "enum": [
      +                "anonymous",
      +                "hobby",
      +                "pro",
      +                "enterprise"
      +              ],
      +              "type": "string"
      +            },
      +            "quota": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "minute": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "limit": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "remaining": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "reset_at": {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "limit",
      +                    "remaining",
      +                    "reset_at"
      +                  ],
      +                  "type": "object"
      +                },
      +                "week": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "limit": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "remaining": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "reset_at": {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "limit",
      +                    "remaining",
      +                    "reset_at"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "week",
      +                "minute"
      +              ],
      +              "type": "object"
      +            },
      +            "upgrade_url": {
      +              "format": "uri",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "authenticated",
      +            "auth_method",
      +            "email",
      +            "plan",
      +            "quota",
      +            "login_url",
      +            "upgrade_url"
      +          ],
      +          "type": "object"
      +        },
      +        "additional_urls": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "character_count": {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "title": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "url": {
      +                "format": "uri",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "url",
      +              "title",
      +              "character_count"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "degradations": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "ok": {
      +          "const": true,
      +          "type": "boolean"
      +        },
      +        "outcome": {
      +          "enum": [
      +            "success",
      +            "degraded",
      +            "no_content"
      +          ],
      +          "type": "string"
      +        },
      +        "query": {
      +          "type": "string"
      +        },
      +        "results": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "chunk_indices": {
      +                "items": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "type": "array"
      +              },
      +              "complete": {
      +                "type": "boolean"
      +              },
      +              "content": {
      +                "type": "string"
      +              },
      +              "provider": {
      +                "const": "index",
      +                "type": "string"
      +              },
      +              "source": {
      +                "const": "apple",
      +                "type": "string"
      +              },
      +              "title": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "total_chunks": {
      +                "exclusiveMinimum": 0,
      +                "maximum": 9007199254740991,
      +                "type": "integer"
      +              },
      +              "url": {
      +                "format": "uri",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "url",
      +              "title",
      +              "content",
      +              "source",
      +              "provider",
      +              "complete",
      +              "total_chunks",
      +              "chunk_indices"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "account",
      +        "outcome",
      +        "query",
      +        "results",
      +        "additional_urls",
      +        "degradations"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "account": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "auth_method": {
      +              "enum": [
      +                "anonymous",
      +                "token",
      +                "ip"
      +              ],
      +              "type": "string"
      +            },
      +            "authenticated": {
      +              "type": "boolean"
      +            },
      +            "email": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "login_url": {
      +              "format": "uri",
      +              "type": "string"
      +            },
      +            "plan": {
      +              "enum": [
      +                "anonymous",
      +                "hobby",
      +                "pro",
      +                "enterprise"
      +              ],
      +              "type": "string"
      +            },
      +            "quota": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "minute": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "limit": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "remaining": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "reset_at": {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "limit",
      +                    "remaining",
      +                    "reset_at"
      +                  ],
      +                  "type": "object"
      +                },
      +                "week": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "limit": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "remaining": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "reset_at": {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "limit",
      +                    "remaining",
      +                    "reset_at"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "week",
      +                "minute"
      +              ],
      +              "type": "object"
      +            },
      +            "upgrade_url": {
      +              "format": "uri",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "authenticated",
      +            "auth_method",
      +            "email",
      +            "plan",
      +            "quota",
      +            "login_url",
      +            "upgrade_url"
      +          ],
      +          "type": "object"
      +        },
      +        "cache_hit": {
      +          "type": "boolean"
      +        },
      +        "error": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "message": {
      +              "type": "string"
      +            },
      +            "retry_at": {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +              "type": "string"
      +            },
      +            "status": {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message",
      +            "status"
      +          ],
      +          "type": "object"
      +        },
      +        "ok": {
      +          "const": false,
      +          "type": "boolean"
      +        },
      +        "outcome": {
      +          "enum": [
      +            "invalid",
      +            "limited",
      +            "failed",
      +            "no_content"
      +          ],
      +          "type": "string"
      +        },
      +        "provider": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "enum": [
      +            "apple",
      +            "third_party"
      +          ],
      +          "type": "string"
      +        },
      +        "upstream_status": {
      +          "maximum": 9007199254740991,
      +          "minimum": -9007199254740991,
      +          "type": "integer"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "outcome",
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / query / pattern
      Added value: +"\\S"
  4. Changed1 schema field changed
    • changedInput schema / properties / result_count / type
      Previous value: -"number"New value: +"integer"
  5. Changed1 schema field changed
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
  6. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-destructive read, so the description's job is to add context beyond that. It does: hybrid keyword+semantic retrieval, merging, and relevance ranking are disclosed, and it explicitly warns that results are excerpts rather than full pages, which prevents misuse of the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the first defines the operation and the second both delimits the return type and points to the sibling. The most actionable constraint (excerpts vs. full content) is placed at the end where it directly precedes tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema coverage, the description needn't explain return fields, and it correctly focuses on corpus scope and excerpt limitation. The only small gap is no hint about how result_count interacts with ranking or deduplication across the two sources.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented inline, including the 1-10 bound on result_count and the English-technical-query constraint. The description adds no meaning about query phrasing, ranking behavior relative to result_count, or truncation, so the schema does all the parameter work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) plus precise resources (official Apple developer documentation and WWDC video transcripts) and even the retrieval mechanism, so the agent knows exactly what corpus is being searched. It also distinguishes itself from the sibling fetch by reserving fetch for complete page content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use this tool for ranked excerpts and use fetch when full page content is needed. There are no exclusions or prerequisite notes, but with only one sibling and a single alternative this is clear enough to act on.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources