MCP server for searching, downloading, and analyzing datasets from Ontario open data portals (Ontario, Toronto, Ottawa, Waterloo, Kitchener, Region of Waterloo)
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"ontario-data-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
<!-- mcp-name: ontario-data-mcp --> # ontario-data-mcp > [!IMPORTANT] > **Beta:** This project is under active development. The data structure and tool interfaces may change. > LLM-generated analysis may contain errors. Always verify critical findings against the returned source data. This is an [MCP server](https://modelcontextprotocol.io) for discovering, downloading, querying, and analyzing datasets from Ontario's Open Data portals. It allows asking questions of the data in English (or Spanish, Chinese, French, etc). It currently supports the Ontario, Toronto, Ottawa, Waterloo, Kitchener, and Region of Waterloo portals, and utilizes a shared [DuckDB](https://duckdb.org/) cache for fast SQL queries, statistical analysis, and geospatial operations. ## Contributing Contributions welcome! To get started, see **Installation** below. Found a bug? Have an idea? Discovered something interesting? Open an issue here: https://github.com/sprine/ontario-data-mcp/issues ## Features * `find` - search across supported Ontario open data portals * `download` - retrieve and cache datasets * `query` - run SQL, statistical, and geospatial analysis via DuckDB * `validate` — verify that data claims are supported by query results * A shared DuckDB cache for high-performance analytics ## Architecture ```mermaid flowchart TD Client["AI Client<br/>(Claude Code · VS Code · etc.)"] subgraph Server["ontario-data-mcp (FastMCP)"] direction TB subgraph Tools["MCP Tools"] direction LR T1["Discovery"] T2["Metadata"] T3["Retrieval"] T4["Querying"] T5["Geospatial"] T6["Quality & Validation"] end PC["Portal Clients<br/>CKANClient · ArcGISHubClient"] Cache[("DuckDB Cache<br/>~/.cache/ontario-data/")] Tools -->|"fan out to all portals"| PC T3 & T5 -->|"download → store"| Cache T4 & T6 -->|"SQL queries"| Cache end subgraph P…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.