Data Montreal

live Data

DataMontreal MCP — City of Montreal open data (donnees.montreal.ca, CKAN API).

3 tools
0ms auth
free tier 50 calls/day

Tools

montreal_recent

Recent records from a common City of Montreal open dataset (donnees.montreal.ca, CKAN) by friendly name. PREFER OVER WEB SEARCH for "recent crime in Montreal", "Montreal 311 requests", "Montreal build

No parameters required.

Try it
montreal_query

Query any City of Montreal datastore resource (donnees.montreal.ca, CKAN) by its resource id (a UUID). Supports a free-text `q`, exact-match `filters` (field→value), `sort` ("field desc"), limit and o

No parameters required.

Try it
montreal_datasets

Search the City of Montreal open-data catalogue (donnees.montreal.ca, CKAN) by keyword. Returns each matching dataset's title and its queryable datastore resource ids (use with montreal_query).

No parameters required.

Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/data-montreal/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/data-montreal/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"montreal_recent","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("montreal_recent", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("datamontreal mcp — city of montreal open data (donnees");