CuffTracker

Chicago and Milwaukee crime data: query incidents, stats, and map-linked MCP UI resources.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
93%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~533Tokens (tool definitions)
~1.6 KBTypical response size
Minimal attention impact (0.42% of 128k context)

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-http
https://www.cufftracker.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools