accueil / serveurs / Recherche & Web / io.github.cyanheads/uk-police-crime-mcp-server
io.github.cyanheads/uk-police-crime-mcp-server
serveur MCP (Model Context Protocol) · uk-police-crime-mcp-server 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.cyanheads/uk-police-crime-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.cyanheads/uk-police-crime-mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- ukcrime_find_neighbourhood≈ 2697 tokens
Find the police force and neighbourhood policing team for a point, or look one up by force and neighbourhood id. Returns the team's description, contact channels and police stations, its current priorities with the action taken, team members' ranks and names, and upcoming engagement events. include adds the boundary polygon, needed only to split a neighbourhood too large to search into smaller polygons: ukcrime_search_crimes, ukcrime_search_outcomes and ukcrime_search_stops take the neighbourhood directly through area 'neighbourhood'.
Paramètres, retour & exemple (5)
Paramètreslat· number · optionnel
Latitude, WGS84 decimal degrees, to look up by point (with lng).lng· number · optionnel
Longitude, WGS84 decimal degrees, to look up by point (with lat).force· string · optionnel
Force id such as 'leicestershire', or its name such as 'Leicestershire Police' (ukcrime_list_reference topic 'forces' lists both), to look up by id (with neighbourhood_id); case-insensitive, spaces, underscores and hyphens match each other, '&' matches 'and', and a trailing 'Police', 'Police Service' or 'Constabulary' is optional.include· array · optionnel
Optional sections to load: 'priorities', 'team', 'events', 'boundary'. Omitted: priorities, team and events. [] loads none of them.neighbourhood_id· string · optionnel
Neighbourhood id from ukcrime_list_reference topic 'neighbourhoods', to look up by id (with force). Exact spelling first; after a miss, a unique case-insensitive catalog match is retried.
Exemple d'appel{"name": "ukcrime_find_neighbourhood", "arguments": {"lat": 1, "lng": 1, "force": "texte", "include": [], "neighbourhood_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"gaps": "texte", "team": [], "error": {}, "force": {}, "found": true, "events": [], "notice": "texte", "boundary": {}, "guidance": "texte", "data_note": "texte", "priorities": [], "attribution": "texte"}} - ukcrime_get_crime_outcomes≈ 1717 tokens
Fetch the full police outcome history of up to 25 crimes per call by persistent_id — the 64-character id on crimes from ukcrime_search_crimes and ukcrime_search_outcomes. Accepts up to 1,000 raw elements or nonblank delimited tokens and 128,000 aggregate UTF-16 code units; remaining_ids carries unprocessed unique ids for the next call. Returns each crime with every outcome, oldest first, and lists the ids data.police.uk does not hold. Anti-social behaviour records carry no persistent id.
Paramètres, retour & exemple (1)
Paramètrespersistent_ids· ? · requis
Persistent ids from ukcrime_search_crimes or ukcrime_search_outcomes: at most 1,000 raw array elements, 1,000 nonblank comma/whitespace-separated tokens before deduplication, and 128,000 aggregate UTF-16 code units. Ids are lower-cased, blanks and repeats dropped; every id is validated, the first 25 unique ids processed and the rest returned as remaining_ids.
Exemple d'appel{"name": "ukcrime_get_crime_outcomes", "arguments": {"persistent_ids": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "crimes": [], "failed": [], "guidance": "texte", "data_note": "texte", "not_found": [], "attribution": "texte", "remaining_ids": []}} - ukcrime_list_reference≈ 1980 tokens
Decode the vocabulary the other ukcrime tools take: police force ids, crime category slugs, a force's neighbourhood ids, and data availability — the published months, and which forces published stop and search in each. Use it when a force, category, neighbourhood id or month is unknown; name_contains filters forces and neighbourhoods by name. The Metropolitan Police has about 680 neighbourhoods, so filter by name there; to get the force and neighbourhood covering a latitude and longitude, call ukcrime_find_neighbourhood instead.
Paramètres, retour & exemple (4)
Paramètresforce· string · optionnel
Force id such as 'leicestershire', or its name such as 'Leicestershire Police'; case-insensitive, spaces, underscores and hyphens match each other, '&' matches 'and', and a trailing 'Police', 'Police Service' or 'Constabulary' is optional. Required for topic 'neighbourhoods'. On 'availability', where 'btp' (British Transport Police) is also accepted, adds the months this force did and did not publish stop and search. Not accepted on 'forces' or 'categories'.month· string · optionnel
Month as YYYY-MM. Topic 'availability' only: return just that month's row.topic· string · requis · forces | categories | availability | neighbourhoods
What to list: 'forces' (force ids), 'categories' (crime category slugs), 'availability' (published months and stop-and-search publication), or 'neighbourhoods' (one force's neighbourhood ids; needs force).name_contains· string · optionnel
Words that must all appear in the name, in any order — case, accents and punctuation ignored, so the value needs at least one letter or digit. Topics 'forces' and 'neighbourhoods' only.
Exemple d'appel{"name": "ukcrime_list_reference", "arguments": {"topic": "forces"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "force": "texte", "topic": "forces", "forces": [], "notice": "texte", "categories": [], "attribution": "texte", "availability": {}, "neighbourhoods": []}} - ukcrime_search_crimes≈ 3693 tokens
Search street-level crimes recorded in one month, or with month_from a range of up to 12 months, inside an area — a point with a 1-mile radius, a polygon, a snapped location_id from an earlier result, or a police neighbourhood — or list the crimes a force could not place on the map (area 'force_unplaced'). Returns the total, counts by category and by latest police outcome, the busiest map points, each month's total for a range, and a page of crimes, each with the persistent_id that ukcrime_get_crime_outcomes takes; for what police resolved in a month, whenever the crime was recorded, use ukcrime_search_outcomes. Locations are anonymised map points, not crime sites. data.police.uk can refuse an area holding more than about 10,000 crimes, whatever the category — then search smaller polygons.
Paramètres, retour & exemple (12)
Paramètreslat· number · optionnel
Latitude, WGS84 decimal degrees, for area 'point'.lng· number · optionnel
Longitude, WGS84 decimal degrees, for area 'point'.area· string · requis · point | polygon | location | neighbourhood | force_unplaced
Area to search: 'point' (lat and lng; a 1-mile radius), 'polygon' (polygon), 'location' (location_id), 'neighbourhood' (force and neighbourhood_id), or 'force_unplaced' (force alone: the crimes that force could not place on the map). An area field the chosen area does not use is rejected.force· string · optionnel
Force id such as 'leicestershire', or its name such as 'Leicestershire Police' (ukcrime_list_reference topic 'forces' lists both); case-insensitive, spaces, underscores and hyphens match each other, '&' matches 'and', and a trailing 'Police', 'Police Service' or 'Constabulary' is optional. For area 'neighbourhood' (with neighbourhood_id) and 'force_unplaced' (alone), where 'btp' (British Transport Police) is also accepted.limit· integer · optionnel
Requested crimes on this page, 1–10,000; applied cap is at most 200. Default 25.month· string · optionnel
Month as YYYY-MM, or the last month of the range with month_from. Omitted: the latest published month, echoed as month in the result.offset· integer · optionnel
Rows to skip before this page; pass next_offset from the previous result. Default 0.polygon· array · optionnel
For area 'polygon': 3–2,500 vertices as { lat, lng } objects, or the string 'lat,lng:lat,lng:…'. The ring closes itself (the last vertex joins the first). [lng, lat] pairs are not accepted.category· string · optionnel
Crime category slug such as 'burglary', or its display name such as 'Violence and sexual offences'; case-insensitive, and spaces, underscores and hyphens match each other ('vehicle_crime' finds 'vehicle-crime'). Omitted: every category (all-crime). ukcrime_list_reference topic 'categories' lists them.month_from· string · optionnel
First month of a range, YYYY-MM, searched through month — up to 12 months, with a total for each in by_month. Omitted: month alone.location_id· string · optionnel
For area 'location': location.location_id from an earlier result — one anonymised map point.neighbourhood_id· string · optionnel
For area 'neighbourhood', with force: a neighbourhood id from ukcrime_list_reference topic 'neighbourhoods', or from ukcrime_find_neighbourhood for a point. Exact spelling first; after a miss, a unique case-insensitive catalog match is retried.
Exemple d'appel{"name": "ukcrime_search_crimes", "arguments": {"area": "point"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "area": {}, "error": {}, "month": "texte", "shown": 1, "total": 1, "crimes": [], "notice": "texte", "by_month": [], "category": {}, "data_note": "texte", "truncated": true}} - ukcrime_search_outcomes≈ 3241 tokens
List the police outcomes recorded in one month inside an area — a point with a 1-mile radius, a polygon, a location_id, or a neighbourhood — for crimes recorded that month or any earlier one. Returns the total, counts by crime category, outcome and the month each crime was recorded, and a page of outcomes, each with its crime and persistent_id. Use it for what police resolved in a month; ukcrime_search_crimes gives the latest outcome of the crimes recorded in a month instead. Court results are not published; the result says when a force publishes no outcomes.
Paramètres, retour & exemple (11)
Paramètreslat· number · optionnel
Latitude, WGS84 decimal degrees, for area 'point'.lng· number · optionnel
Longitude, WGS84 decimal degrees, for area 'point'.area· string · requis · point | polygon | location | neighbourhood
Area to search: 'point' (lat and lng; a 1-mile radius), 'polygon' (polygon), 'location' (location_id), or 'neighbourhood' (force and neighbourhood_id). An area field the chosen area does not use is rejected.force· string · optionnel
For area 'neighbourhood', with neighbourhood_id: a force id such as 'leicestershire', or its name such as 'Leicestershire Police' (ukcrime_list_reference topic 'forces' lists both); case-insensitive, spaces, underscores and hyphens match each other, '&' matches 'and', and a trailing 'Police', 'Police Service' or 'Constabulary' is optional.limit· integer · optionnel
Requested outcomes on this page, 1–10,000; applied cap is at most 200. Default 20.month· string · optionnel
Month as YYYY-MM. Omitted: the latest published month, echoed as month in the result.offset· integer · optionnel
Rows to skip before this page; pass next_offset from the previous result. Default 0.polygon· array · optionnel
For area 'polygon': 3–2,500 vertices as { lat, lng } objects, or the string 'lat,lng:lat,lng:…'. The ring closes itself (the last vertex joins the first). [lng, lat] pairs are not accepted.category· string · optionnel
Count only outcomes for crimes in this category: a slug such as 'burglary' or a display name such as 'Violence and sexual offences'; case-insensitive, and spaces, underscores and hyphens match each other ('vehicle_crime' finds 'vehicle-crime'). Omitted or 'all-crime': every category. ukcrime_list_reference topic 'categories' lists them.location_id· string · optionnel
For area 'location': location.location_id from an earlier result — one anonymised map point.neighbourhood_id· string · optionnel
For area 'neighbourhood', with force: a neighbourhood id from ukcrime_list_reference topic 'neighbourhoods', or from ukcrime_find_neighbourhood for a point. Exact spelling first; after a miss, a unique case-insensitive catalog match is retried.
Exemple d'appel{"name": "ukcrime_search_outcomes", "arguments": {"area": "point"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "area": {}, "error": {}, "month": "texte", "shown": 1, "total": 1, "notice": "texte", "category": {}, "outcomes": [], "data_note": "texte", "truncated": true, "by_outcome": []}} - ukcrime_search_stops≈ 4998 tokens
Search police stop and search records for one month, or with month_from a range of up to 12 months, inside an area — a point with a 1-mile radius, a polygon, a location_id from an earlier result, or a police neighbourhood — or across a whole force with area 'force', which includes stops the force could not place. Returns the total and counts by search type, self-defined and officer-defined ethnicity, outcome, object of search, legislation, age range, gender, whether the outcome was linked to the object of search, and whether more than outer clothing was removed, each month's total for a range, and a page of stops. filters narrow the counts and the page together, so filtering one field and reading another's breakdown gives a cross-tab. Forces skip months and some publish none; the result names each force it finds for the area that did not publish, with the months it skipped.
Paramètres, retour & exemple (12)
Paramètreslat· number · optionnel
Latitude, WGS84 decimal degrees, for area 'point'.lng· number · optionnel
Longitude, WGS84 decimal degrees, for area 'point'.area· string · requis · point | polygon | location | neighbourhood | force
Area to search: 'point' (lat and lng; a 1-mile radius), 'polygon' (polygon), 'location' (location_id), 'neighbourhood' (force and neighbourhood_id), or 'force' (force alone: every stop the force published for the month or range, placed or not). An area field the chosen area does not use is rejected.force· string · optionnel
Force id such as 'leicestershire', or its name such as 'Leicestershire Police' (ukcrime_list_reference topic 'forces' lists both); case-insensitive, spaces, underscores and hyphens match each other, '&' matches 'and', and a trailing 'Police', 'Police Service' or 'Constabulary' is optional. For area 'neighbourhood' (with neighbourhood_id) and 'force' (alone), where 'btp' (British Transport Police) is also accepted.limit· integer · optionnel
Requested stops on this page, 1–10,000; applied cap is at most 200. Default 15.month· string · optionnel
Month as YYYY-MM, or the last month of the range with month_from. Omitted: the latest published month, echoed as month in the result.offset· integer · optionnel
Rows to skip before this page; pass next_offset from the previous result. Default 0.filters· array · optionnel
Up to 8 filters, all of which a stop must match; they narrow the counts and the page together. Fields: type, self_defined_ethnicity, officer_defined_ethnicity, outcome, object_of_search, legislation, age_range, gender, outcome_linked_to_object_of_search, removal_of_more_than_outer_clothing.polygon· array · optionnel
For area 'polygon': 3–2,500 vertices as { lat, lng } objects, or the string 'lat,lng:lat,lng:…'. The ring closes itself (the last vertex joins the first). [lng, lat] pairs are not accepted.month_from· string · optionnel
First month of a range, YYYY-MM, searched through month — up to 12 months, with a total for each in by_month. Omitted: month alone.location_id· string · optionnel
For area 'location': location.location_id from an earlier result — one anonymised map point.neighbourhood_id· string · optionnel
For area 'neighbourhood', with force: a neighbourhood id from ukcrime_list_reference topic 'neighbourhoods', or from ukcrime_find_neighbourhood for a point. Exact spelling first; after a miss, a unique case-insensitive catalog match is retried.
Exemple d'appel{"name": "ukcrime_search_stops", "arguments": {"area": "point"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "area": {}, "error": {}, "month": "texte", "shown": 1, "stops": [], "total": 1, "notice": "texte", "by_type": [], "filters": [], "by_month": [], "unplaced": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».