Manchester Tonight
Server Details
What's on in Manchester: search gigs, club nights, theatre, events and venues. Read-only, no auth.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- Manchester Tonight
- Claude
- Manchester Tonight
TDQS
Scored across 5 tools
get_venue and plan_night_out are clearly distinct (detail vs. action), but whats_on, search_listings and seasonal_events overlap substantially — all surface Manchester events, and 'one-off events' appear in both whats_on and seasonal_events while search_listings and whats_on both list regular nights. The date-based vs. day/keyword-based split is real but subtle, so misselection is likely.
All names use snake_case, which is consistent, but the verb style is mixed: get_venue/search_listings are verb_noun while seasonal_events and whats_on are bare nouns. Readable but not a predictable single pattern.
Five tools is well-scoped for a city night-out discovery server, with each covering a plausible slice (venue detail, search, date listing, seasonal, planning). Slightly thin but nothing feels gratuitous.
The surface covers discovery (whats_on, search_listings, seasonal_events), detail (get_venue) and action (plan_night_out), forming a coherent lifecycle for the domain. Minor gaps around updating/editing an existing plan or venue correction, but agents can work around them.
Available Tools
5 toolsget_venueGet a venueARead-onlyIdempotentInspect
Get every regular night and seasonal or one-off event at one Manchester venue, with times, address if known, sources and when it was last checked.
| Name | Required | Description | Default |
|---|---|---|---|
| venue | Yes | Venue name, e.g. "Frog & Bucket" or "The Chorlton Tap". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds real behavioral context beyond them by disclosing the shape of the response (times, address 'if known', sources, last-checked freshness) despite there being no output schema, which is genuinely useful.
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-loaded with the verb and resource in a single dense sentence; every clause describes a returned field rather than padding. Slightly list-heavy in its tail but nothing is redundant.
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 no output schema, the description carries the burden of describing returns and does so competently. It is silent only on edge cases such as an unknown venue name or result limits, which are minor for a single-parameter lookup.
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 coverage is 100%, so the 'venue' parameter is already fully documented as a string with examples. The description nevertheless adds a constraint the schema lacks: the venue must be a single Manchester venue, narrowing the accepted input scope.
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 (Get) and resource (events at one Manchester venue) and enumerates the returned fields (times, address, sources, last-checked). It does not differentiate itself from siblings like seasonal_events or whats_on, whose domains it overlaps by claiming to cover 'seasonal or one-off event' too.
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?
Usage is only implied: the agent can infer this is the per-venue detail lookup, but the description never says when to pick it over whats_on or search_listings, nor names any alternative or exclusion. Adequate minimum, but no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_night_outMake a night-out plan to shareAIdempotentInspect
Turn a night out you have planned with someone (or a few days out) into a Manchester Tonight plan: a link that opens the plan on manchestertonight.co.uk, where they can change it and send it to friends on WhatsApp, plus the message text. Find the stops first with whats_on or search_listings. Listed venues get their area and page filled in, and a stop with no time gets the start time of the night on at that venue that day. The first stop each day is where everyone meets. Give the plan an intro and each stop a blurb, written to the person's friends: what you'll do there, why it's a good pick, and anything to book, bring or know (opening times, dietary notes, tickets). Returns a short link that previews as a card with the plan's name, a full message and a short one; offer whichever suits (the short one or just the link is best for a group chat). The plan is kept only to serve that link, until a month after its last day.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | The night, or the first day: tonight, tomorrow, a weekday name, YYYY-MM-DD or DD/MM/YYYY (UK time). | |
| intro | No | Optional few sentences to everyone about the plan, e.g. "Birthday week! Rough plan below, come to whatever you can." | |
| stops | Yes | The stops in order. On a plan over several days, give each stop its day. | |
| title | No | Optional name, e.g. "Sam's birthday". Default "Night out". | |
| end_date | No | Optional last day, for a plan over several days (up to 14), in the same formats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare it is a non-read-only, open-world, idempotent, non-destructive write. The description adds genuine lifecycle context the annotations lack: the plan is persisted only to serve the link and is kept until a month after its last day, and it describes the returned preview card and message variants. It does not clarify whether repeated calls create separate links.
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?
Dense but information-bearing throughout; nearly every clause carries actionable detail (auto-fill rules, message variants, retention). The opening sentence is long and clause-heavy, so it is not maximally front-loaded, but there is little waste.
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?
No output schema exists, and the description compensates fully by describing the return (short link, preview card, full and short message) and recommending which to offer for a group chat. Combined with the retention window and stop-resolution rules, an agent has everything needed to call and use this tool correctly.
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 coverage is 100%, so baseline is 3, but the description adds real semantics beyond the schema: listed venues get area and page auto-filled, a stop without a time inherits the venue's start time that day, and the first stop each day is the meeting point. That is meaningful behavioral meaning layered on top of the field docs.
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+resource: turning a planned night out into a 'Manchester Tonight plan' link with message text. It explicitly names the sibling tools used to gather stops (whats_on, search_listings), so an agent can distinguish this creation tool from the discovery tools.
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 a clear prerequisite and alternative path ('Find the stops first with whats_on or search_listings'), which routes the agent correctly. It does not state when-not to use the tool or what happens if stops are already known, so it falls short of fully explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsSearch Manchester Tonight listingsARead-onlyIdempotentInspect
Search all regular nights out in Manchester by keyword, area, type and day of the week. Use for questions like "free comedy in Manchester", "which pubs in Stockport have a quiz" or "open mics on Mondays". Results include the day rule (e.g. "Every Tuesday", "1st Thursday of the month").
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Optional day of the week, e.g. monday, or several ("friday or saturday"), weekend or weekdays. | |
| area | No | Optional area: city-centre, northern-quarter, south-manchester, didsbury, west-didsbury, chorlton, stockport, salford, further-out, or a neighbourhood name such as Ancoats, Castlefield, Levenshulme or Heaton Moor. | |
| type | No | Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag, happy-hours, social-nights or film-nights. Plain words like "quiz" or "comedy" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day. | |
| limit | No | Maximum results (default 40). | |
| query | No | Optional keywords matched against venue, area, type and notes, e.g. "free", "jazz", "SpeedQuizzing". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is fully covered. The description adds only that results include the day rule; it does not discuss pagination behavior or result ordering beyond what the limit parameter implies.
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?
Three sentences, front-loaded with purpose and scope, followed by usage examples and return-format note. Every sentence contributes; the examples are slightly verbose but earn their place by clarifying intent.
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 read-only search with no output schema, the description notes that results carry the day rule and the schema fully documents all inputs, so an agent has enough to call it correctly. A brief note on result count or ordering would round it out.
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%, so each of the five parameters is already documented in detail. The description restates the searchable dimensions but adds no syntax or format detail beyond the schema, matching the baseline 3 for schema-dominant definitions.
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 ('Search all regular nights out in Manchester') plus the searchable dimensions (keyword, area, type, day). The word 'regular' implicitly separates it from seasonal_events, but no sibling is named explicitly, so it falls short of the 5-level differentiation.
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?
Concrete example queries ('free comedy in Manchester', 'which pubs in Stockport have a quiz', 'open mics on Mondays') make the intended use cases vivid and easy to match. However, there is no explicit when-not-to-use guidance or routing to alternatives like whats_on or seasonal_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seasonal_eventsHalloween, Christmas and other seasonal eventsARead-onlyIdempotentInspect
List upcoming dated seasonal events in Manchester, such as Halloween parties and club nights, or Christmas markets, light trails, panto and concerts. Use for questions like "Halloween in Manchester", "Christmas markets dates" or "festive things to do in Manchester". Each result has dates, times, prices and a ticket link.
| Name | Required | Description | Default |
|---|---|---|---|
| season | No | Optional: halloween, bonfire, christmas or new-years-eve (words like spooky, fireworks, festive or nye work too). Leave out to get every upcoming seasonal event. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the description's added value is its disclosure of scope ('upcoming dated events', Manchester-only) and the result contents (dates, times, prices, ticket link). With no output schema, noting what comes back is genuinely useful context. It stops short of mentioning pagination or result counts, but only counts as a minor gap.
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?
Three tight sentences: the capability is front-loaded, the example queries sit in the middle, and the return contents close it out. Every sentence earns its place with no 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 one-optional-param read tool with no output schema, the description covers purpose, invocation examples, scoping, and return contents. An agent has everything needed to call it correctly and to know what the results look like.
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 the single optional 'season' parameter is fully documented in the schema, including accepted synonyms. The description adds nothing about parameter behavior, so the baseline of 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 ('List') and resource (upcoming dated seasonal events in Manchester) with concrete instances such as Halloween parties, Christmas markets and panto. The scope is narrower than generic siblings like search_listings or whats_on, though no sibling is named to make the distinction explicit.
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 usage contexts with sample user questions ('Halloween in Manchester', 'Christmas markets dates', 'festive things to do in Manchester'), which tells the agent when this tool is the right pick. It does not state when NOT to use it or route to a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whats_onWhat's on in ManchesterARead-onlyIdempotentInspect
List regular nights out and one-off events in Manchester, UK on a given date: pub quizzes, comedy, open mics, live music, club nights, drag, happy hours, social nights and film nights. Use for questions like "what's on tonight in Manchester", "comedy in the Northern Quarter on Saturday" or "quiz in Didsbury tomorrow". Each result has a time, venue, area, notes and a link to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Optional area: city-centre, northern-quarter, south-manchester, didsbury, west-didsbury, chorlton, stockport, salford, further-out, or a neighbourhood name such as Ancoats, Castlefield, Levenshulme or Heaton Moor. | |
| date | No | today (default), tonight, tomorrow, a weekday name like saturday, weekend (Friday to Sunday), a date like 31 October, halloween, bonfire night, christmas eve, YYYY-MM-DD or DD/MM/YYYY. Uses UK time, and before 4am "tonight" still means the night before. | |
| type | No | Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag, happy-hours, social-nights or film-nights. Plain words like "quiz" or "comedy" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day. | |
| limit | No | Maximum results (default 30). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds genuinely new context beyond them: the result shape (time, venue, area, notes, citable link) and the UK-time nuance, which matter because there is no output schema. It does not disclose rate limits or result ordering, which is a minor remaining gap.
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?
Three sentences, front-loaded with the core action and scope before the usage examples and the return-field note. The category enumeration in sentence one is long but does real work distinguishing the tool's coverage, so nothing is clearly wasted.
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 no output schema and no annotations covering return values, the description usefully compensates by describing the result fields and the citation link. Combined with a fully documented input schema, an agent has nearly everything needed to call and interpret the tool, missing only ordering/pagination expectations for the limit parameter.
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%, so area, date, type and limit are all fully documented in the schema itself (including the 4am 'tonight' rule and the seasonal-word behavior). The description adds query-phrasing examples but no parameter detail beyond what the schema already provides, 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?
Names the specific verb (list) and resource (regular nights out and one-off events) plus the scope (Manchester, UK, on a given date) and enumerates the covered event categories. This is far more specific than the title alone, though it never names or contrasts the overlapping siblings search_listings or seasonal_events, so an agent cannot tell from the description alone which one to prefer.
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 concrete user-question exemplars ("what's on tonight in Manchester", "comedy in the Northern Quarter on Saturday", "quiz in Didsbury tomorrow") that make the intended use case unambiguous. It stops short of stating when NOT to use it versus search_listings or seasonal_events, so there is no explicit exclusion or routing rule.
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.
2 tool updates
- Changed
search_listings1 field changed- changed
Input schema / properties / type / descriptionPrevious value: -"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."New value: +"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag, happy-hours, social-nights or film-nights. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."
- Changed
whats_on1 field changed- changed
Input schema / properties / type / descriptionPrevious value: -"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."New value: +"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag, happy-hours, social-nights or film-nights. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."
3 tool updates
- Changed
search_listings2 fields changed- changed
Input schema / properties / day / descriptionPrevious value: -"Optional day of the week, e.g. monday."New value: +"Optional day of the week, e.g. monday, or several (\"friday or saturday\"), weekend or weekdays." - changed
Input schema / properties / type / descriptionPrevious value: -"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too."New value: +"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."
- Changed
seasonal_events1 field changed- changed
Input schema / properties / season / descriptionPrevious value: -"Optional: halloween, bonfire, christmas or new-years-eve. Leave out to get every upcoming seasonal event."New value: +"Optional: halloween, bonfire, christmas or new-years-eve (words like spooky, fireworks, festive or nye work too). Leave out to get every upcoming seasonal event."
- Changed
whats_on2 fields changed- changed
Input schema / properties / date / descriptionPrevious value: -"today (default), tonight, tomorrow, a weekday name like saturday, YYYY-MM-DD or DD/MM/YYYY. Uses UK time, and before 4am \"tonight\" still means the night before."New value: +"today (default), tonight, tomorrow, a weekday name like saturday, weekend (Friday to Sunday), a date like 31 October, halloween, bonfire night, christmas eve, YYYY-MM-DD or DD/MM/YYYY. Uses UK time, and before 4am \"tonight\" still means the night before." - changed
Input schema / properties / type / descriptionPrevious value: -"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too."New value: +"Optional type: pub-quizzes, comedy-nights, open-mics, live-music, club-nights, drag or happy-hours. Plain words like \"quiz\" or \"comedy\" work too, and any other word (free, chill, theatre, family) searches the listings' descriptions. In whats_on a seasonal word (halloween, spooky, fireworks, christmas, nye) gives that season's events that day."
1 tool update
- Changed
seasonal_events1 field changed- changed
Input schema / properties / season / descriptionPrevious value: -"Optional: halloween, bonfire or christmas. Leave out to get every upcoming seasonal event."New value: +"Optional: halloween, bonfire, christmas or new-years-eve. Leave out to get every upcoming seasonal event."
1 tool update
- Changed
plan_night_out3 fields changed- added
Input schema / properties / introAdded value: +{ + "description": "Optional few sentences to everyone about the plan, e.g. \"Birthday week! Rough plan below, come to whatever you can.\"", + "maxLength": 600, + "type": "string" +} - added
Input schema / properties / stops / items / properties / blurbAdded value: +{ + "description": "A sentence or two for friends about this stop: what you'll do, why it's a good pick, anything to book, bring or know.", + "maxLength": 400, + "type": "string" +} - changed
Input schema / properties / stops / items / properties / note / descriptionPrevious value: -"Optional short note, e.g. \"Book a table\"."New value: +"Older name for blurb; use blurb."
1 tool update
- Added
plan_night_out
4 tool updates
- First observed
get_venue - First observed
search_listings - First observed
seasonal_events - First observed
whats_on
Related MCP Connectors
Find concerts, theatre, sport and festivals in Sweden. Authless, read-only MCP.
Read-only search of cultural and nightlife events in Bizkaia (Basque Country, Spain).
Live UK ticket prices in GBP for concerts, sport, theatre and festivals, checked hourly. Read-only.
UK live music and events, from grassroots small venues to major shows, updated daily.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables browsing live event, venue, and lineup listings city by city, with optional category filtering for gigs, club nights, comedy, theatre, and talks. Also returns full detail for any single event, including dates, venue and address, on-sale window, starting price, billed artists, and highlights such as age restrictions.388 npmMIT
- 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.268 npmMIT
- AlicenseAqualityAmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to browse curated city event feeds, retrieve full details for individual events, and list an organizer's public calendar without authentication. It returns only public event metadata, stripping attendee, guest, host, and manager data before responding.580 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.