Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

mcp-server-police-uk

yourusername142MIT1.0.0TypeScript support: included

MCP server for police.uk API - access UK crime data, police forces, neighbourhoods, and stop-and-search incidents

mcp, police, uk, crime, api, data

readme

MCP Server Police UK

A Model Context Protocol (MCP) server providing tools to access and interact with the police.uk API, offering comprehensive data on crimes, police forces, neighbourhoods, and stop-and-search incidents across the UK.

Features

  • 21 distinct tools for querying police.uk API endpoints
  • Retrieve street-level crimes, neighbourhood details, force information, stop-and-search records, and more
  • Built with the official MCP TypeScript SDK
  • Easy integration with MCP-compatible systems
  • Comprehensive error handling and type safety

Installation

Install directly from npm:

npm install -g mcp-server-police-uk

Or use with npx (no installation required):

npx mcp-server-police-uk

Usage

With Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "police-uk": {
      "command": "npx",
      "args": ["mcp-server-police-uk"]
    }
  }
}

With other MCP clients

npx mcp-server-police-uk

Available Tools

Crime Data

  • get_street_level_crimes - Retrieve street-level crimes by location or area
  • get_crimes_at_location - Get crimes at a specific location
  • get_crimes_no_location - Retrieve crimes that couldn't be mapped to a location
  • get_crime_categories - Get valid crime categories
  • get_last_updated - Get the date when crime data was last updated
  • get_outcomes_for_crime - Get outcomes for a specific crime
  • get_street_level_outcomes - Retrieve outcomes by location or area

Police Forces

  • get_list_of_forces - Get all police forces
  • get_force_details - Get details for a specific police force
  • get_senior_officers - Get senior officers for a police force

Neighbourhoods

  • get_neighbourhoods - Get neighbourhoods for a police force
  • get_neighbourhood_details - Get details for a specific neighbourhood
  • get_neighbourhood_boundary - Get boundary coordinates for a neighbourhood
  • get_neighbourhood_team - Get team members for a neighbourhood
  • get_neighbourhood_events - Get scheduled events for a neighbourhood
  • get_neighbourhood_priorities - Get policing priorities for a neighbourhood
  • locate_neighbourhood - Find neighbourhood team for given coordinates
  • get_stop_searches_by_area - Get stop and searches within an area
  • get_stop_searches_by_location - Get stop and searches at a specific location
  • get_stop_searches_no_location - Get stop and searches with no location
  • get_stop_searches_by_force - Get stop and searches by police force

Examples

Get crimes near a location

// Get crimes within 1 mile of coordinates
get_street_level_crimes({
  lat: 51.5074,
  lng: -0.1278,
  date: "2024-01"
})

Find your local police team

// Find neighbourhood team for coordinates
locate_neighbourhood({
  lat: 51.5074,
  lng: -0.1278
})

Get force information

// Get details about Metropolitan Police
get_force_details({
  force_id: "metropolitan"
})

API Rate Limits

This server respects the police.uk API rate limits. The API is free to use but has usage limits in place to ensure fair access for all users.

Data Source

All data is sourced from the official police.uk API, which provides open data about policing in England, Wales, and Northern Ireland. The data is typically updated monthly.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.