VenuNite Events
Server Details
Free US local event search. No signup or API key; 90-day lookahead. Paid commercial and bulk access.
- Status
- Healthy
- Uptime
- 82.3% over 78 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- isaacaskew/venunite-events
- GitHub Stars
- 0
- Server Listing
- VenuNite Events
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
search_events and create_ticket_handoff are clearly distinct, but create_calendar_draft and create_interest_calendar overlap heavily—both build calendar artifacts from interests plus an area and return preview links without saving anything. The descriptions do clarify the difference (editable draft vs. subscription links), but an agent could easily misselect between the two create_* calendar tools.
All four tools use snake_case verb_noun form (create_calendar_draft, create_interest_calendar, create_ticket_handoff, search_events). The pattern is predictable and readable throughout, with no mixed conventions.
Four tools is thin but well-matched to a focused surface: one search entry point plus three downstream artifact creators (draft, subscription, ticket handoff). Each tool has a distinct role in the workflow, though the set sits at the low end of the comfortable 3-15 range.
The core discovery-to-calendar pipeline is covered, but there is no way to fetch a single event by event_id for detail lookups, nor any tool to enumerate the referenced interest/tag vocabulary (the fixed 49-tag facets are mentioned but not retrievable). These are workaroundable gaps but notable for an events domain.
Available Tools
4 toolscreate_calendar_draftDraft an interest calendarAInspect
Prepare an editable, free calendar draft and a VenuNite preview link from interests, a fixed area, weekdays, time windows and exclusions. The tool performs no event search, geocoding, calendar save or subscription. The returned browser page provides the exact next-30-days preview and user-confirmed saving and calendar-app selection. Draft links contain preferences and the chosen location. Hosted calls record private request quota and telemetry; calendar apps control refresh timing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| place | No | A city and state or ZIP, for example Boulder, CO or 80302. The user confirms the center in the browser. Omit if unknown. | |
| audience | No | Account hide-family preferences always apply when the user saves. | preference |
| location | No | An exact center explicitly chosen by the user. Never invent coordinates; omit if unknown. | |
| interests | Yes | An event matches any one interest; conditions within an interest are combined. Keywords match event titles; jazz and trivia also match programming details. | |
| radius_miles | No | Fixed subscription radius, 1–50 miles. Default is 10; tell the user the radius. |
Output Schema
| Name | Required | Description |
|---|---|---|
| draft | No | |
| error | No | |
| message | No | |
| preview_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the privacy surface ('Draft links contain preferences and the chosen location'), the operational side effects ('Hosted calls record private request quota and telemetry'), and that calendar apps, not this tool, control refresh timing. It also confirms the draft is editable but not saved or subscribed, consistent with destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the deliverable in sentence one, then boundaries, then return value. Four sentences carry a lot of signal, though the telemetry/quota and calendar-refresh sentence is lower priority and slightly denser than needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter nested-object mutation with an output schema, it covers the missing pieces: what is produced (draft plus preview link), what is explicitly not done, how the user confirms and saves in the browser, and the next-30-days preview window. Nothing an agent needs to invoke it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 83%, with place, location, radius_miles, interests and their nested fields documented in-schema. The description only restates the parameter concepts ('interests, a fixed area, weekdays, time windows and exclusions') without adding format or edge-case meaning, so the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Prepare an editable, free calendar draft and a VenuNite preview link') plus the exact inputs it derives them from. It also implicitly separates itself from search_events by declaring 'The tool performs no event search, geocoding, calendar save or subscription.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for use (interests, fixed area, weekdays, time windows, exclusions) and explicit exclusions of what the tool does not do, which steers the agent away from treating it as a search or save tool. It never names search_events or create_ticket_handoff as alternatives for those adjacent jobs, so the routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_interest_calendarCreate calendar subscription linksAInspect
Return working Google, Apple and Outlook subscription links and an exact live preview without VenuNite sign-in. Choose up to five interests and fixed 1–50-mile areas; generic MCP supports a different area per interest. This creates no stored account/calendar and does not subscribe a calendar app. Links contain their selected interests and areas; anyone with a link can read them. Changed settings produce a new link. Hosted calls consume request quota and record private telemetry.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| place | No | A city and state or ZIP, for example Boulder, CO or 80302. The user confirms the center in the browser. Omit if unknown. | |
| audience | No | Default hide excludes family events. Use preference to include them, or only for family-only events. Anonymous feeds have no account preference. | hide |
| location | No | An exact center explicitly chosen by the user. Never invent coordinates; omit if unknown. | |
| interests | Yes | An event matches any one interest; conditions within an interest are combined. Keywords match event titles; jazz and trivia also match programming details. | |
| radius_miles | No | Fixed subscription radius, 1–50 miles. Default is 10; tell the user the radius. |
Output Schema
| Name | Required | Description |
|---|---|---|
| draft | No | |
| error | No | |
| total | No | |
| events | No | |
| message | No | |
| apple_url | No | |
| google_url | No | |
| horizonDays | No | |
| outlook_url | No | |
| preview_url | No | |
| subscription_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses that links are publicly readable by anyone who has them, changed settings produce a new link, hosted calls consume request quota, and private telemetry is recorded. It also clarifies the no-storage and no-subscription behavior, which is important for a non-read-only, non-idempotent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then uses short sentences to cover usage constraints, privacy, link behavior, and quota implications. Every sentence adds useful information without restating the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, rich annotations, and 83% schema description coverage, the description is complete enough for an agent to call the tool correctly. It fills the key behavioral gaps around privacy, link sharing, quota, and telemetry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high at 83%, so the schema already documents most parameter semantics. The description reinforces the five-interest limit, 1–50-mile radius, and per-interest area override, but those details are largely present in the schema rather than adding substantial new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: return Google, Apple, and Outlook subscription links plus an exact live preview. It also clarifies that no stored account or calendar is created and no calendar app is subscribed, which meaningfully distinguishes it from create_calendar_draft.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful context such as no VenuNite sign-in and no stored account, implying when this tool is appropriate, but it never explicitly says when to use it instead of siblings like create_calendar_draft or search_events. The usage boundary is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ticket_handoffCreate Ticket HandoffAInspect
Create an attributed VenuNite ticket handoff for a specific event_id. Requires a live API key issued at https://venunite.com/developers/keys. Returns a preview-safe handoff_url; leaving for seller checkout requires the user to explicitly select Continue. This tool records a handoff but does not purchase, reserve, hold inventory, guarantee availability or final prices, or confirm a booking. Calls count against normal MCP tool-call limits; no search-result rows are charged. The handoff service also limits creation to 10 per minute per account.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | The stable VenuNite event_id returned by search_events. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the API-key auth requirement, the 10-per-minute per-account rate limit, the billing behavior (counts against tool-call limits, no search-result charges), and the exact side-effect boundary (no purchase, reserve, hold, availability guarantee, or booking confirmation). This is precisely the extra context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and resource, then layers auth, return value, side-effect disclaimer, and limits in tight sentences. Every sentence carries distinct information; nothing is redundant with the name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, yet it still flags handoff_url as preview-safe. Auth, rate limits, billing, and side-effect boundaries are all covered, leaving no gap an agent needs before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and event_id is fully documented in the schema as the stable ID returned by search_events. The description only echoes that it must be a 'specific event_id', adding no format or constraint detail beyond the structured field, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (create) and resource (attributed VenuNite ticket handoff) scoped to an event_id. The reader can immediately separate it from the sibling search_events, which only retrieves events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions (live API key, user must explicitly select Continue) and a firm scope boundary (records a handoff, does not purchase/reserve/hold/confirm). It never explicitly names search_events as the alternative or states when not to call it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsSearch Local EventsAInspect
Search US local events near a place and within a date window: concerts, comedy, theater, trivia, festivals, community and family events, including events at small venues. Combines semantic search over venue vibes, geographic radius filtering, date/cost/category filters, and audience tags. Returns ranked event facts, stable event_id values, canonical VenuNite event_url links when a stored slug exists, original source_url links for provenance, and applied filters. The legacy url field remains the original source. VenuNite event pages include ticket links when available.
The tool cannot buy tickets, create or modify events, edit calendars, or message organizers. Calls record private quota and request telemetry. An uncached place_name is sent to the public Nominatim geocoder.
Link health never removes an event. When every outside link an event stored is broken, or it stored none, source_url and url are null and ticket_link_status is unavailable or missing; event_url still opens its VenuNite page.
Tag vocabulary is fixed (49 canonical tags across 6 facets: ambiance, social, time, age, venue_type, activity). See the vibe_tags field description.
Safety-critical tags (queer-friendly, family-friendly, all-ages, 18-plus, 21-plus) are hard filters: results that don't satisfy them are excluded entirely, never just down-ranked. family-friendly, all-ages, 18-plus and 21-plus are judged on each event's own audience and age policy, with the venue's tag counting only when the event's classification doesn't contradict it; queer-friendly is a venue tag.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Ordering axis. Results are presented by calendar day in timezone; sort orders within each day. With query_text, the server selects the strongest event-text and venue-vibe matches under every sort, and sort only orders them. Without query_text, the result limit is shared across the days of the window: events starting inside it come before events already under way, and each day contributes its next event on the sort axis. | |
| limit | No | Number of events to return. Default 20. Prefer small (5-10) when the user asked for a single recommendation. | |
| date_end | No | Exclusive ISO-8601 end of the search window, including the local UTC offset. Default: 14 days from date_start. The words now, today, tonight, tomorrow and this weekend are also accepted and resolved in the caller's timezone. 'Tonight' → date_start + 6 hours. 'Next weekend' → date_start + 2 days. An event starting exactly at date_end is outside this window. | |
| max_cost | No | Upper bound on event cost in USD. 'cheap' ≈ 15, 'affordable' ≈ 30, 'under $X' → X. Events with no listed price stay in the results (most events list none), so present their price as unverified rather than excluding them. max_cost=0 returns only proven-free events. Leave unset if the user didn't constrain price. | |
| min_cost | No | Lower bound on event cost. Rarely useful — only set when the user explicitly excluded free events. | |
| timezone | No | IANA timezone (e.g. 'America/New_York') used for the calendar-day grouping of results. Default UTC — pass the user's local zone so 'today/tomorrow' day buckets match their clock. | UTC |
| vibe_tags | No | Canonical vibe vocabulary. Include tags the user explicitly or strongly implied. IMPORTANT: the tags `queer-friendly`, `family-friendly`, `all-ages`, `18-plus`, `21-plus` are HARD filters — only include them when the user's query explicitly asked for that property. Including `family-friendly` for a user who just said 'something fun tonight' will exclude most events. | |
| categories | No | Event category(s). Map the user's intent: 'live music' → music, 'standup' → comedy, 'trivia night' → trivia-games, 'art opening' → arts-culture. 'anything to do' → omit (no category filter). | |
| center_lat | No | Latitude (only if you already have precise coordinates — otherwise pass place_name). | |
| center_lng | No | Longitude (paired with center_lat). | |
| date_match | No | overlap includes events already running during the window, such as multi-day festivals or prior-night shows; events ending exactly at date_start are excluded. starts_within requires the event to start at or after date_start and before date_end. Prefer starts_within for requests about events starting tomorrow, on a specified date, this evening, or this weekend. Keep overlap when the user asks what is currently happening or wants ongoing activities. | overlap |
| date_start | No | Inclusive ISO-8601 start of the search window, including the local UTC offset. Default: now. The words now, today, tonight, tomorrow and this weekend are also accepted and resolved in the caller's timezone. For 'tonight' pass now. For 'this weekend' pass the upcoming Saturday midnight. The timezone field controls day grouping, not parsing: date-times without an offset are interpreted as UTC. Use date_match=starts_within when the user wants events starting on a particular date or evening. | |
| local_only | No | Set true when the user's query implies 'in my immediate area' — 'what's on my block', 'nearby tonight', 'close by'. The server clamps the effective radius to a neighborhood-scale max based on local density (≤10mi urban, ≤30mi suburban, ≤50mi rural), even if radius_miles is larger. Prefer this over guessing a small radius — the server knows the density of the area and you don't. | |
| place_name | No | Human-readable location if the user mentioned one: 'Westminster, CO' or 'Five Points Denver'. Prefer this over guessed lat/lng when you have a name; existing precise coordinates take precedence. Always include the state abbrev when the city name is ambiguous. An unresolved place returns location_unresolved; correct the place or use known coordinates rather than dropping the location. | |
| query_text | No | Free-text vibe description extracted from the user's query. Keep it short — e.g. 'chill jazz' or 'loud rock club'. Omit when the user's request is purely geographic / tag-based (e.g. 'any comedy shows tonight near me'). | |
| state_hint | No | Two-letter state abbreviation to disambiguate place_name (e.g. place_name 'Frederick' + state_hint 'MD'). Unnecessary when place_name already contains the state. | |
| radius_miles | No | Search radius in miles. OMIT this field to let the server pick a density-aware default: 5mi in dense metros (Chicago, NYC), 15mi suburban, 25mi rural. Only pass an explicit value when the user's phrasing implies a specific scope: - 'walking distance' / 'on my block' → 2-3 - 'near me' in a dense downtown or neighborhood → 5-7 - 'near me' in a suburb → 10-15 - 'metro area' / 'anywhere in <city>' → 25-30 - rural 'near me' or 'within driving distance' → 25-50 For a user who says 'things to do tonight' in Lincolnwood, Chicago, or any other dense-urban location: omit this field. Passing 15 there pulls events from 8-10 miles away in other neighborhoods, which is worse than the density-aware default. Range 0.5 to 500. An out-of-range value FAILS the entire call and returns zero events — it is not clamped — so omit the field rather than guessing. Use 'local_only: true' instead of a small radius when you're unsure of local density. | |
| max_events_per_venue | No | Per-venue diversity cap. Default 1 — each venue contributes at most one event, giving a diverse 'what's on' feed. Raise to 3-5 for 'what's on at <specific venue>' queries where the user expects multiple shows from the same room. | |
| include_unknown_prices | No | Include events whose admission price cannot be determined. Default true preserves broad discovery; positive price bounds may then include unknown prices, which must be labeled unverified. false keeps only events with a listed price; most events list none, so it can empty an answer, and 'under $X' alone is not a reason to set it. When it leaves three or fewer results, applied_filters.available_if_relaxed reports how many the same search returns with unknown prices included. This never relaxes the proven-free requirement of max_cost=0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| results | Yes | |
| applied_filters | No | |
| validation_errors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, idempotentHint=false and non-destructive; the description supplies the missing 'why' — private quota and request telemetry are recorded, an uncached place_name is sent to the public Nominatim geocoder, and link-health degradation produces null source_url/url with ticket_link_status unavailable. These are real side effects and failure modes not derivable from the annotation block, and they are consistent with readOnlyHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four paragraphs is substantial, but it is front-loaded with purpose first and operational caveats second, and most sentences carry durable information (telemetry, geocoder, link health, hard-filter tags). The hard-filter paragraph restates what the vibe_tags schema already says, which is the main redundancy; it is not padded filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 19-parameter, zero-required, open-world search tool with an output schema, the description covers the things structured fields cannot: side effects (quota, telemetry, external geocoding), link-health semantics, and the hard-versus-soft filter contract. Nothing an agent needs to call it correctly is missing, and return-shape explanation beyond the output schema is a minor redundancy rather than a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, which sets the baseline at 3. The description still adds cross-cutting meaning: the fixed 49-tag / 6-facet vocabulary, the fact that the five safety tags are hard filters rather than ranking signals (which is a semantic contract, not just a field description), and that event_url survives even when every external link is broken. This is genuine value beyond the schema text, though several tag details are duplicated from the vibe_tags field description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb+resource ('Search US local events near a place and within a date window'), enumerates the covered event types, and names the differentiating scope ('including events at small venues'). It also states the retrieval mechanism (semantic venue-vibe search + radius + filters) and the returned artifacts, so an agent can tell exactly what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear when-not guidance ('cannot buy tickets, create or modify events, edit calendars, or message organizers'), which implicitly routes ticket intent toward the sibling create_ticket_handoff. However it never names that sibling or states the positive condition for switching to it, so the routing is inferential rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
create_interest_calendar
1 tool update
- Added
create_calendar_draft
Publisher details
- Operator
- VenuNite · Publisher source
- Operator website
- https://venunite.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://venunite.com/developers/mcp · Publisher source
- Trust center
- Unknown
- Restrictions
- Free personal MCP event search requires no signup or API key and is subject to fair-use limits. Coverage is U.S.-focused and varies by location. Optional account API keys increase the personal search allowance. Commercial and bulk use require a paid plan. Ticket handoffs require an authenticated account key. · Publisher source
Related MCP Connectors
Read-only search of upcoming local events worldwide: music, comedy, AI/tech, arts, food, sports.
Local US events by town, date and kind (trivia, live music, karaoke...), each checked at its source.
250,000+ real, local, future events, ranked for the signed-in person. Free to connect.
Search local events in plain words: shows, pop-ups, markets, classes, with times, venues, prices.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to browse public event listings from explore pages and fetch full detail for a single event — titles, descriptions, times, locations, host display names, and aggregate RSVP counts — across eight supported city regions. Keyless and read-only, with no guest lists, contact info, or authentication required.18 npmMIT
- AlicenseAqualityBmaintenanceSearch real, source-checked kids' events, classes and places across 42 US metro areas from Grassy Knees: this weekend's events, free-only and age filters, listing details and seasonal guides, each with its official link and last-checked date.4507 npmMIT
- AlicenseBqualityCmaintenanceWeb search API for comprehensive event retrieval: find every relevant event across the open web â not just top results.601MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.