{"serverId":"mcp-registry/io.github.skyline-roofing/oracle-api","tools":[{"name":"get_record","fixed":{"name":"get_record","description":"Get one certified record by record_id, from either collection (ids are globally unique), e.g. \"OK-PERMIT-2026-04835\" (a permit) or \"OK-ROOF-2026-0003\" (an insurance/roofing fact). Includes sources and certification. To look a permit up by its permit number instead, use search_records with permit_number.","inputSchema":{"type":"object","required":["record_id"],"properties":{"record_id":{"type":"string","description":"e.g. \"OK-PERMIT-2026-04835\" or \"OK-ROOF-2026-0003\""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"get_record_history","fixed":{"name":"get_record_history","description":"Get the full revision lineage for a record -- every certified record it supersedes or was superseded by, oldest first. Use after get_record or search_records to see how a rule or permit record changed over time.","inputSchema":{"type":"object","required":["record_id"],"properties":{"record_id":{"type":"string","description":"e.g. \"OK-ROOF-2026-0003\""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"list_changes_since","fixed":{"name":"list_changes_since","description":"Poll for what changed since a date instead of re-pulling everything: newly certified records, superseded (old->new) pairs, and reconfirmed records. Example: {\"since\":\"2026-10-01\",\"collection\":\"ok_property_permits\"} returns permits certified after that date (new weekly Oklahoma City reroofing permits). Sources are re-checked weekly (Sundays, 00:00 UTC). Omitting `collection` scopes to ok_roofing_insurance only. Free, no API key.","inputSchema":{"type":"object","required":["since"],"properties":{"city":{"type":"string","description":"ok_property_permits only: \"Norman\" or \"Oklahoma City\" (alias jurisdiction_city accepted)."},"since":{"type":"string","description":"ISO 8601 date or datetime, e.g. \"2026-10-01\""},"state":{"type":"string","description":"Two-letter state code, e.g. \"OK\"."},"topic":{"type":"string","description":"Exact topic / permit type, same values as search_records."},"county":{"type":"string","description":"ok_property_permits only: \"Cleveland\" or \"Oklahoma\" (alias jurisdiction_county accepted)."},"subject":{"type":"string","description":"Exact category, same values as search_records."},"collection":{"enum":["ok_roofing_insurance","ok_property_permits"],"type":"string","description":"Which collection to poll; default ok_roofing_insurance."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":373,"tokensAfter":373},{"name":"list_collections","fixed":{"name":"list_collections","description":"List Oracle's record collections with id, label, description, live record count, certification basis, jurisdiction scope and an example query. Call this FIRST: it shows that Oracle holds both Oklahoma insurance/roofing-regulation facts and 8,000+ Norman and Oklahoma City building/reroofing permit records. Free, no API key.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"search_records","fixed":{"name":"search_records","description":"Search certified Oklahoma records. Find reroofing and building permits (Norman 2015-present; Oklahoma City weekly residential reroofing), contractor activity, permits by address or street, a permit by number, plus Oklahoma insurance and roofing rules (contractor licensing, building code, carrier ratings, FORTIFIED roof grants). Examples: {\"collection\":\"ok_property_permits\",\"city\":\"Oklahoma City\",\"q\":\"reroofing\"}; {\"collection\":\"ok_property_permits\",\"q\":\"CAVINS ROOFING\"}; {\"collection\":\"ok_proper","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"FREE-TEXT search (case-insensitive substring). Permits: matches permit category/type, address, contractor and permit number, e.g. \"roofing\", \"CAVINS ROOFING\", \"W MAIN ST\", \"ROOF-2026-04057\". Insurance: matches summary, detail and topic, e.g. \"FORTIFIED\", \"Allstate\", \"continuing education\"."},"tag":{"type":"string","description":"Exact tag. Insurance examples: \"FORTIFIED\", \"contractor licensing\", \"agency M&A\". Permit examples: \"norman\", \"okc\", \"reroofing\", \"storm_shelter\", \"solar\", \"pool\"."},"city":{"type":"string","description":"ok_property_permits only (CANONICAL name; `jurisdiction_city` is accepted as an alias). Exact city: \"Norman\" or \"Oklahoma City\"."},"limit":{"type":"integer","description":"Max records returned (default 50, max 200)."},"state":{"type":"string","description":"Two-letter state code. All records are \"OK\"."},"topic":{"type":"string","description":"Exact topic. Insurance: e.g. \"fortified_roof_program_milestone\", \"roofing_contractor_annual_renewal_requirement\". Permits: the permit type, e.g. \"Residential Reroofing Permit\"."},"county":{"type":"string","description":"ok_property_permits only (canonical; `jurisdiction_county` accepted as an alias). \"Cleveland\" (Norman) or \"Oklahoma\" (Oklahoma City)."},"offset":{"type":"integer","description":"Skip this many matches, for paging."},"status":{"type":"string","description":"Insurance: record status, one of active, superseded, expired, proposed, rescinded (all current records are \"active\"). Permits: the permit status, e.g. \"issued\"."},"carrier":{"type":"string","description":"Insurance collection only. Exact carrier name, e.g. \"Allstate Corp.\" or \"Triangle Insurance Company\". Most records have no carrier."},"subject":{"type":"string","description":"Exact category. Insurance collection: underwriting, claims_handling, contractor_licensing, building_code, market_conduct, regulatory_filing, insurance_industry. Permits collection: the permit category, e.g. \"Residential Reroofing\" (Oklahoma City), \"Residential\", \"Single Family\", \"Commercial Addition/Alteration\", \"Demolition\" (Norman). `category` is accepted as an alias."},"collection":{"enum":["ok_roofing_insurance","ok_property_permits"],"type":"string","description":"Which collection to search. \"ok_property_permits\" = 8,484 Norman/Oklahoma City permit records (reroofing, construction, contractors, addresses). \"ok_roofing_insurance\" = 15 hand-certified insurance/roofing-regulation facts; this is the default when omitted."},"permit_number":{"type":"string","description":"ok_property_permits only: exact permit number, e.g. \"ROOF-2026-04057\" (Oklahoma City) or \"PRSF202305769\" (Norman 2024+). Case-insensitive. Also shown as permit.permit_number on each record."},"jurisdiction_city":{"type":"string","description":"Alias of `city`; prefer `city`."},"jurisdiction_county":{"type":"string","description":"Alias of `county`; prefer `county`."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":1004,"tokensAfter":1004}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}