Skip to main content
Glama

Venue profile by name or slug

venue_profile
Read-onlyIdempotent

Get a venue's hours, address, map, phone, booking and links by name or slug, e.g. venue="Acme Bistro". It also holds cuisine, attributes, menu_summary and capabilities (the other venue_* tools that answer for it); hours_summary is ready to quote.

Input Schema

NameRequiredDescriptionDefault
cityNoDisambiguate a name by city (call list_cities); ignored for a slug.
venueYesVenue name or slug; call search_venues to discover one.

Output Schema

NameRequiredDescriptionDefault
itemNo
itemsNo
reasonNo
sampleNo
sourceNo
statusYes
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed31 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / city / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / city / maxLength
      Added value: +256
    • addedInput schema / properties / city / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / properties / venue / maxLength
      Added value: +256
    • removedOutput schema / properties / item / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / item / default
      Removed value: -null
    • removedOutput schema / properties / item / title
      Removed value: -"Item"
    • addedOutput schema / properties / item / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / items / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / items / default
      Removed value: -null
    • removedOutput schema / properties / items / title
      Removed value: -"Items"
    • addedOutput schema / properties / items / type
      Added value: +[
      +  "array",
      +  "null"
      +]
    • removedOutput schema / properties / pagination / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "The page a paginated read actually served (FR-13, INV-8).\n\n``next_cursor`` is ``None`` both at the end of the results and when the next\ncursor would exceed ``max_public_cursor`` — in either case there is no\nfurther page a caller can legally request.",
      -    "properties": {
      -      "cursor": {
      -        "title": "Cursor",
      -        "type": "integer"
      -      },
      -      "limit": {
      -        "title": "Limit",
      -        "type": "integer"
      -      },
      -      "next_cursor": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "title": "Next Cursor"
      -      },
      -      "total": {
      -        "title": "Total",
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "limit",
      -      "cursor",
      -      "total"
      -    ],
      -    "title": "Pagination",
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / pagination / default
      Removed value: -null
    • addedOutput schema / properties / pagination / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / reason / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / reason / default
      Removed value: -null
    • removedOutput schema / properties / reason / title
      Removed value: -"Reason"
    • addedOutput schema / properties / reason / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / sample / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / sample / default
      Removed value: -null
    • removedOutput schema / properties / sample / title
      Removed value: -"Sample"
    • addedOutput schema / properties / sample / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / source / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / source / description
      Removed value: -"FR-13: which approved revision an answer was read from, and how fresh.\n\n``source`` is ``approved-content-revision:<id>`` for every read that answers\nfrom one venue, and the literal ``directory`` for the two cross-venue reads,\nwhich have no single revision to cite."
    • removedOutput schema / properties / source / properties
      Removed value: -{
      -  "approved_at": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "title": "Approved At"
      -  },
      -  "content_version": {
      -    "title": "Content Version",
      -    "type": "integer"
      -  },
      -  "powered_by": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "title": "Powered By"
      -  },
      -  "source": {
      -    "title": "Source",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / source / required
      Removed value: -[
      -  "content_version",
      -  "source"
      -]
    • removedOutput schema / properties / source / title
      Removed value: -"SourceReference"
    • removedOutput schema / properties / status / title
      Removed value: -"Status"
    • removedOutput schema / title
      Removed value: -"PublicResponse"
  2. Changed1 schema field changed
    • addedOutput schema / properties / sample
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Sample"
      +}
  3. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds that hours_summary is 'ready to quote' and that capabilities point at sibling tools, which is useful, but it does not disclose lookup failure behavior (e.g. ambiguous name handling) beyond the schema's city note.

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?

A single front-loaded sentence leads with the verb and resource before the field list. Dense but essentially waste-free, with only the tangled parenthetical slightly harming readability.

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 an output schema present, the description need not explain return values, and it still previews the payload and flags hours_summary as quotable. Combined with full annotation and parameter coverage, an agent has enough to invoke it 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 both venue and city are already documented in the schema, including the city disambiguation and slug behavior. The description only echoes the name/slug input with an example, adding no semantics the schema lacks; baseline 3 applies.

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?

Specific verb (Get) plus resource (venue profile) with an enumerated payload: hours, address, map, phone, booking, links. It partially differentiates from siblings by noting the venue_* tools 'that answer for it', though the relationship is stated cryptically rather than contrasted.

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

Usage Guidelines3/5

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

The description implies context (retrieve a known venue by name or slug) and parenthetically signals that other venue_* tools resolve against this entity, but it never states when to choose it over search_venues or the other venue_* siblings. The 'call search_venues to discover one' guidance lives in the schema, not the description.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources