detroit_query
Pack: data-detroit · Endpoint: https://gateway.pipeworx.io/data-detroit/mcp
Query any Detroit ArcGIS layer by service path + layer id. Full ArcGIS query: where, out_fields, order_by, limit. Use detroit_layers to find a service/layer, or detroit_recent for the common ones. Epoch dates are converted to ISO.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
service | string | yes | ArcGIS service path, e.g. “RMS_Crime_Incidents/FeatureServer” (or a short name: crime|service_requests|permits). |
layer | number | yes | Layer id within the service (from detroit_layers), e.g. 39. |
where | string | no | ArcGIS SQL where (default “1=1”). |
out_fields | string | no | Comma-separated fields, or ”*” (default). |
order_by | string | no | Sort clause, e.g. “incident_occurred_at DESC”. |
limit | number | no | Max rows (default 100, max 2000). |
Example call
Arguments
{
"service": "crime",
"layer": 0,
"where": "OFFENSE='THEFT/OTHER'",
"limit": 50
}
curl
curl -X POST https://gateway.pipeworx.io/data-detroit/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"detroit_query","arguments":{"service":"crime","layer":0,"where":"OFFENSE='\''THEFT/OTHER'\''","limit":50}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('detroit_query', {
"service": "crime",
"layer": 0,
"where": "OFFENSE='THEFT/OTHER'",
"limit": 50
});
More examples
{
"service": "RMS_Crime_Incidents/FeatureServer",
"layer": 39,
"order_by": "incident_occurred_at DESC",
"limit": 100
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"data-detroit": {
"url": "https://gateway.pipeworx.io/data-detroit/mcp"
}
}
}
See Getting Started for client-specific install steps.