Siena Society
Server Details
Find Siena friendship dinners in London: upcoming Thursdays, how it works, and the booking link.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a mostly distinct role: city discovery, dinner listing, single-dinner detail, explanation of the service, and booking handoff. The only mild overlap is between how_it_works and start_booking, since both concern the booking process, but their descriptions make the informational vs. action distinction clear.
All names use snake_case, and most follow a verb_noun pattern such as get_dinner, list_cities, and start_booking. The main deviation is how_it_works, which is descriptive but not action-oriented like the others.
Five tools is well-scoped for a narrow dinner-discovery and booking-handoff service. Each tool covers a distinct step in the user journey without obvious redundancy.
The set covers the core journey: learning how Siena works, finding cities and upcoming dinners, viewing dinner details, and getting the booking link. Minor gaps exist around direct cancellation/refund actions or checking an existing booking, but those appear intentionally delegated to the website.
Available Tools
5 toolsget_dinnerGet a Siena dinnerARead-onlyIdempotentInspect
Gets one Siena dinner in full: date and time, where it happens, table size, seat price, the booking window and the cancellation rule. The restaurant stays private until Siena emails it on the Wednesday before.
| Name | Required | Description | Default |
|---|---|---|---|
| dinner_id | Yes | The dinner id from list_upcoming_dinners, for example "london-2026-11-05". A Thursday date such as "2026-11-05" also works. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dinner | Yes | |
| next_step | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds useful domain behavior beyond annotations: the restaurant remains private until Siena emails it on the Wednesday before, which affects what the caller can expect from the response.
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?
Two sentences, front-loaded with the core action and returned fields, followed by one important behavioral caveat. No wasted text.
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?
An output schema exists, annotations cover safety and idempotency, and the sole parameter is fully described in the schema. The description completes the picture by naming the returned fields and the restaurant-privacy timing.
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 dinner_id parameter is fully documented in the schema, including examples. The description adds no additional parameter semantics, 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 and resource: 'Gets one Siena dinner in full.' The singular 'one' and the list of returned fields distinguish it from the sibling list_upcoming_dinners, which presumably lists multiple dinners.
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 implied by 'Gets one Siena dinner in full' and the dinner_id parameter, but the description does not explicitly say when to use this instead of list_upcoming_dinners or start_booking. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
how_it_worksHow Siena worksARead-onlyIdempotentInspect
Explains how Siena friendship dinners work: sign-up, matching, the Wednesday email, the seat price and Premium, cancellation and refunds, and links to the policies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| city | Yes | |
| links | Yes | |
| price | Yes | |
| steps | Yes | |
| contact | Yes | |
| summary | Yes | |
| matching | Yes | |
| policies | Yes | |
| table_size | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered structurally. The description adds genuine content-scope information (it explains process, pricing, refunds, and links to policies), which tells the agent what kind of answers it can expect — useful beyond the annotations.
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?
A single, front-loaded sentence that itemizes the covered topics without padding. Every clause earns its place by telling the agent what content the tool returns.
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 zero-parameter, read-only informational tool with an output schema present, the description covers exactly what the agent needs: what the content is and its scope. Nothing is missing to call it 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?
The tool takes zero parameters, so there is no parameter semantics to convey; the baseline for a no-param tool applies. Nothing in the schema needs compensating for.
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 ('Explains') with a specific resource ('how Siena friendship dinners work') and enumerates the exact topics covered (sign-up, matching, Wednesday email, seat price, Premium, cancellation/refunds). This clearly separates it from the transactional siblings like start_booking and get_dinner.
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 enumerated topic list effectively signals when to reach for it — policy, pricing, and process questions — versus action tools. It doesn't explicitly name an alternative sibling or state exclusions, so it falls just 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.
list_citiesList Siena citiesARead-onlyIdempotentInspect
Lists the cities where Siena runs friendship dinners, with the dinner night and time. Siena runs in London only today.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| cities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-structured behavioral context: the underlying dataset is effectively a single city (London) and may be time-scoped, which tells the agent to expect a very short, possibly stale list. It stops short of saying how 'today' is evaluated or whether results are cached/static.
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?
Two short sentences, no filler, and the core purpose is front-loaded before the scope remark. Every sentence carries information an agent cannot get from the schema or annotations.
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 parameters, an output schema covering return values, and annotations covering safety, the description supplies all the framing an agent needs for a trivial lookup. The one defect is the ambiguity of 'Siena runs in London only today' — it is unclear whether that means 'currently only London' or 'only on today's date', which could mislead an agent about the scope of coverage.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. Nothing in the description misrepresents the empty schema.
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 ('Lists the cities where Siena runs friendship dinners') and says what each entry contains ('dinner night and time'), which separates it from get_dinner and list_upcoming_dinners. It never names those siblings explicitly, and 'with the dinner night and time' slightly overlaps what list_upcoming_dinners likely returns, so the differentiation is implied rather than stated.
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: an agent can infer this is the geography/reference lookup rather than a booking or dinner-detail tool, and the note that Siena runs in London only frames the expected result. There is no explicit when-to-use, when-not-to-use, or named alternative among get_dinner, how_it_works, list_upcoming_dinners and start_booking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_upcoming_dinnersList upcoming Siena dinnersARead-onlyIdempotentInspect
Lists upcoming Siena friendship dinners in a city between two dates, and says which ones are open to book. Siena holds one dinner a week, on Thursday at 7:30pm London time, for small groups of strangers who want to make friends. A few holiday Thursdays have no dinner, and the list leaves them out. Booking for a Thursday opens on the Wednesday two weeks before and closes on the Tuesday before at 23:59. With no dates, the tool lists the next 4 Thursdays. It lists up to 12 weeks ahead.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Last date to include, yyyy-mm-dd, London time. Defaults to 4 weeks after from. | |
| city | No | City name or id. Only "London" has dinners. Defaults to London. | |
| from | No | First date to include, yyyy-mm-dd, London time. Defaults to today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | Yes | |
| city | Yes | |
| from | Yes | |
| dinners | Yes | |
| message | Yes | |
| every_dinner | No | Facts that are the same for every dinner. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, and the description adds real operational context on top: holiday Thursdays are silently omitted, dinners are weekly on Thursday 19:30 London time, and the booking window opens two weeks prior Wednesday and closes Tuesday 23:59. These are non-obvious behaviors an agent could not infer from the schema or annotations.
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 purpose and defaults; the booking-window and holiday-omission sentences each carry actionable information. The clause about 'small groups of strangers who want to make friends' is atmospheric rather than functional and is the only sentence that doesn't earn its place.
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?
Covers defaults, timezone, maximum horizon, weekly cadence, omitted holiday weeks, and booking timing -- everything needed to call and interpret this zero-required-param list tool. An output schema exists, so the absence of return-value detail is not 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 coverage is 100%, so baseline is 3, but the description adds meaning the schema lacks: that dates are interpreted against the London-time Thursday cadence and the booking window, explaining why a caller would narrow the range. The city restriction ('only London has dinners') is already duplicated in the schema description, so the incremental gain is modest rather than decisive.
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?
Opens with a specific verb and resource ('Lists upcoming Siena friendship dinners in a city between two dates') plus the value-add of showing which are bookable. The plural list framing cleanly separates it from the singular get_dinner sibling without needing to name it.
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 guidance on defaults ('with no dates, the tool lists the next 4 Thursdays') and horizon ('up to 12 weeks ahead'), which tells the agent when to supply dates vs. omit them. It never explicitly routes to get_dinner or start_booking as alternatives for a specific result or to book, so the when-vs-sibling element is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_bookingStart a Siena bookingARead-onlyIdempotentInspect
Returns the link where the person books a seat at a Siena dinner on sienasociety.com. It books nothing and charges nothing. On the website the person signs up or signs in, answers six short questions the first time, and pays for the seat. Never ask for card details or personal data in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| dinner_id | Yes | The dinner id from list_upcoming_dinners, for example "london-2026-11-05". A Thursday date such as "2026-11-05" also works. |
Output Schema
| Name | Required | Description |
|---|---|---|
| when | Yes | |
| message | Yes | |
| dinner_id | Yes | |
| booking_url | Yes | Null when the dinner is not open to book. |
| booking_status | Yes | open: a seat can be booked now. not_open_yet: booking opens on the Wednesday two weeks before. closed: booking closed on the Tuesday before. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context on top: the tool only returns a URL, nothing is charged, and the actual booking flow (sign up/sign in, six questions, payment) happens on the website. It also sets a hard behavioral rule against requesting card details or personal data in chat, which an agent would otherwise have no way to know.
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 short sentences, front-loaded with what is returned and immediately followed by the key negative clarification. The web-flow sentence and the data-handling rule each carry distinct, non-redundant information.
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-parameter, read-only tool with an output schema and full annotations, the description supplies everything an agent needs: what comes back, what it does not do, where the user completes the flow, and a privacy constraint on the conversation.
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% and the single dinner_id parameter is fully documented in the schema, including the accepted date format example. The description adds no parameter-level meaning beyond that, 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 and resource: returns the link where a person books a seat at a Siena dinner on sienasociety.com. The clarifying line 'It books nothing and charges nothing' preempts the natural misreading of the 'start_booking' name, distinguishing it from sibling tools like get_dinner or list_upcoming_dinners.
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 establishes the context (person wants to book a seat) and explicitly rules out chat-side handling of card details or personal data, which is real when-not guidance. It does not explicitly name alternatives or the sequencing with list_upcoming_dinners in the description itself, though the schema param description does.
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.
5 tool updates
- First observed
get_dinner - First observed
how_it_works - First observed
list_cities - First observed
list_upcoming_dinners - First observed
start_booking
Related MCP Connectors
Find The Dinner Table Club dinner parties for strangers in NYC, DC, LA and Miami by city and date.
Free London beta meetup planner. Ranks curated Placelists by journey fairness for the whole group.
Local businesses, opening hours, events and noticeboards across London boroughs.
London sights, hidden gems, checked opening hours, ticket prices, step-free Tube and a day planner.
Related MCP Servers
- AlicenseBqualityFmaintenanceEnables users to search, check availability, and book restaurant reservations across Resy and OpenTable platforms. It supports direct booking for Resy and includes an automated reservation 'sniper' for securing high-demand slots the moment they become available.124MIT
- AlicenseNot gradedqualityDmaintenanceDiscover tech events, startup meetups, AI events across cities including hidden ones.27 npm2MIT
- 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
- AlicenseAqualityDmaintenanceAn AI-powered server that helps users discover and book restaurants based on location, cuisine preferences, mood, and event type, with integration to Google Maps Places API for accurate recommendations.516MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.