Free Chicago street cleaning alerts, permit zones, and ticket dismissal rates from City records.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Sign-up link for FREE Chicago street cleaning alerts (the person enters their address on the page): email and optional text at 7 PM the night before and 7 AM on cleaning day, and an optional automated call at 8 PM the night before and 7 AM. No card. For people who want reminders to move their car for street cleaning.
This tool takes no arguments.
Sign-up link for FREE Chicago street cleaning alerts (the person enters their address on the page): email and optional text at 7 PM the night before and 7 AM on cleaning day, and an optional automated call at 8 PM the night before and 7 AM. No card. For people who want reminders to move their car for street cleaning.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Check whether a Chicago street address is in a residential permit parking zone, which zone, and the hours a permit is required. Use when someone asks if they can park on a block without a permit, or what zone their address is in. Chicago only. Source: City permit zone records and ordinance hours.
| Argument | Type | Description |
|---|---|---|
| address* | string | A Chicago street address with a house number, e.g. "1710 S Clinton St". |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "A Chicago street address with a house number, e.g. \"1710 S Clinton St\"."
}
},
"additionalProperties": false
}Plain-language guidance for someone holding a Chicago parking or camera ticket: the deadline, how often that ticket type is dismissed, the reason that most often wins, and where to get help contesting it. Not legal advice.
| Argument | Type | Description |
|---|---|---|
| violation_type* | string | The kind of ticket. |
{
"type": "object",
"required": [
"violation_type"
],
"properties": {
"violation_type": {
"enum": [
"street_cleaning",
"expired_meter",
"residential_permit",
"no_city_sticker",
"expired_plates",
"missing_plate",
"parking_prohibited",
"no_standing_time_restricted",
"rush_hour",
"fire_hydrant",
"commercial_loading",
"disabled_zone",
"parking_alley",
"bus_stop",
"double_parking",
"bike_lane",
"bus_lane",
"snow_route",
"red_light",
"speed_camera"
],
"type": "string",
"description": "The kind of ticket."
}
},
"additionalProperties": false
}Start Autopilot America for a license plate: we check the plate for new Chicago parking and camera tickets and contest them by mail. For when someone wants their Chicago tickets handled, fought, contested or watched going forward. Returns one sign-up link with the plate filled in; the person signs the contest authorization and adds a card on that page (Safety Net is $0 to join; Pro is the all-included plan).
| Argument | Type | Description |
|---|---|---|
| plan | string | annual = Autopilot Pro $99/year; monthly = Autopilot Pro $10/month; safety_net = Safety Net, $0 to join with a card on file, pay only when we act. Default safety_net. |
| plate* | string | License plate, letters and numbers only, e.g. "ABC1234". |
| state | string | Two-letter state the plate is registered in. Default IL. |
| last_name | string | Last name of the registered owner, used to match the plate in City records. Optional. |
{
"type": "object",
"required": [
"plate"
],
"properties": {
"plan": {
"enum": [
"annual",
"monthly",
"safety_net"
],
"type": "string",
"description": "annual = Autopilot Pro $99/year; monthly = Autopilot Pro $10/month; safety_net = Safety Net, $0 to join with a card on file, pay only when we act. Default safety_net."
},
"plate": {
"type": "string",
"description": "License plate, letters and numbers only, e.g. \"ABC1234\"."
},
"state": {
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"DC"
],
"type": "string",
"description": "Two-letter state the plate is registered in. Default IL."
},
"last_name": {
"type": "string",
"description": "Last name of the registered owner, used to match the plate in City records. Optional."
}
},
"additionalProperties": false
}Look up the upcoming City of Chicago street cleaning dates for a street address, plus its ward and section. Use when someone asks when street cleaning / street sweeping is on their block, or whether they need to move their car. Chicago only. Source: the City's published street cleaning schedule.
| Argument | Type | Description |
|---|---|---|
| address* | string | A Chicago street address with a house number, e.g. "2300 N Lincoln Ave". |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "A Chicago street address with a house number, e.g. \"2300 N Lincoln Ave\"."
}
},
"additionalProperties": false
}How often Chicago parking and camera tickets of a given type are dismissed when contested by mail, from the City's own hearing records (obtained under the Illinois Freedom of Information Act). Omit violation_type for the overall rate and the list of types.
| Argument | Type | Description |
|---|---|---|
| violation_type | string | The kind of ticket. |
{
"type": "object",
"properties": {
"violation_type": {
"enum": [
"street_cleaning",
"expired_meter",
"residential_permit",
"no_city_sticker",
"expired_plates",
"missing_plate",
"parking_prohibited",
"no_standing_time_restricted",
"rush_hour",
"fire_hydrant",
"commercial_loading",
"disabled_zone",
"parking_alley",
"bus_stop",
"double_parking",
"bike_lane",
"bus_lane",
"snow_route",
"red_light",
"speed_camera"
],
"type": "string",
"description": "The kind of ticket."
}
},
"additionalProperties": false
}