boston_query
Pack: data-boston · Endpoint: https://gateway.pipeworx.io/data-boston/mcp
Query any City of Boston datastore resource (data.boston.gov, CKAN) by its resource id (a UUID). Supports a free-text q, exact-match filters (field→value), sort (“field desc”), limit and offset. Use boston_datasets to find a resource id, or boston_recent for the common ones.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
resource_id | string | yes | CKAN datastore resource id (UUID), e.g. “b973d8cb-eeb2-4e7e-99da-c92938efc9c0”. |
q | string | no | Free-text search across columns. |
filters | object | no | Exact-match filters as a JSON object, e.g. {“district”:“B2”}. |
sort | string | no | Sort clause, e.g. “OCCURRED_ON_DATE desc”. |
limit | number | no | Max rows (default 100, max 1000). |
offset | number | no | Row offset for paging. |
Example call
Arguments
{
"resource_id": "b973d8cb-eeb2-4e7e-99da-c92938efc9c0",
"filters": {
"district": "B2"
},
"sort": "OCCURRED_ON_DATE desc",
"limit": 100
}
curl
curl -X POST https://gateway.pipeworx.io/data-boston/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"boston_query","arguments":{"resource_id":"b973d8cb-eeb2-4e7e-99da-c92938efc9c0","filters":{"district":"B2"},"sort":"OCCURRED_ON_DATE desc","limit":100}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('boston_query', {
"resource_id": "b973d8cb-eeb2-4e7e-99da-c92938efc9c0",
"filters": {
"district": "B2"
},
"sort": "OCCURRED_ON_DATE desc",
"limit": 100
});
More examples
{
"resource_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"q": "pothole",
"limit": 50
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"data-boston": {
"url": "https://gateway.pipeworx.io/data-boston/mcp"
}
}
}
See Getting Started for client-specific install steps.