Skip to main content
Glama

Server Details

Search nearly 20,000 verified restaurants and bars across 24 cities plus the New Mexico region, with venue detail and curated lists.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

7 tools
fetchFetch a Dim Hour venueA
Read-only
Inspect

Get the full Dim Hour record for one venue by the id returned from search: description, signature dishes, address, hours, phone, happy hour, reservation platform, awards, website and Instagram.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesVenue id from `search`, in the form 'city:id' e.g. 'nyc:1367'

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare read-only and non-destructive behavior. The description adds value by enumerating the response fields (description, signature dishes, address, hours, phone, happy hour, reservation platform, awards, website, Instagram) and indicating a comprehensive retrieval. It does not cover error cases but that is acceptable given the simple read-only nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and resource. The list of returned fields is informative without being verbose. Every phrase contributes to understanding the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter), the existing annotations, and the presence of an output schema, the description provides sufficient context for an agent to select and invoke it correctly. It clearly states the input source and the nature of the returned data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a thorough description of the `id` parameter, including its source (from search) and an example format. The description reiterates this source but adds no new semantic detail. Since schema coverage is 100%, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('full Dim Hour record'), and clearly states the input source (id from search). It lists the contained fields, making the purpose unambiguous. However, it does not explicitly differentiate itself from the sibling tool 'get_venue', so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a clear workflow: first call `search` to obtain an id, then use this tool to fetch the full record. This provides useful context for when to use it. It does not explicitly mention alternatives or when not to use it, so it stops short of giving full exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_venueGet venue detailsA
Read-only
Inspect

Get the full Dim Hour record for one venue: description, signature dishes, address, hours, phone, happy hour, reservation platform, awards, website, Instagram, and (for Iconic 50 venues) the long-form story.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoVenue id from search_venues
cityYesCity name or key
nameNoVenue name (used if id not given)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
latNo
lngNo
urlYes
nameYes
tagsYes
hoursYes
phoneYes
priceNo
scoreNo
storyNo
awardsYes
dishesYes
iconicNo
openedNo
addressYes
cuisineYes
websiteYes
photoUrlYes
trendingNo
city_nameYes
instagramYes
happy_hourYes
highlightsNo
price_tierNo
descriptionYes
reservationYes
neighborhoodYes
other_locationsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it as read-only and non-destructive. The description adds useful conditional detail (long-form story only for Iconic 50 venues) and clarifies the record's composition, providing value beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the main purpose and then lists fields in a dense, readable manner. It is slightly long but every word adds value, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a read-only annotation, full schema coverage, and an output schema, this description is sufficiently complete for a single-record retrieval tool. It does not elaborate on error handling or sibling differentiation beyond implied usage, but those gaps are minor given existing structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are fully described in the schema (100% coverage), and the tool description does not add extra meaning beyond labeling the record as 'full.' The schema already explains id/name/city roles, so the description contributes minimal additional parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches the full Dim Hour record for a single venue and enumerates the included fields (description, signature dishes, address, hours, etc.). This specific verb+resource pairing distinguishes it from sibling tools like search_venues or fetch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for retrieving detailed records after a search, and the input schema explicitly notes the id comes from search_venues. However, it does not state when not to use it or mention alternatives for list/lightweight data, leaving room for more explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_citiesList citiesA
Read-only
Inspect

List the 24 cities Dim Hour covers, with the city key to pass to the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
citiesYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'List' matches that safety profile. It additionally discloses the exact scope ('24 cities') and the useful detail that the output contains city keys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, efficient sentence that states exactly what the tool does and why the result matters. No filler or redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list operation with an output schema available, the description fully covers what an agent needs to call it correctly and understand its role in the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds value by explaining that the output provides city keys for use elsewhere, which is the only semantic guidance needed for a parameterless call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List'), a precise resource ('the 24 cities Dim Hour covers'), and the practical purpose ('city key to pass to the other tools'). This clearly distinguishes it from sibling tools that list venues or search content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: this tool is the source for city keys needed by other tools, implying it should be used to obtain valid city identifiers. It does not explicitly name exclusions or alternatives, but the use case is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_curatedList editorial listsA
Read-only
Inspect

