Skip to main content
Glama

Get Place

get_place
Read-onlyIdempotent

Full place details by fsq_place_id. Returns name, categories, address, lat/lon, social media, website, tel. hours/rating/price/popularity are Foursquare Premium fields — present only where enabled (see rating_included / rating_note in the response).

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fsq_place_id": "4a3563f4f964a520f5e41e45"
    },
    "name": "get_place"
  }
}

Input Schema

NameRequiredDescriptionDefault
fsq_place_idYesFoursquare place ID (returned by search_places)

Output Schema

NameRequiredDescriptionDefault
telNoPhone number
nameNoPlace name
chainNoChain name if applicable
hoursNoHours of operation display text
priceNoPrice level
ratingNoPlace rating
regionNoState or region
addressNoFormatted address
countryNoCountry name
websiteNoPlace website URL
latitudeNoLatitude coordinate
localityNoCity or locality name
open_nowNoWhether place is open now
postcodeNoPostal code
timezoneNoTime zone
longitudeNoLongitude coordinate
categoriesNoPlace category names
distance_mNoDistance in metres
popularityNoPopularity score
descriptionNoPlace description
category_idsNoFoursquare category IDs
fsq_place_idNoFoursquare place ID
foursquare_urlNoFoursquare profile URL

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "fsq_place_id": "4a3563f4f964a520f5e41e45"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "address": {
      +      "description": "Formatted address",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "categories": {
      +      "description": "Place category names",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "category_ids": {
      +      "description": "Foursquare category IDs",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "chain": {
      +      "description": "Chain name if applicable",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "country": {
      +      "description": "Country name",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "description": {
      +      "description": "Place description",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "distance_m": {
      +      "description": "Distance in metres",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "foursquare_url": {
      +      "description": "Foursquare profile URL",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "fsq_place_id": {
      +      "description": "Foursquare place ID",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "hours": {
      +      "description": "Hours of operation display text",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "latitude": {
      +      "description": "Latitude coordinate",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "locality": {
      +      "description": "City or locality name",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "longitude": {
      +      "description": "Longitude coordinate",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "name": {
      +      "description": "Place name",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "open_now": {
      +      "description": "Whether place is open now",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "popularity": {
      +      "description": "Popularity score",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "postcode": {
      +      "description": "Postal code",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "price": {
      +      "description": "Price level",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "rating": {
      +      "description": "Place rating",
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "region": {
      +      "description": "State or region",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "tel": {
      +      "description": "Phone number",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "timezone": {
      +      "description": "Time zone",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "website": {
      +      "description": "Place website URL",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so safety is covered. The description adds genuinely non-obvious behavior: hours, rating, price, and popularity are Foursquare Premium fields present only where enabled, with pointers to rating_included/rating_note in the response. That preempts an agent misreading missing fields as a failure.

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?

Two sentences, front-loaded with the verb and key, then the return payload and the one caveat that actually matters. No filler or restated title.

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, the description need not explain return values, yet it still flags the conditional Premium fields an agent would otherwise misjudge. For a single-parameter read tool with full annotation coverage, nothing needed for correct invocation is missing.

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?

Only one parameter, fully documented at 100% schema coverage (schema even notes the ID is returned by search_places). The description adds no format or provenance detail beyond the schema, so the baseline 3 for schema-carried parameter semantics is correct.

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?

Specific verb+resource ('Full place details by fsq_place_id') with the lookup key named, which cleanly separates it from the id-less siblings search_places, nearby_places, and search_within. It also enumerates the returned fields, so an agent knows exactly what it gets.

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?

Usage is implied rather than stated: 'by fsq_place_id' plus the schema note that the ID comes from search_places tells the agent this is the detail-fetch step after a search. There is no explicit when-to-use/when-not statement or named alternative for retrieving place data another way.

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.