MCP server
FindLocal runs a remote Model Context Protocol server so an AI assistant can answer "what's on near me?" from live venue calendars, with links back to every event.
Endpoint
https://mcp.findlocal.community/mcp- Transport: Streamable HTTP. A legacy
/sseendpoint exists for older clients. - Auth: OAuth 2.1 with PKCE and dynamic client registration (
/authorize,/token,/register), then a one-field consent page asking for an account key. - Scope:
mcp:read. The server is read-only.
Connect a client
Claude.ai (web and desktop)
- Open Settings → Connectors → Add custom connector.
- Paste
https://mcp.findlocal.community/mcpand save, then Connect. - Enter an account key on the FindLocal page that opens. In a chat, keep the FindLocal connector toggled on.
Claude Code
claude mcp add --transport http findlocal https://mcp.findlocal.community/mcpCursor
Add to ~/.cursor/mcp.json (or the project's .cursor/mcp.json) and restart Cursor:
{
"mcpServers": {
"findlocal": { "url": "https://mcp.findlocal.community/mcp" }
}
}Any other client
Anything that speaks Streamable HTTP with OAuth works. To poke at the tools without a chat client:
npx @modelcontextprotocol/inspector
# transport: Streamable HTTP · URL: https://mcp.findlocal.community/mcpAccount keys and quotas
Usage is metered per account key so the service stays healthy. On the consent page:
| Key | Quota | For |
|---|---|---|
demo-free | 100 tool calls / month (shared) | Trying it out |
demo-pro | 10,000 tool calls / month (shared) | Evaluations |
| Your own key | Per plan | Email findlocalinternal@gmail.com with a sentence about what you're building. No self-serve signup yet. |
Once authorized you won't be asked again for that client. Ask the assistant to run get_usage to see calls used and remaining. When a quota is exhausted, tools return a clear "Monthly quota reached" message instead of partial data. The server stores the account key and a per-month counter — nothing about your conversations.
Tools
| Tool | What it does | Inputs |
|---|---|---|
search_events | The primary tool. Upcoming events in a city, filtered every way the site can filter. Returns { city, total_matched, returned, events }. | city (required; name or slug) · region · when (anytime | today | tomorrow | weekend | week) · date_from / date_to (YYYY-MM-DD) · category (slug or a genre word like "jazz") · free_only · price_max (USD) · time_of_day (morning | afternoon | evening) · query · limit (1–200, default 50) |
get_event | Full detail for one event, including its description. Past and delisted events still come back, flagged expired / delisted. | id |
list_venues | Active venues in a city or region with address, coordinates and upcoming counts. | city (required) · region · limit (≤ 500) |
get_venue | One venue by id, or a fuzzy name search returning up to 5 matches. | id, or name (+ optional city) |
list_categories | The category slugs search_events accepts, with the number of upcoming events in each for a city. | city (required) |
get_events_at_venue | Upcoming events at one venue. | venue_id · limit (≤ 100, default 20) |
get_usage | This account's calls used and remaining this month. Not metered. | — |
Categories: music, comedy, theater, dance, literary, art, food_drink, family, market, workshop, fitness, nightlife, community, festival, parks. Cities can be given by name ("New York") or slug ("new-york"); all 47 are listed in the API reference.
What an event looks like in a result
{
"id": "8f9b9068-4e11-466b-a1cc-d36230d28fdd",
"title": "Hooley Hour",
"date": "2026-09-04",
"start_time": "17:00:00",
"city": "Boston",
"region": "Cambridge",
"venue": { "id": "b7716a13-…", "name": "The Lilypad", "address": "1353 Cambridge St, Cambridge, MA 02139" },
"category": "music",
"category_tags": ["Theater", "Music"],
"recurring": true,
"upcoming_dates_in_series": 4,
"details_url": "https://www.lilypadinman.com/home/2026/hooley-hour-bs5y2-pl4db9",
"image": "https://images.squarespace-cdn.com/…/1000016764.jpg",
"website": "https://www.lilypadinman.com/",
"url": "https://findlocal.community/event/8f9b9068-4e11-466b-a1cc-d36230d28fdd",
"source": "scraper_local"
}Empty fields are omitted. date is the venue's local calendar day; price_label is the venue's wording and price_usd our parsed number; is_free is set when we can tell either way.
Prompts that work well
- "What's happening in Boston tonight that's free?"
- "Find comedy shows in Chicago this weekend under $25."
- "Which bookstores in Providence have author events this month?"
- "List music venues in Austin's East Side and what's coming up at each."
- "What categories of events does FindLocal have in Seattle, and how many of each?"
Step-by-step walkthrough: How to connect FindLocal to Claude, Cursor and other AI assistants.