Dim Hour's editorial themed lists for a city (e.g. 'Unmarked Doors' speakeasies). Without list_id: returns all list titles. With list_id: returns that list's venues with editorial notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity name or key
list_idNoA list id from the no-arg call

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
cityYes
noteNo
listsNo
titleNo
venuesNo
subtitleNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful behavioral detail beyond annotations: the response differs based on whether list_id is supplied, returning list titles in one case and venues with editorial notes in the other. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and includes an illustrative example. Each sentence earns its place: one defines scope, and two concisely cover the parameter-dependent behavior. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, full schema coverage, presence of an output schema, and read-only annotations, the description covers everything needed to invoke it correctly. It explains the required city context, the optional list_id, and what each call returns, making it complete without needing to repeat schema or output details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds extra semantic value by explaining the behavior associated with list_id omission vs. inclusion, which the schema only hints at through the parameter description 'A list id from the no-arg call.' This directly clarifies how the parameters affect the result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('returns') and names a precise resource: 'Dim Hour's editorial themed lists for a city.' It clearly distinguishes itself from siblings like list_new_venues by emphasizing editorial lists, and it explains the two invocation modes (with and without list_id) so the tool's purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states the context: editorial themed lists for a city, and gives concrete usage guidance for when list_id is omitted versus included. It does not explicitly name alternatives or say when not to use this tool, but the editorial focus and conditional behavior make the intended usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_new_venuesList new venuesA
Read-only
Inspect

Venues recently added to the Dim Hour catalog — across all 24 cities or one city. Use for 'what's new on Dim Hour' / new-opening alerts / weekly digests. Scored places to eat and drink come first; hotels, malls, museums and landmarks carry no score and follow them. Recency orders within each group. Dates earlier than 2026-06-06 are estimates reconstructed from history.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city name or key; omit for all cities
daysNoLook-back window in days, default 30 (max 90)
limitNoMax results, default 25

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityYes
venuesYes
showingYes
total_newYes
window_daysYes
feed_generatedNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and destructiveHint annotations, the description reveals non-obvious ordering behavior: scored places come first, non-scored venues follow, and within each group recency orders results. It also discloses that dates before 2026-06-06 are reconstructed estimates, which is exactly the kind of behavioral context an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then gives concrete use cases, ordering behavior, and a date-estimate caveat. Every sentence carries meaningful information with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and all parameters documented at 100% coverage, the description still covers the essential use context, ordering semantics, and an important data-quality caveat. Nothing critical is missing for selecting or invoking this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents city, days, and limit thoroughly. The description adds only the '24 cities' detail and recency concept, but does not materially explain parameter usage beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Venues recently added to the Dim Hour catalog', which names the exact resource and distinguishes this tool from siblings like list_curated and search_venues by its recency focus. It also clarifies the scope ('across all 24 cities or one city'), leaving no ambiguity about what the tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it: "Use for 'what's new on Dim Hour' / new-opening alerts / weekly digests." It does not explicitly say when not to use it or name alternative tools, so it stops short of a full 5, but the use cases are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_venuesSearch venuesA
Read-only
Inspect

