seattle_query
Pack: data-seattle · Endpoint: https://gateway.pipeworx.io/data-seattle/mcp
Run a raw SoQL query against any Seattle open-data resource (data.seattle.gov) by its Socrata id (8-char like “tazs-3rd5”). Full SoQL: where/select/group/order/limit/offset. Use seattle_datasets to find a resource id, or seattle_recent for the common ones.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
resource_id | string | yes | Socrata resource id, e.g. “tazs-3rd5” (crime data). |
where | string | no | SoQL $where filter. |
select | string | no | SoQL $select (e.g. “offense, count(*)”). |
group | string | no | SoQL $group. |
order | string | no | SoQL $order (e.g. “report_date_time DESC”). |
limit | number | no | Max rows (default 100, max 5000). |
offset | number | no | Row offset for paging. |
Example call
Arguments
{
"resource_id": "tazs-3rd5",
"select": "offense, count(*)",
"group": "offense",
"order": "count(*) DESC",
"limit": 10,
"_apiKey": "your-data-seattle-api-key"
}
curl
curl -X POST https://gateway.pipeworx.io/data-seattle/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"seattle_query","arguments":{"resource_id":"tazs-3rd5","select":"offense, count(*)","group":"offense","order":"count(*) DESC","limit":10,"_apiKey":"your-data-seattle-api-key"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('seattle_query', {
"resource_id": "tazs-3rd5",
"select": "offense, count(*)",
"group": "offense",
"order": "count(*) DESC",
"limit": 10,
"_apiKey": "your-data-seattle-api-key"
});
More examples
{
"resource_id": "wvfv-dwka",
"where": "issue_date >= '2024-01-01'",
"limit": 100,
"_apiKey": "your-data-seattle-api-key"
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"data-seattle": {
"url": "https://gateway.pipeworx.io/data-seattle/mcp"
}
}
}
See Getting Started for client-specific install steps.