CuffTracker
Chicago and Milwaukee crime data: query incidents, stats, and map-linked MCP UI resources.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"cufftracker": {
"url": "https://cufftracker.com/mcp"
}
}
}Remote endpoints
https://cufftracker.com/mcpstreamable-httphttps://www.cufftracker.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢get_city_crimes(city, end_date, limit, location_descriptions, offset, ...)
Query crime incidents for Chicago or Milwaukee. Filter by crime type, location description, date range, and text. Returns a page of incidents with coordinates. Chicago's portal withholds about the last seven days. Milwaukee comes from the city WIBR file.
Input Schema
{
"type": "object",
"properties": {
"city": {
"default": "chicago",
"description": "City to query.",
"enum": [
"chicago",
"milwaukee"
],
"type": "string"
},
"end_date": {
"description": "End date in YYYY-MM-DD format.",
"type": "string"
},
"limit": {
"default": 50,
"description": "Max records to return (1-500).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"location_descriptions": {
"description": "Filter by location descriptions (e.g., ['STREET', 'RESIDENCE']). Omit for all.",
"items": {
"type": "string"
},
"type": "array"
},
"offset": {
"default": 0,
"description": "Records to skip for pagination.",
"minimum": 0,
"type": "integer"
},
"primary_types": {
"description": "Filter by crime types (e.g., ['THEFT', 'BATTERY', 'NARCOTICS']). Omit for all types.",
"items": {
"type": "string"
},
"type": "array"
},
"search_text": {
"description": "Text search across primary_type and description fields.",
"type": "string"
},
"start_date": {
"description": "Start date in YYYY-MM-DD format.",
"type": "string"
}
}
}🟢get_crime_stats(city, top_n)
Get aggregate crime statistics. Returns top crime types, total records, date range, top locations, and counts by city.
Input Schema
{
"type": "object",
"properties": {
"city": {
"default": "all",
"description": "City to get stats for. Use 'all' for cross-city comparison.",
"enum": [
"all",
"chicago",
"milwaukee"
],
"type": "string"
},
"top_n": {
"default": 10,
"description": "Number of top items to return.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
}
}🟢search_crimes(city, limit, query)
Full-text search across crime descriptions and types. Returns matching records with full details.
Input Schema
{
"type": "object",
"properties": {
"city": {
"default": "all",
"description": "City to search. Use 'all' for both.",
"enum": [
"all",
"chicago",
"milwaukee"
],
"type": "string"
},
"limit": {
"default": 25,
"description": "Max results (1-200).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Search text (e.g., 'armed robbery', 'domestic battery').",
"type": "string"
}
},
"required": [
"query"
]
}Community
Evidence