Search Dim Hour's restaurant, bar and venue catalog. Pass city to search one city, or OMIT city to search more than 19,000 venues across every city at once (e.g. 'best ramen anywhere', 'michelin spots'). Returns ranked matches with score (0-100 quality), price tier, neighborhood, happy-hour info, and a dimhour.com link. Free-text query matches each content word individually across cuisine, dish, vibe, and name (filler like 'best' or 'tonight' is ignored) - one strong keyword beats a sentence; combine with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity name or key, e.g. 'NYC', 'dallas'. OMIT to search ALL cities at once.
limitNoMax results, default 10
queryNoFree text; every content word must appear in name, cuisine, neighborhood, tags, dishes, or description (filler like 'best'/'tonight' is ignored). One strong keyword beats a full sentence.
cuisineNoFilter to a cuisine (substring match)
max_priceNoMax price tier 1-4 ($-$$$$)
min_scoreNoMinimum quality score 0-100
iconic_onlyNoOnly 'Iconic 50' venues (NYC has these today)
neighborhoodNoFilter to a neighborhood (substring match)
trending_onlyNoOnly trending venues
awards_containsNoOnly venues whose awards field matches, e.g. 'michelin', 'james beard', 'bib gourmand'
happy_hour_onlyNoOnly venues with happy hour info

Output Schema

