Skip to main content
Glama

DrinkedIn — licensed bar data

drinkedin_plan_evening

Read-onlyIdempotent

Plan a real evening for a human: the first two stops of a Night Out plan that starts at the given coordinate. Every venue is one DrinkedIn has validated, and each walk is at most walk_m (default 800 metres, clamped to 200-2000). dinner is the first stop that is a restaurant and is absent when there is none; drinks lists the other stop(s) in route order, so with no restaurant drinks holds the route's stops. Check each item's order for the walking order: category says what each stop is, and drinks may hold a restaurant when the route has two. radius_m is still accepted but is no longer used: the planner's own search area applies. Use this instead of calling drinkedin_find_places twice; drinkedin_find_places is a broad directory lookup for a single category (for validated walkable plans use drinkedin_plan_night_out), and drinkedin_list_venues is only for DrinkedIn's fictional agent venues. Success returns query, notice, see_also (a pointer to the Night Out tool), and night_out (the full Night Out reply: status, route with its stops, notices), plus dinner and drinks when a plan was found, or message when both are absent (as structuredContent and as JSON text). Discovery only: it does not book, order, or take credentials. hours_verified and prices_verified are false, and legal_drinking_age is the age on record or null, so never state that a venue is open or what it costs, and the person must be of legal drinking age where they are. Coverage varies by area; an empty result means no validated venues close enough together within walk_m: widen walk_m or move the point rather than inventing a venue. For three or four stops, a place name, vibes, or swapping a stop, call drinkedin_plan_night_out on https://drinkedin.net/mcp/night-out (free, no account, validated venues only).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "latitude": "<latitude>",
      "longitude": "<longitude>"
    },
    "name": "drinkedin_plan_evening"
  }
}

Input Schema

NameRequiredDescriptionDefault
walk_mNoThe longest walk between stops, in metres, from the start to the first stop and from each stop to the next (default 800; values outside 200-2000 are clamped)
latitudeYesWhere the evening starts, decimal degrees
radius_mNoNo longer used. Still accepted so existing calls keep working; the Night Out planner's own search area applies
longitudeYesWhere the evening starts, decimal degrees

Output Schema

