{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schemaVersion":{"type":"string","const":"1.0"},"dataVersion":{"type":"string","pattern":"^[a-f0-9]{64}$"},"generatedAt":{"type":"string","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))$"},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"kind":{"type":"string","enum":["official-docs","official-source","observation"]},"url":{"type":"string","format":"uri"},"title":{"type":"string","minLength":1},"checked":{"type":"string","format":"date","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])))$"},"locator":{"type":"string","minLength":1},"revision":{"type":"string"},"traceSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"trace":{"type":"string","pattern":"^observations\\/[a-z0-9-]+\\.json$"},"reproduction":{"type":"string"}},"required":["id","kind","url","title","checked","locator"],"additionalProperties":false}},"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"docs":{"type":"string","format":"uri"}},"required":["id","name","docs"],"additionalProperties":false}},"clients":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["editor","ide-extension","cli","desktop-app","platform"]},"vendor":{"type":"string"},"description":{"type":"string"},"homepage":{"type":"string"},"repo":{"type":"string"},"docs":{"type":"string"},"id":{"type":"string"},"surfaces":{"type":"object","propertyNames":{"type":"string","enum":["mcp","skills","rules","hooks","commands","settings"]},"additionalProperties":{"type":"object","properties":{"status":{"type":"string","enum":["supported","partial","deprecated","unsupported","missing"]},"verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"summary":{"type":"string"},"files":{"default":[],"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"scope":{"type":"string","enum":["project","global","enterprise"]},"format":{"type":"string","enum":["json","jsonc","toml","yaml","markdown","mdc","text","typescript","executable"]},"key":{"type":"string"},"note":{"type":"string"}},"required":["path","scope","format"]}},"fields":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"required":{"default":false,"type":"boolean"},"description":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"required":["name","type","description"]}},"transports":{"default":[],"type":"array","items":{"type":"string"}},"auth":{"default":[],"type":"array","items":{"type":"string"}},"invocation":{"default":[],"type":"array","items":{"type":"string"}},"events":{"default":[],"type":"array","items":{"type":"string"}},"capabilities":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["supported","partial","deprecated","unsupported","missing"]},"note":{"type":"string"}},"required":["name","status"]}},"examples":{"default":[],"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"language":{"type":"string"},"code":{"type":"string"}},"required":["language","code"]}},"notes":{"default":[],"type":"array","items":{"type":"string"}},"docs":{"type":"string"}},"required":["status"]}},"behaviors":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"variant":{"type":"string","minLength":1},"operation":{"type":"string","enum":["search","fetch","browse","index","train","mcp-connect"]},"tool":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"availability":{"type":"string","enum":["built-in","optional"]},"conditions":{"minItems":1,"type":"array","items":{"type":"string"}},"claims":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["provider","searchMode","output","accept","markdownPreference","userAgent","customHeaders","htmlConversion","javascript","browserEngine","screenshots","execution","redirects","cookies","formats","robots","limits"]},"status":{"type":"string","enum":["documented","observed","disputed","unknown","unsupported"]},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"boolean"},{"minItems":1,"type":"array","items":{"type":"string"}}]},"note":{"type":"string","minLength":1},"evidence":{"default":[],"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"verified":{"type":"string","format":"date","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])))$"}},"required":["key","status","note"],"additionalProperties":false}},"identification":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"location":{"type":"string","enum":["header","mcp-client-name"]},"key":{"type":"string","minLength":1},"match":{"type":"string","enum":["exact","prefix","product-token"]},"pattern":{"type":"string","minLength":1},"actor":{"type":"string","minLength":1},"attribution":{"type":"string","enum":["client","tool","provider"]},"ambiguity":{"type":"string","minLength":1},"evidence":{"minItems":1,"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"required":["id","location","key","match","pattern","actor","attribution","ambiguity","evidence"],"additionalProperties":false}}},"required":["id","variant","operation","tool","availability","conditions","claims"],"additionalProperties":false}}},"required":["name","id","surfaces"]}}},"required":["schemaVersion","dataVersion","generatedAt","evidence","tools","clients"]}