ParametersJSON Schema
NameRequiredDescription
cityNo
noteNo
scopeNo
venuesYes
showingYes
total_matchesYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true and destructiveHint=false, so the description only needs to add behavior, and it does: it discloses ranked matches, score range, return fields, and query tokenization ('matches each content word individually', 'filler ... is ignored'). Also explains the global-search behavior when city is omitted. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, tightly written: purpose, city behavior/returns, and query guidance. Each sentence adds distinct information; no filler or repetition. Front-loads the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the two most ambiguous behaviors (omitting city, query tokenization) and summarizes return fields, while the output schema and 100% parameter descriptions provide the rest. With 11 optional params and no required args, it gives enough orientation to call correctly without drowning in detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does restate query matching and city omission, but adds no new parameter-specific meaning beyond the schema (e.g., 'one strong keyword beats a sentence' is already in the query schema description). It remains accurate and integrated, so no penalty beyond baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Search' and a specific resource 'Dim Hour's restaurant, bar and venue catalog', and distinguishes itself by explaining city-scoped vs global search. This clearly separates it from siblings like 'get_venue' and the generic 'search' without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: 'Pass city to search one city, or OMIT city to search more than 19,000 venues across every city at once' and advises combining free-text query with filters. It does not explicitly contrast with the sibling 'search' or say when to prefer 'get_venue', so it stops short of full exclusion guidance.

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. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedlist_cities4 fields changed
      • addedOutput schema / properties / cities / items / properties / children
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / cities / items / properties / kind
        Added value: +{
        +  "enum": [
        +    "city",
        +    "region"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / cities / items / properties / parent
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / cities / items / required
        Previous value: -[
        -  "key",
        -  "name",
        -  "state"
        -]New value: +[
        +  "key",
        +  "name",
        +  "state",
        +  "kind"
        +]
  2. 1 tool update
    • Changedsearch_venues1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"Free text matched against name, cuisine, neighborhood, tags, dishes, description"New value: +"Free text; every content word must appear in name, cuisine, neighborhood, tags, dishes, or description (filler like 'best'/'tonight' is ignored). One strong keyword beats a full sentence."
  3. 5 tool updates
    • Removedadd_to_trip
    • Removedlist_my_trips
    • Removedpost_to_brain
    • Removedread_brain
    • Removedsave_venue
  4. 10 tool updates
    • Changedadd_to_trip1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "added": {
        +      "type": "boolean"
        +    },
        +    "already_present": {
        +      "type": "boolean"
        +    },
        +    "date": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "share_url": {
        +      "type": "string"
        +    },
        +    "time": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "trip_code": {
        +      "type": "string"
        +    },
        +    "trip_created": {
        +      "type": "boolean"
        +    },
        +    "trip_name": {
        +      "type": "string"
        +    },
        +    "venue": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "trip_code",
        +    "trip_name",
        +    "trip_created",
        +    "added",
        +    "already_present",
        +    "venue",
        +    "date",
        +    "time",
        +    "share_url",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedget_venue1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "address": {
        +      "type": "string"
        +    },
        +    "awards": {
        +      "type": "string"
        +    },
        +    "city_name": {
        +      "type": "string"
        +    },
        +    "cuisine": {
        +      "type": "string"
        +    },
        +    "description": {
        +      "type": "string"
        +    },
        +    "dishes": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "happy_hour": {
        +      "type": "string"
        +    },
        +    "highlights": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "hours": {
        +      "type": "string"
        +    },
        +    "iconic": {
        +      "type": "boolean"
        +    },
        +    "id": {
        +      "type": "number"
        +    },
        +    "instagram": {
        +      "type": "string"
        +    },
        +    "lat": {
        +      "type": "number"
        +    },
        +    "lng": {
        +      "type": "number"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "neighborhood": {
        +      "type": "string"
        +    },
        +    "opened": {
        +      "type": "string"
        +    },
        +    "other_locations": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "phone": {
        +      "type": "string"
        +    },
        +    "photoUrl": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": "string"
        +    },
        +    "price_tier": {
        +      "type": "number"
        +    },
        +    "reservation": {
        +      "type": "string"
        +    },
        +    "score": {
        +      "type": "number"
        +    },
        +    "story": {
        +      "type": "string"
        +    },
        +    "tags": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "trending": {
        +      "type": "boolean"
        +    },
        +    "url": {
        +      "type": "string"
        +    },
        +    "website": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name",
        +    "cuisine",
        +    "neighborhood",
        +    "tags",
        +    "description",
        +    "dishes",
        +    "happy_hour",
        +    "address",
        +    "hours",
        +    "phone",
        +    "reservation",
        +    "awards",
        +    "website",
        +    "instagram",
        +    "url",
        +    "city_name",
        +    "photoUrl"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_cities1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "cities": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "key": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "key",
        +          "name",
        +          "state"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "cities"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_curated1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "city": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "lists": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "subtitle": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "venue_count": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "title",
        +          "subtitle",
        +          "venue_count"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "subtitle": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "venues": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "number"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "neighborhood": {
        +            "type": "string"
        +          },
        +          "note": {
        +            "type": "string"
        +          },
        +          "price": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "note",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "city"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_my_trips1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "type": "number"
        +    },
        +    "trips": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "city": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "code": {
        +            "type": "string"
        +          },
        +          "items": {
        +            "type": "number"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "share_url": {
        +            "type": "string"
        +          },
        +          "updated_at": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "name",
        +          "city",
        +          "items",
        +          "updated_at",
        +          "share_url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "trips"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_new_venues1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "city": {
        +      "type": "string"
        +    },
        +    "feed_generated": {
        +      "type": "string"
        +    },
        +    "showing": {
        +      "type": "number"
        +    },
        +    "total_new": {
        +      "type": "number"
        +    },
        +    "venues": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "awards": {
        +            "type": "string"
        +          },
        +          "city": {
        +            "type": "string"
        +          },
        +          "city_name": {
        +            "type": "string"
        +          },
        +          "cuisine": {
        +            "type": "string"
        +          },
        +          "estimated": {
        +            "type": "boolean"
        +          },
        +          "first_seen": {
        +            "type": "string"
        +          },
        +          "happy_hour": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "number"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "neighborhood": {
        +            "type": "string"
        +          },
        +          "price": {
        +            "type": "string"
        +          },
        +          "score": {
        +            "type": "number"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "city",
        +          "city_name",
        +          "id",
        +          "name",
        +          "cuisine",
        +          "neighborhood",
        +          "awards",
        +          "happy_hour",
        +          "first_seen",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "window_days": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "window_days",
        +    "city",
        +    "total_new",
        +    "showing",
        +    "venues"
        +  ],
        +  "type": "object"
        +}
    • Changedpost_to_brain1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "note": {
        +      "type": "string"
        +    },
        +    "posted": {
        +      "type": [
        +        "string",
        +        "number"
        +      ]
        +    },
        +    "sender_node": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "target_node": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "posted",
        +    "status",
        +    "sender_node",
        +    "target_node",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedread_brain1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "law": {
        +      "type": "string"
        +    },
        +    "posts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": [
        +              "string",
        +              "number"
        +            ]
        +          },
        +          "payload": {},
        +          "sender_node": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "target_node": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "topic": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "created_at",
        +          "sender_node",
        +          "target_node",
        +          "topic",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "law",
        +    "posts"
        +  ],
        +  "type": "object"
        +}
    • Changedsave_venue1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "already_saved": {
        +      "type": "boolean"
        +    },
        +    "city": {
        +      "type": "string"
        +    },
        +    "kind": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "saved": {
        +      "type": "boolean"
        +    },
        +    "venue": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "saved",
        +    "already_saved",
        +    "venue",
        +    "city",
        +    "kind",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_venues1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "city": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "scope": {
        +      "type": "string"
        +    },
        +    "showing": {
        +      "type": "number"
        +    },
        +    "total_matches": {
        +      "type": "number"
        +    },
        +    "venues": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "awards": {
        +            "type": "string"
        +          },
        +          "cuisine": {
        +            "type": "string"
        +          },
        +          "description": {
        +            "type": "string"
        +          },
        +          "happy_hour": {
        +            "type": "string"
        +          },
        +          "iconic": {
        +            "type": "boolean"
        +          },
        +          "id": {
        +            "type": "number"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "neighborhood": {
        +            "type": "string"
        +          },
        +          "opened": {
        +            "type": "string"
        +          },
        +          "price": {
        +            "type": "string"
        +          },
        +          "reservation": {
        +            "type": "string"
        +          },
        +          "score": {
        +            "type": "number"
        +          },
        +          "trending": {
        +            "type": "boolean"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "name",
        +          "cuisine",
        +          "neighborhood",
        +          "happy_hour",
        +          "reservation",
        +          "description",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "total_matches",
        +    "showing",
        +    "venues"
        +  ],
        +  "type": "object"
        +}
  5. 2 tool updates
    • Addedfetch
    • Addedsearch
  6. 10 tool updates
    • First observedadd_to_trip
    • First observedget_venue
    • First observedlist_cities
    • First observedlist_curated
    • First observedlist_my_trips
    • First observedlist_new_venues
    • First observedpost_to_brain
    • First observedread_brain
    • First observedsave_venue
    • First observedsearch_venues

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An AI-native restaurant discovery service that enables searching and receiving natural language recommendations for over 2,200 restaurants across 15+ US cities. It provides tools for accessing detailed restaurant info, curated lists, and cuisine-specific searches through the Model Context Protocol.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Search 8,000+ corporate event venues across 40+ cities. Tools for venue search by capacity/category, pricing guides, expert advice articles, and inquiry handoff. Read-only, PII-redacted, UTM-attributed.
    7
    14
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables restaurant discovery and reservations across multiple providers (Resy, Google Places, Yelp, Tock) with auditable and secure two-step booking.
    10
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation2/5

fetch and get_venue both describe retrieving the full record for a venue, differing only in an extra long-form story for Iconic 50 venues, making their boundaries unclear. Similarly, search and search_venues both search the same catalog with overlapping descriptions, leaving an agent unsure which to call.

Naming Consistency3/5

The list_* tools are consistently verb_noun, but search and search_venues repeat the same action with different names, and fetch breaks the otherwise intuitive get_* pattern. The naming is readable but not systematic.

Tool Count3/5

Seven tools is a reasonable count for a venue-discovery server, but redundancy between fetch/get_venue and search/search_venues inflates the set and makes it feel less tight than the domain requires.

Completeness4/5

The surface covers searching, retrieving details, browsing curated lists, and listing new venues across cities, so core discovery workflows are supported. Minor gaps exist around filtering/sharing list results, but agents can generally complete end-to-end tasks.

Resources