ontario-data-mcp@0.2.2
CAUTION· not startedPublisher claims: "MCP server for searching, downloading, and analyzing datasets from Ontario open data portals (Ontario, Toronto, Ottawa, Waterloo, Kitchener, Region of Waterloo)" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
- no credential variables read in the code
- Where it talks to
- no vendor host named in the codeAlso ottawa.ca, ontario.ca, prod-toronto.ca, toronto.ca, waterloo.ca, arcgis.com, kitchener.ca, regionofwaterloo.ca, duckdb.org — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- server startup · the tool list · tool behavior
Connect it under the guard. Not started: dependency install failed; the server itself was not observed. The code names no credential variable; the guard pins the network to what the honeypot saw and logs every call.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-13 and scored it 74/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Credential pass-through configuration; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
Prevents read_csv('/etc/passwd'), httpfs, etc. — defense in depthFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.`uv publish` reads credentials from `~/.pypirc` natively. Do NOT pass tokens via command-line arguments (they leak into the process list).Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| `sources[].url` | string | yes | Portal dataset URL — e.g. `https://data.ontario.ca/dataset/{slug}` or `https://ckan0.cf.opendata.inter.prod-toronto.ca/dataset/{slug}` |Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.… the UUID. For Ontario: `https://data.ontario.ca/dataset/{slug}`. For Toronto: `https://ckan0.cf.opendata.inter.prod-toronto.ca/dataset/{slug}`. For Ottawa: `https://open.ottaw…Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.…rl` is a valid portal dataset URL (e.g. `https://data.ontario.ca/dataset/...`, `https://ckan0.cf.opendata.inter.prod-toronto.ca/dataset/...`, or `https://open.ottawa.ca/dataset…Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.- Do NOT stage `.env`, credentials, or cache filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<div class="code-block"> <p>Run directly with uvx</p> <pre><code>uvx ontario-data-mcp</code></pre> <button class="copy-btn" onclick="copyText('uvx ontario-data-Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.base_url="https://ckan0.cf.opendata.inter.prod-toronto.ca",Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.<summary><b>Querying</b> (4 tools)</summary> | Tool | Description | |------|-------------| | `query_resource` | Query a resource via CKAN Datastore API (remote)Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.# local/remote files via SQL (e.g. read_csv('file:///etc/passwd')),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary> <div class="tool-card-head"> <span class="tool-card-name">Querying</span> <span class="tool-card-count">4 tools</span> </div> <div class="tool-card-deFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.<summary><b>Geospatial</b> (3 tools)</summary> | Tool | Description | |------|-------------| | `load_geodata` | Cache a geospatial resource (SHP, KML, GeoJSON) Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.<summary>From Source</summary> ```bash git clone https://github.com/sprine/ontario-data-mcp cd ontario-data-mcp uv sync uv run ontario-data-mcp ``` To connect fFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.<summary> <div class="tool-card-head"> <span class="tool-card-name">Geospatial</span> <span class="tool-card-count">3 tools</span> </div> <div class="tool-card-Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
No advisories in OSV for ontario-data-mcp@0.2.2 as of 18 h ago. This is the package itself, not its dependencies.
What would make this Verified
6 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim sprine: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Hidden instructions≈ +6 on the totalRemove HTML comments, zero-width characters and white-on-white text that carry instructions. Everything the agent is meant to read should be visible to the person reading the file.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- URL with suspicious TLD≈ +2 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.