MCP Server

Oracle — Skyline Certified Records

io.github.Skyline-Roofing/oracle-api
Legal & Compliance Real Estate Public & reachable MCP 2026-07-28

What this MCP does

Searches and retrieves certified Oklahoma property, roofing, insurance, and permit records with revision history and change polling.

get_record
Get a single certified record by its record_id (looks up across every collection — record ids are globally unique).
Input schema
{'type': 'object', 'required': ['record_id'], 'properties': {'record_id': {'type': 'string'}}}
get_record_history
Get the full revision lineage for a record — every certified record it supersedes or was superseded by, oldest first.
Input schema
{'type': 'object', 'required': ['record_id'], 'properties': {'record_id': {'type': 'string'}}}
list_changes_since
Poll for what's changed since a given date/time instead of re-pulling the whole dataset: newly certified records, superseded (old->new) pairs, and reconfirmed records. Underlying sources are re-checked weekly (Sundays, 00:00 UTC). Pass `collection` to scope to one domain; omitting it scopes to ok_roofing_insurance only.
Input schema
{'type': 'object', 'required': ['since'], 'properties': {'since': {'type': 'string', 'description': 'ISO 8601 date or datetime'}, 'state': {'type': 'string'}, 'topic': {'type': 'string'}, 'subject': {'type': 'string'}, 'collection': {'type': 'string', 'description': 'See search_records — same default/roster.'}}}
list_collections
List Oracle's currently available record collections — id, label, description, record count, certification basis, and jurisdiction scope. Call this first if you don't already know what data Oracle serves, or to discover new collections beyond the one you already know about.
Input schema
{'type': 'object', 'properties': {}}
search_records
Search Skyline's certified records across Oklahoma property insurance, roofing regulation, insurance-industry news, and property/construction permits. Free — no API key required. All params optional and combinable. Pass `collection` to scope to one domain (e.g. `ok_property_permits`); omitting it scopes to `ok_roofing_insurance` only — call list_collections first to see the current roster.
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text search over claim summary/detail, or over permit type/address/contractor'}, 'tag': {'type': 'string'}, 'city': {'type': 'string', 'description': 'Jurisdiction city — relevant to ok_property_permits (e.g. "Norman", "Oklahoma City")'}, 'limit': {'type': 'integer'}, 'state': {'type': 'string'}, 'topic': {'type': 'string'}, 'county': {'type': 'string', 'description': 'Jurisdiction county — relevant to ok_property_permits'}, 'offset': {'type': 'integer'}, 'status': {'type': 'string'}, 'carrier': {'type': 'string'}, 'subject': {'type': 'string'}, 'collection': {'type': 'string', 'description': 'Which collection to search, e.g. "ok_roofing_insurance" (default) or "ok_property_permits". See list_collections for the current roster.'}}}
Changed
list_changes_since
Sept. 28, 2026, 2:40 a.m.
Changed
get_record
Sept. 28, 2026, 2:40 a.m.
Changed
search_records
Sept. 28, 2026, 2:40 a.m.
Added
list_collections
Sept. 28, 2026, 2:40 a.m.
Added
list_changes_since
Sept. 24, 2026, 2:40 a.m.
Added
get_record_history
Sept. 24, 2026, 2:40 a.m.
Added
get_record
Sept. 24, 2026, 2:40 a.m.
Added
search_records
Sept. 24, 2026, 2:40 a.m.