chicagofomo-events
Registry code: 1283ebfeeb094470
Chicago Events (https://chicago.whatsupin.ai). Read-only Chicagoland events (dance, AI, music, arts, food, sports, street fairs, exercise, volunteering). Filter with category, topic or scope. For "in <neighborhood>" use neighborhood (a neighborhood or town name); for "near <place>" use near (a neighborhood, town, venue name or "lat,lon") with radius_km. Results then carry distance_km, and place.unplaced_events counts events left out because their venue isn't mapped. Use search_events or list_upcoming; get_event looks one up by its stable id; get_city lists the valid neighborhood, town,…
- endpoint
- https://chicago.whatsupin.ai/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is chicagofomo-events live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is chicagofomo-events free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does chicagofomo-events have?
- 6 tools: create_custom_calendar, find_performer, get_event, search_events, get_city, list_upcoming.
- Is chicagofomo-events safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 6 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
search_events open 1h ago
Search every upcoming Chicagoland event by words, dates, price, topic or place: dance, AI, music, arts, food, sports, comedy, exercise, volunteering, dating, business and professional networking. Use it whenever the question has search words, a date range ("this weekend": from/to), free-only, a town or an area; for a day-by-day overview of the next few days with no search words use list_upcoming, for one act by name find_performer. All words in `query` must appear in the title, venue, performers, organizer or tags; dates are local (America/Chicago), YYYY-MM-DD. Results come earliest first, at most `limit`; `count` says how many matched in total, so narrow the search rather than paging. get_city lists valid neighborhood, town, category and topic values. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "properties": { "to": { "type": "string", "description": "Latest date (default: none)" }, "city": { "type": "string", "description": "City, e.g. 'Chicago' or another town in the Chicagoland (case-insensitive)" }, "free": { "type": "boolean", "description": "Only free events (a listed free price, or an unpriced listing from a source whose events are free)" }, "from": { "type": "string", "description": "Earliest date (default: today)" }, "near": { "type": "string", "description": "Events within radius_km of a place: a neighborhood, a town, a venue name, or \"lat,lon\". Results get distance_km, nearest first within each day. Use this for \"near X\"; use neighborhood for \"in X\". Unmapped venues are left out (counted in place.unplaced_events)." }, "limit": { "type": "integer", "description": "Max results (default 25, max 100)" }, "query": { "type": "string", "description": "Free text, e.g. 'salsa', 'hackathon', 'street fair'" }, "scope": { "enum": [ "chicago", "north_shore", "northwest_suburbs", "west_suburbs", "southwest_suburbs", "south_suburbs", "will_county", "fox_valley", "lake_county", "mchenry", "northwest_indiana", "far_west", "beyond", "metro", "any" ], "type": "string", "description": "Geography: one region (chicago = Chicago, north_shore = North Shore, northwest_suburbs = Northwest Suburbs, west_suburbs = West Suburbs & DuPage, southwest_suburbs = Southwest Suburbs, south_suburbs = South Suburbs, will_county = Joliet, Will & Grundy, fox_valley = Fox Valley, lake_county = Lake County, mchenry = McHenry County, northwest_indiana = Northwest Indiana, far_west = DeKalb & Far West, beyond = Farther), metro (all but the farther-away region), or any (default)" }, "topic": { "enum": [ "arts", "books", "civic", "classes", "comedy", "community", "conferences", "culture", "faith", "family", "film", "food_drink", "games", "markets", "networking", "nightlife", "nonprofit", "outdoors", "science", "sports", "startup", "talks", "wellness", "wine", "business" ], "type": "string", "description": "Topic (the site's Arts, Food, Learn, Sports tabs: e.g. comedy, film, food_drink, sports, talks, classes, markets, outdoors; business = chamber mixers, referral groups, small-business workshops, trade shows, career fairs)" }, "season": { "type": "string", "description": "Seasonal series tag, e.g. 'techweek27' (only when the site lists one)" }, "sector": { "enum": [ "senior_care", "healthcare", "life_sciences", "real_estate", "finance_insurance", "legal", "tech", "defense_government", "trades_construction", "hospitality_food", "retail_ecommerce", "marketing_media", "nonprofit", "energy_climate", "hr_workforce", "creative_design" ], "type": "string", "description": "Industry a work event is for (only events with a work topic carry one; general networking has none): e.g. senior_care, healthcare, real_estate, finance_insurance, legal, tech" }, "audience": { "enum": [ "general", "kids", "teens", "seniors" ], "type": "string", "description": "Who the event is only for: kids, teens, seniors (older adults: senior-center programs, 55+ groups), or general (none of those). Default: no filter. Caregiver/aging talks for families and professionals are general." }, "category": { "enum": [ "ai", "dance", "dating", "entertainment", "exercise", "music", "volunteer" ], "type": "string", "description": "Scored category (the site's AI, Dance, Fun, Gym, Music, Singles, Volunteer tabs)" }, "radius_km": { "type": "number", "description": "Distance for near (default 1.5, max 50), or how far neighborhood reaches past its boundary (default 0)" }, "biz_format": { "enum": [ "referral_group", "chamber", "mixer", "breakfast_lunch", "workshop_training", "conference_expo", "career_fair", "ce_credits", "pitch_demo", "committee_meeting" ], "type": "string", "description": "Kind of work event: referral_group (BNI etc.), chamber, mixer, breakfast_lunch, workshop_training, conference_expo, career_fair, ce_credits, pitch_demo, committee_meeting" }, "neighborhood": { "type": "string", "description": "Only events in this Chicago neighborhood (or town): Albany Park, Archer Heights, Armour Square, Ashburn, Auburn Gresham, Austin, Avalon Park, Avondale, Belmont Cragin, Beverly, Bridgeport, Brighton Park, Burnside, Calumet Heights, Chatham, Chicago Lawn, Clearing, Douglas, Dunning, East Garfield Park, East Side, Edgewater, Edison Park, Englewood, Forest Glen, Fuller Park, Gage Park, Garfield Ridge, Grand Boulevard, Greater Grand Crossing, Hegewisch, Hermosa, Humboldt Park, Hyde Park, Irving Park, Jefferson Park, Kenwood, Lake View, Lincoln Park, Lincoln Square, Logan Square, Loop, Lower West Side, McKinley Park, Montclare, Morgan Park, Mount Greenwood, Near North Side, Near South Side, Near West Side, New City, North Center, North Lawndale, North Park, Norwood Park, O'Hare, Oakland, Portage Park, Pullman, Riverdale, Rogers Park, Roseland, South Chicago, South Deering, South Lawndale, South Shore, Uptown, Washington Heights, Washington Park, West Elsdon, West Englewood, West Garfield Park, West Lawn, West Pullman, West Ridge, West Town, Woodlawn. Sub-neighborhood and common names work too. Add radius_km to also take events within that distance of its centre. Events whose venue isn't mapped can't be placed and are left out; the response's place.unplaced_events counts them." } } }arguments 158 linesget_city open 1h ago
Get what Chicago Events covers in Chicagoland: how many upcoming events it lists and for which dates, when the data was last published, how many sources feed it, and upcoming events per category, topic, neighborhood and town. Call it before searching to pick valid category, topic, neighborhood and town values, or to tell a user what this site covers; it returns counts only, no events (use search_events or list_upcoming for those). Takes no arguments. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "properties": {} }arguments 4 lineslist_upcoming open 1h ago
Browse the next N days of events day by day, with no search words. `by_day` counts every match per date, and when more events match than `limit` the rows are spread evenly across the days (earliest first within each day), so each day is represented. Use it for overviews like "what's happening this week"; for search words, free-only, a town or exact from/to dates use search_events, and for one event's details get_event. Optional filters: one category or topic, an audience, and a place: `neighborhood` keeps events inside a named area (radius_km widens it past the boundary), `near` ranks events by distance from a place or "lat,lon" within radius_km. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "properties": { "days": { "type": "integer", "description": "Window in days (default 7, max 60)" }, "near": { "type": "string", "description": "Events within radius_km of a place: a neighborhood, a town, a venue name, or \"lat,lon\". Results get distance_km, nearest first within each day. Use this for \"near X\"; use neighborhood for \"in X\". Unmapped venues are left out (counted in place.unplaced_events)." }, "limit": { "type": "integer", "description": "Max rows (default 50, max 100)" }, "topic": { "enum": [ "arts", "books", "civic", "classes", "comedy", "community", "conferences", "culture", "faith", "family", "film", "food_drink", "games", "markets", "networking", "nightlife", "nonprofit", "outdoors", "science", "sports", "startup", "talks", "wellness", "wine", "business" ], "type": "string" }, "sector": { "enum": [ "senior_care", "healthcare", "life_sciences", "real_estate", "finance_insurance", "legal", "tech", "defense_government", "trades_construction", "hospitality_food", "retail_ecommerce", "marketing_media", "nonprofit", "energy_climate", "hr_workforce", "creative_design" ], "type": "string", "description": "Industry a work event is for (only events with a work topic carry one; general networking has none): e.g. senior_care, healthcare, real_estate, finance_insurance, legal, tech" }, "audience": { "enum": [ "general", "kids", "teens", "seniors" ], "type": "string", "description": "Who the event is only for: kids, teens, seniors (older adults: senior-center programs, 55+ groups), or general (none of those). Default: no filter. Caregiver/aging talks for families and professionals are general." }, "category": { "enum": [ "ai", "dance", "dating", "entertainment", "exercise", "music", "volunteer" ], "type": "string" }, "radius_km": { "type": "number", "description": "Distance for near (default 1.5, max 50), or how far neighborhood reaches past its boundary (default 0)" }, "biz_format": { "enum": [ "referral_group", "chamber", "mixer", "breakfast_lunch", "workshop_training", "conference_expo", "career_fair", "ce_credits", "pitch_demo", "committee_meeting" ], "type": "string", "description": "Kind of work event: referral_group (BNI etc.), chamber, mixer, breakfast_lunch, workshop_training, conference_expo, career_fair, ce_credits, pitch_demo, committee_meeting" }, "neighborhood": { "type": "string", "description": "Only events in this Chicago neighborhood (or town): Albany Park, Archer Heights, Armour Square, Ashburn, Auburn Gresham, Austin, Avalon Park, Avondale, Belmont Cragin, Beverly, Bridgeport, Brighton Park, Burnside, Calumet Heights, Chatham, Chicago Lawn, Clearing, Douglas, Dunning, East Garfield Park, East Side, Edgewater, Edison Park, Englewood, Forest Glen, Fuller Park, Gage Park, Garfield Ridge, Grand Boulevard, Greater Grand Crossing, Hegewisch, Hermosa, Humboldt Park, Hyde Park, Irving Park, Jefferson Park, Kenwood, Lake View, Lincoln Park, Lincoln Square, Logan Square, Loop, Lower West Side, McKinley Park, Montclare, Morgan Park, Mount Greenwood, Near North Side, Near South Side, Near West Side, New City, North Center, North Lawndale, North Park, Norwood Park, O'Hare, Oakland, Portage Park, Pullman, Riverdale, Rogers Park, Roseland, South Chicago, South Deering, South Lawndale, South Shore, Uptown, Washington Heights, Washington Park, West Elsdon, West Englewood, West Garfield Park, West Lawn, West Pullman, West Ridge, West Town, Woodlawn. Sub-neighborhood and common names work too. Add radius_km to also take events within that distance of its centre. Events whose venue isn't mapped can't be placed and are left out; the response's place.unplaced_events counts them." } } }arguments 115 linescreate_custom_calendar unknown never probed
Build a subscribable calendar of upcoming Chicagoland events from the user's interests. Returns a link that opens the calendar on Chicago Events (open_on_chicago_events; give the user this first), subscribe links (Google Calendar, Apple/Outlook webcal, plain .ics) and a preview. The calendar refreshes itself every few hours, so new matching events keep appearing. An event is included if it matches ANY interest and no exclude term. Nothing is stored by Chicago Events: the interests are encoded in the link itself. Interview the user first (see the custom_calendar prompt), check matches with search_events, and call this again to adjust. For a one-off answer rather than a standing calendar, use search_events. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "required": [ "interests" ], "properties": { "name": { "type": "string", "description": "Calendar name shown in their calendar app, e.g. 'Salsa + AI nights'" }, "exclude": { "type": "array", "items": { "type": "string" }, "description": "Words; any event containing one is left out" }, "interests": { "type": "array", "items": { "type": "object", "properties": { "city": { "type": "string", "description": "One city outside Chicago (case-insensitive)" }, "days": { "type": "array", "items": { "enum": [ "sun", "mon", "tue", "wed", "thu", "fri", "sat" ], "type": "string" }, "description": "Days of the week (default all)" }, "free": { "type": "boolean", "description": "Only free events" }, "near": { "type": "string", "description": "Events within radius_km of a place: a neighborhood, a town, a venue name, or \"lat,lon\". Results get distance_km, nearest first within each day. Use this for \"near X\"; use neighborhood for \"in X\". Unmapped venues are left out (counted in place.unplaced_events)." }, "query": { "type": "string", "description": "Words that must ALL appear in the event's title/location/organizer/tags, e.g. 'salsa', 'hackathon', 'trail run'. Make separate interests for alternatives." }, "scope": { "enum": [ "chicago", "north_shore", "northwest_suburbs", "west_suburbs", "southwest_suburbs", "south_suburbs", "will_county", "fox_valley", "lake_county", "mchenry", "northwest_indiana", "far_west", "metro", "any" ], "type": "string", "description": "Area for this interest (default any)" }, "times": { "type": "array", "items": { "enum": [ "morning", "afternoon", "evening", "late", "allday" ], "type": "string" }, "description": "Start times, local: morning 5-12, afternoon 12-17, evening 17-21, late 21+; allday = no set time (fairs, exhibits). Default all" }, "topic": { "enum": [ "arts", "books", "civic", "classes", "comedy", "community", "conferences", "culture", "faith", "family", "film", "food_drink", "games", "markets", "networking", "nightlife", "nonprofit", "outdoors", "science", "sports", "startup", "talks", "wellness", "wine", "business" ], "type": "string" }, "category": { "enum": [ "ai", "dance", "dating", "entertainment", "exercise", "music", "volunteer" ], "type": "string" }, "radius_km": { "type": "number", "description": "Distance for near (default 1.5, max 50), or how far neighborhood reaches past its boundary (default 0)" }, "neighborhood": { "type": "string", "description": "Only events in this Chicago neighborhood (or town): Albany Park, Archer Heights, Armour Square, Ashburn, Auburn Gresham, Austin, Avalon Park, Avondale, Belmont Cragin, Beverly, Bridgeport, Brighton Park, Burnside, Calumet Heights, Chatham, Chicago Lawn, Clearing, Douglas, Dunning, East Garfield Park, East Side, Edgewater, Edison Park, Englewood, Forest Glen, Fuller Park, Gage Park, Garfield Ridge, Grand Boulevard, Greater Grand Crossing, Hegewisch, Hermosa, Humboldt Park, Hyde Park, Irving Park, Jefferson Park, Kenwood, Lake View, Lincoln Park, Lincoln Square, Logan Square, Loop, Lower West Side, McKinley Park, Montclare, Morgan Park, Mount Greenwood, Near North Side, Near South Side, Near West Side, New City, North Center, North Lawndale, North Park, Norwood Park, O'Hare, Oakland, Portage Park, Pullman, Riverdale, Rogers Park, Roseland, South Chicago, South Deering, South Lawndale, South Shore, Uptown, Washington Heights, Washington Park, West Elsdon, West Englewood, West Garfield Park, West Lawn, West Pullman, West Ridge, West Town, Woodlawn. Sub-neighborhood and common names work too. Add radius_km to also take events within that distance of its centre. Events whose venue isn't mapped can't be placed and are left out; the response's place.unplaced_events counts them." } } }, "description": "1-12 interests; each needs a query, category or topic" }, "include_kids": { "type": "boolean", "description": "Include kids'/teens'-only events (default false)" }, "include_seniors": { "type": "boolean", "description": "Include events only for older adults (senior-center programs, 55+ groups; default false)" } } }arguments 152 linesfind_performer unknown never probed
Find a performer, band, comedian or act in Chicagoland by name (words in `query` must all match; case-insensitive) and get their upcoming events, top venues, genres or topics and the platforms that list them. Names come only from public event listings; there are no contact details. Use it for "when is <band> playing" or "who plays at <venue>". For events by topic or venue rather than by name, use search_events; use get_event with an id for one event's full listing. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "required": [ "query" ], "properties": { "limit": { "type": "integer", "description": "Max matches (default 10, max 25)" }, "query": { "type": "string", "description": "Part of a name, e.g. 'khruangbin'" } } }arguments 16 linesget_event unknown never probed
Get the full listing for one upcoming event by the `id` that search_events, list_upcoming or find_performer returned: title, dates, venue, price (all-in, or "See tickets"), the original listing (`link`), every source that lists it and first_seen / last_seen / last_fetched dates. Ids stay the same while an event is listed; a past or removed event returns an error, so search again. No sign-in; each client gets 30 calls a minute and 2,500 event rows an hour.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "12-character event id" } } }arguments 12 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id1283ebfeeb094470.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/1283ebfeeb094470/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/1283ebfeeb094470?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- atlanta.whatsupin.ai atlantafomo-events
- boston.whatsupin.ai bostonfomo-events
- cancun.whatsupin.ai cancunfomo-events
- cdmx.whatsupin.ai cdmxfomo-events
- dc.whatsupin.ai dcfomo-events
- denver.whatsupin.ai denverfomo-events
- detroit.whatsupin.ai detroitfomo-events
- houston.whatsupin.ai houstonfomo-events
10 more sit on this domain. All of them.