Things To Do API
Search local events in plain words: shows, pop-ups, markets, classes, with times, venues, prices.
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": {
"events": {
"url": "https://api.thingstodoapi.com/mcp"
}
}
}Remote endpoints
https://api.thingstodoapi.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢search_events(query, from, to, place, near, ...)
Find events happening in a city: concerts, DJ and club nights, comedy and theater, pop-ups and supper clubs, night markets and flea markets, festivals and street fairs, parties, classes, exhibitions. Pass what the user asked for in plain words as `query` ("techno this weekend in Oakland", "spooky things to do friday", "farmers market sunday morning"); time and place in the words are understood. Say who it is for in the same words ("comedy this weekend for my parents, they hate crowds", "things to do with my kids saturday"): what suits them comes first. Use `from`/`to`, `place` or `near` when you already know them exactly. Returns events with start times in the local timezone, the venue, a summary, tags, ticket and source links, and why each matched. Covers the San Francisco Bay Area today; a place outside it comes back as not covered, with no events. For more, call again with the `offset` a search returns as next_offset.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to find, in plain words. May include when, where, and who it is for."
},
"from": {
"type": "string",
"description": "ISO 8601 start of the window. Overrides any time in the query."
},
"to": {
"type": "string",
"description": "ISO 8601 end of the window."
},
"place": {
"type": "string",
"description": "A city or neighborhood by name, e.g. \"Oakland\", \"the Mission\"."
},
"near": {
"type": "object",
"description": "A point to search around.",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"km": {
"type": "number",
"description": "Radius in km, default 5."
}
},
"required": [
"lat",
"lng"
]
},
"categories": {
"type": "array",
"items": {
"type": "string",
"enum": [
"music",
"arts",
"social",
"festival",
"market",
"popup",
"supper_club",
"exhibition",
"class",
"sports"
]
},
"description": "Only these categories."
},
"limit": {
"type": "number",
"description": "How many events, 1 to 50, default 10."
},
"offset": {
"type": "number",
"description": "Skip this many, for the next page: pass the next_offset a search returned."
},
"sort": {
"type": "string",
"enum": [
"relevance",
"time"
]
}
}
}🟢get_event(id)
Everything known about one event by its id (from search_events): all its tags, venue, links and times.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}🟢list_coverage
The metros and cities covered, and the categories. Call it when unsure whether a city is covered.
Input Schema
{
"type": "object",
"properties": {}
}Community
Evidence