toronto_query

Pack: data-toronto · Endpoint: https://gateway.pipeworx.io/data-toronto/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/toronto_query for the schema, then POST the same URL with its arguments for the data.

Query any City of Toronto datastore resource (open.toronto.ca, CKAN) by its resource id (a UUID). Supports a free-text q, exact-match filters (field→value), sort (“field desc”), limit and offset. Use toronto_datasets to find a resource id, or toronto_recent for the common ones.

Parameters

NameTypeRequiredDescription
resource_idstringyesCKAN datastore resource id (UUID), e.g. “6d0229af-bc54-46de-9c2b-26759b01dd05”.
qstringnoFree-text search across columns.
filtersobjectnoExact-match filters as a JSON object, e.g. {“PERMIT_TYPE”:“New Building”}.
sortstringnoSort clause, e.g. “APPLICATION_DATE desc”.
limitnumbernoMax rows (default 100, max 1000).
offsetnumbernoRow offset for paging.

Example call

Arguments

{
  "resource_id": "6d0229af-bc54-46de-9c2b-26759b01dd05",
  "limit": 100
}

curl

curl -X POST https://gateway.pipeworx.io/data-toronto/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"toronto_query","arguments":{"resource_id":"6d0229af-bc54-46de-9c2b-26759b01dd05","limit":100}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('toronto_query', {
  "resource_id": "6d0229af-bc54-46de-9c2b-26759b01dd05",
  "limit": 100
});

More examples

{
  "resource_id": "6d0229af-bc54-46de-9c2b-26759b01dd05",
  "filters": {
    "PERMIT_TYPE": "New Building"
  },
  "sort": "APPLICATION_DATE desc",
  "limit": 50
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "data-toronto": {
      "url": "https://gateway.pipeworx.io/data-toronto/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 20, 2026