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 areaget_crimes_at_location
- Get crimes at a specific locationget_crimes_no_location
- Retrieve crimes that couldn't be mapped to a locationget_crime_categories
- Get valid crime categoriesget_last_updated
- Get the date when crime data was last updatedget_outcomes_for_crime
- Get outcomes for a specific crimeget_street_level_outcomes
- Retrieve outcomes by location or area
Police Forces
get_list_of_forces
- Get all police forcesget_force_details
- Get details for a specific police forceget_senior_officers
- Get senior officers for a police force
Neighbourhoods
get_neighbourhoods
- Get neighbourhoods for a police forceget_neighbourhood_details
- Get details for a specific neighbourhoodget_neighbourhood_boundary
- Get boundary coordinates for a neighbourhoodget_neighbourhood_team
- Get team members for a neighbourhoodget_neighbourhood_events
- Get scheduled events for a neighbourhoodget_neighbourhood_priorities
- Get policing priorities for a neighbourhoodlocate_neighbourhood
- Find neighbourhood team for given coordinates
Stop and Search
get_stop_searches_by_area
- Get stop and searches within an areaget_stop_searches_by_location
- Get stop and searches at a specific locationget_stop_searches_no_location
- Get stop and searches with no locationget_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.