UK Police

live Government

Query street-level crime data, police forces, and crime outcomes from the UK Police open data API

3 tools
0ms auth
free tier 50 calls/day

Tools

get_crimes required: lat, lng

Get street-level crimes near a latitude/longitude for a given month. Returns crime category, location, and outcome status.

Parameters
Name Type Description
lat req number Latitude of the location
lng req number Longitude of the location
date opt string Month to query in YYYY-MM format (e.g. "2024-01"). Defaults to latest available.
Try it
get_forces

List all police forces in England, Wales, and Northern Ireland. Returns force ID and name.

No parameters required.

Try it
get_outcomes required: lat, lng

Get outcomes for crimes at a location for a given month. Returns outcome category and date for each crime.

Parameters
Name Type Description
lat req number Latitude of the location
lng req number Longitude of the location
date opt string Month to query in YYYY-MM format (e.g. "2024-01"). Defaults to latest available.
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/ukpolice/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/ukpolice/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_crimes","arguments":{"lat": 37.7749, "lng": -122.4194}}}'

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("get_crimes", {"lat":"example","lng":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("query street-level crime data, police forces, and crime outcomes from the uk police open data api");