NameRequiredDescriptionDefault
queryNo
dinnerNoA Night Out stop. hours and price are unverified: never state that the venue is open or what it costs. category is a label such as Restaurant or Bar. distance_m is the estimated walking distance in metres from the previous point (the start, for the first stop), not a straight line.
drinksNo
noticeNo
messageNoPresent when neither dinner nor drinks was found
see_alsoNoA pointer to drinkedin_plan_night_out for validated, walkable multi-stop plans. Not a deprecation notice.
night_outNoThe Night Out reply for this start point: status (planned, needs_input, no_coverage, or error), meaning, say_to_owner, and for a plan route (city, total_walk_minutes, stops), coverage, notices, next, and meta. The same shape drinkedin_plan_night_out returns.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedOutput schema / properties / dinner / properties / hours_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / dinner / properties / legal_drinking_age
      Added value: +{
      +  "description": "Age on record for this stop's country, or null. Spoken copy stays of legal drinking age where they are.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / dinner / properties / prices_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / hours_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / legal_drinking_age
      Added value: +{
      +  "description": "Age on record for this stop's country, or null. Spoken copy stays of legal drinking age where they are.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / prices_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / night_out / properties / hours_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / night_out / properties / legal_drinking_age
      Added value: +{
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / night_out / properties / prices_verified
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
  2. Changed43 schema fields changed
    • removedInput schema / properties / radius_m / default
      Removed value: -2000
    • changedInput schema / properties / radius_m / description
      Previous value: -"How far to look for dinner (default 2000)"New value: +"No longer used. Still accepted so existing calls keep working; the Night Out planner's own search area applies"
    • changedInput schema / properties / walk_m / description
      Previous value: -"How far to walk after dinner, measured from the restaurant (default 800)"New value: +"The longest walk between stops, in metres, from the start to the first stop and from each stop to the next (default 800; values outside 200-2000 are clamped)"
    • changedOutput schema / properties / dinner / description
      Previous value: -"Empty fields are omitted. listed_hours_unverified, when present, is scraped text and is not an open/closed claim."New value: +"A Night Out stop. hours and price are unverified: never state that the venue is open or what it costs. category is a label such as Restaurant or Bar. distance_m is the estimated walking distance in metres from the previous point (the start, for the first stop), not a straight line."
    • removedOutput schema / properties / dinner / properties / city
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / dinner / properties / contact_attribution
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / dinner / properties / country
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / dinner / properties / hours
      Added value: +{
      +  "properties": {
      +    "say": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / dinner / properties / latitude
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / dinner / properties / links
      Added value: +{
      +  "properties": {
      +    "drinkedin": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "maps": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "own_site": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / dinner / properties / listed_hours_unverified
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / dinner / properties / longitude
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / dinner / properties / navigation / properties / geo
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / dinner / properties / order
      Added value: +{
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / dinner / properties / osm_attribution
      Removed value: -{
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / dinner / properties / phone
      Removed value: -{
      -  "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      -}
    • addedOutput schema / properties / dinner / properties / price
      Added value: +{
      +  "properties": {
      +    "say": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / dinner / properties / venue_id
      Added value: +{
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / dinner / properties / walk_from_previous
      Added value: +{
      +  "properties": {
      +    "meters": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "minutes": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / dinner / properties / walk_from_start
      Added value: +{
      +  "properties": {
      +    "meters": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "minutes": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / dinner / properties / website
      Removed value: -{
      -  "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      -}
    • addedOutput schema / properties / dinner / properties / why
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / drinks / items / description
      Previous value: -"Empty fields are omitted. listed_hours_unverified, when present, is scraped text and is not an open/closed claim."New value: +"A Night Out stop. hours and price are unverified: never state that the venue is open or what it costs. category is a label such as Restaurant or Bar. distance_m is the estimated walking distance in metres from the previous point (the start, for the first stop), not a straight line."
    • removedOutput schema / properties / drinks / items / properties / city
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / drinks / items / properties / contact_attribution
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / drinks / items / properties / country
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / drinks / items / properties / hours
      Added value: +{
      +  "properties": {
      +    "say": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / drinks / items / properties / latitude
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / drinks / items / properties / links
      Added value: +{
      +  "properties": {
      +    "drinkedin": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "maps": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "own_site": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / drinks / items / properties / listed_hours_unverified
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / drinks / items / properties / longitude
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / drinks / items / properties / navigation / properties / geo
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / drinks / items / properties / order
      Added value: +{
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / drinks / items / properties / osm_attribution
      Removed value: -{
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / drinks / items / properties / phone
      Removed value: -{
      -  "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      -}
    • addedOutput schema / properties / drinks / items / properties / price
      Added value: +{
      +  "properties": {
      +    "say": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / venue_id
      Added value: +{
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / walk_from_previous
      Added value: +{
      +  "properties": {
      +    "meters": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "minutes": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / drinks / items / properties / walk_from_start
      Added value: +{
      +  "properties": {
      +    "meters": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "minutes": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / drinks / items / properties / website
      Removed value: -{
      -  "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      -}
    • addedOutput schema / properties / drinks / items / properties / why
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / night_out
      Added value: +{
      +  "description": "The Night Out reply for this start point: status (planned, needs_input, no_coverage, or error), meaning, say_to_owner, and for a plan route (city, total_walk_minutes, stops), coverage, notices, next, and meta. The same shape drinkedin_plan_night_out returns.",
      +  "properties": {
      +    "coverage": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "meaning": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "meta": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "next": {
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "notices": {
      +      "items": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "route": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "say_to_owner": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / query / properties / walk_m
      Added value: +{
      +  "description": "The walk limit applied, after clamping",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / see_also
      Added value: +{
      +  "description": "A pointer to drinkedin_plan_night_out for validated, walkable multi-stop plans. Not a deprecation notice.",
      +  "properties": {
      +    "tool": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "url": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "why": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  4. Changed2 schema fields changed
    • changedInput schema / properties / walk_m / description
      Previous value: -"How far to walk after dinner (default 800)"New value: +"How far to walk after dinner, measured from the restaurant (default 800)"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Success object from the handler, returned as structuredContent and as a JSON text block. Error results set isError and omit structuredContent. Nothing here is required: handlers omit keys, and the dispatcher may add them.",
      +  "properties": {
      +    "dinner": {
      +      "description": "Empty fields are omitted. listed_hours_unverified, when present, is scraped text and is not an open/closed claim.",
      +      "properties": {
      +        "address": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "category": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "city": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "contact_attribution": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "country": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "distance_m": {
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "id": {
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "latitude": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "listed_hours_unverified": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "longitude": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "name": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "navigation": {
      +          "properties": {
      +            "apple": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "geo": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "google": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "waze": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "osm_attribution": {
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "phone": {
      +          "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      +        },
      +        "website": {
      +          "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "drinks": {
      +      "items": {
      +        "description": "Empty fields are omitted. listed_hours_unverified, when present, is scraped text and is not an open/closed claim.",
      +        "properties": {
      +          "address": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "category": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "city": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "contact_attribution": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "country": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "distance_m": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "latitude": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "listed_hours_unverified": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "longitude": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "navigation": {
      +            "properties": {
      +              "apple": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "geo": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "google": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "waze": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "osm_attribution": {
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "phone": {
      +            "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      +          },
      +          "website": {
      +            "description": "Contact text, or a non-string column value. public_contact_fields_for passes non-strings through."
      +          }
      +        },
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "type": [
      +        "array",
      +        "null"
      +      ]
      +    },
      +    "message": {
      +      "description": "Present when neither dinner nor drinks was found",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "notice": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "query": {
      +      "properties": {
      +        "latitude": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "longitude": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  5. Added

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, it discloses that venues are DrinkedIn-validated, walks are clamped, radius_m is ignored, hours and prices are unverified, the tool does not book/order/take credentials, and legal drinking age matters. It also describes output structure, empty-result behavior, and coverage limits, which are meaningful behavioral traits not covered by 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.

Conciseness3/5

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

The purpose is front-loaded and much of the detail is useful, but the description is a long single paragraph with some repetition around dinner, drinks, and route ordering. It would be easier to scan if the output-shape and edge-case details were tighter or separated.

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 two-stop planning tool with a deprecated parameter, sibling alternatives, verification caveats, and nuanced success/empty-result behavior, the description is very complete. An agent has enough information to decide when to call it, how to interpret outputs, and what not to claim about venue hours, prices, or booking.

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%, and the schema already documents latitude, longitude, walk_m default/clamping, and radius_m being accepted but unused. The description reinforces those meanings but adds little parameter-specific information beyond the schema; its detailed output mapping concerns return values, not input semantics.

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?

It states a specific action and resource: planning the first two stops of a Night Out evening from a coordinate, with validated venues and a walk_m limit. It also distinguishes itself from drinkedin_find_places and drinkedin_list_venues by naming their different scopes.

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

Usage Guidelines5/5

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

The description gives explicit routing: use this instead of calling drinkedin_find_places twice, use drinkedin_find_places for broad single-category lookup, use drinkedin_list_venues only for fictional agent venues, and use drinkedin_plan_night_out for three or four stops, named places, vibes, or swapping stops. It also explains what an empty result means and how to adjust walk_m or the point.

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