| name | json-schema-lookup |
| description | Guidelines for querying schemastore.org. Use when you need to validate or discover options for config files relating to popular open source projects. |
| allowed-tools | WebFetch Bash(curl *) Bash(jq *) Bash(yq *) Bash(grep *) Bash(head *) Bash(less *) |
JSON Schema Lookup via SchemaStore
Query schemastore.org's catalog of public configuration file schemas to validate structure, discover options, and check allowed values.
API
- Catalog:
https://www.schemastore.org/api/json/catalog.json
- Structure:
{ "schemas": [{ "name", "description", "fileMatch", "url", "versions"? }] }
- Individual schemas: Fetch the
url from the matching catalog entry
Workflow
1. Find the schema
Search the catalog by name or filename pattern:
curl -s https://www.schemastore.org/api/json/catalog.json | jq '.schemas[] | select(.name | test("tsconfig"; "i")) | {name, url, fileMatch}'
curl -s https://www.schemastore.org/api/json/catalog.json | jq '.schemas[] | select(.fileMatch[]? | test("package\\.json")) | {name, url}'
Alternatively, use WebFetch on the catalog URL and ask for the relevant entry.
2. Fetch and inspect the schema
curl -s SCHEMA_URL | jq '.properties | keys'
curl -s SCHEMA_URL | jq '.properties.FIELD_NAME'
curl -s SCHEMA_URL | jq '.definitions.DEF_NAME.properties'
curl -s SCHEMA_URL | jq .
3. Common queries
curl -s SCHEMA_URL | jq '.properties.FIELD.enum'
curl -s SCHEMA_URL | jq '.definitions.compilerOptionsDefinition.properties.compilerOptions.properties | keys'
curl -s SCHEMA_URL | jq '.required'
Tips
- Some schemas use
allOf/anyOf composition -- check those arrays for the full property set
- The
versions field on catalog entries provides version-specific schema URLs when available
- Schema URLs vary: some point to
json.schemastore.org, others to raw.githubusercontent.com
- For large schemas, query specific paths rather than dumping the entire document
- Cache the catalog response locally if making multiple lookups in one session