DrinkedIn Night Out
Read-only, free planner for walkable 2–4 stop nights out using only venues validated against the venue's own site or an official register. No sign-in. Two tools: drinkedin_get_guide and drinkedin_plan_night_out. Hours and prices are never asserted. For adults of legal drinking age where they are. Endpoint: https://ai.drinkedin.net/mcp/night-out
Hosted MCP Server
npx add-mcp 'https://ai.drinkedin.net/mcp/night-out'Installs into Claude Code, Codex, Cursor and more
Documentation
DrinkedIn Night Out: documentation.
A read-only MCP server that plans a walkable night out from real, licensed venues. No sign-in. This page covers that server and nothing else.
For adults of legal drinking age where they are.
What it does
Night Out plans a walkable route of 2 to 4 stops between real, licensed venues: bars, restaurants, breweries and nightclubs. Each venue on a route has been validated against the venue’s own site or an official licence register. The planner uses no other venues, and it adds no details of its own.
Coverage varies by place. When there are not enough validated venues close together, the tool says so (status no_coverage or partial) instead of padding the route.
It never states opening hours or prices: each stop is marked unverified and the assistant is told to point to the venue. Walking times are estimates (straight-line distance × 1.3). Routes are chosen from validated venues by walking distance and kind of place.
It is for adults of legal drinking age where they are. Every reply carries a legal drinking age notice. DrinkedIn does not sell or serve alcohol.
Connect
Endpoint
https://ai.drinkedin.net/mcp/night-out
Transport
Streamable HTTP. Requests are POSTed as JSON-RPC; the server offers no server-sent-event stream.
Sign-in
None. No account, key or token.
Access
Read-only. Neither tool writes anything.
MCP Registry
io.github.haim-barad/drinkedin-night-out
Server card
https://ai.drinkedin.net/mcp/night-out/server-card
Agent skill
SKILL.md, also in the skills index
Claude
Open Settings > Connectors and choose Add custom connector. Paste the endpoint and add it. There is nothing to authorize. Menu names differ by app and version.
https://ai.drinkedin.net/mcp/night-out
Claude Code
From a terminal:
claude mcp add --transport http drinkedin-night-out https://ai.drinkedin.net/mcp/night-out
Any MCP client
Add this remote MCP server (Streamable HTTP, no authentication) wherever your client adds MCP servers, connectors or tools:
https://ai.drinkedin.net/mcp/night-out
The client should then list two tools: drinkedin_plan_night_out and drinkedin_get_guide. If it shows neither, the server was not added; check the address.
Tools
drinkedin_plan_night_out
Plans a walkable route of 2 to 4 stops around a point. Read-only. Every input is optional in the schema, but a call needs a place: a point, an address or a place name.
Where to start
latitude, longitude
Numbers, −90 to 90 and −180 to 180. Preferred: send both. The assistant takes the point from the person’s context: their current location for “near me”, the centre of an area they name, or the destination of a trip they are planning. If the context holds no location, the assistant asks; it does not pick a default.
address
Text, up to 200 characters. A street address, a landmark or the name of an area, used only when no latitude and longitude are given (coordinates win). It is geocoded to one point by OpenStreetMap Nominatim, then planned like coordinates. The reply echoes geocoded_as and geocoded_point with the notice address_geocoded. A geocoder ranks matches and does not confirm them, so the assistant tells the person what it matched and confirms when the text was ambiguous. No match, or a lookup service that does not answer, returns needs_input.
near
Text, up to 80 characters. A label for what the point stands for, such as “near me” or the area the person named. It is echoed back as near_as_given and never changes the plan.
city, region, country
Text, up to 80, 40 and 40 characters. A place name instead of a point. It plans only when the name identifies one place, so give it with its region or country. A name several places share returns needs_input with labelled choices; the tool never picks between them.
place_key
Text, up to 120 characters. Taken from a needs_input answer: it names exactly one of the choices. Send it back to choose that place.
Shape of the route
style
One of the ids below. It limits which kinds of place the route uses and sets the default stops and walking limit; your own stops and max_walk_m win. It says nothing about hours, prices or atmosphere. If too few venues fit, the status is partial or no_coverage, never other kinds of place. The reply echoes style_applied. An unknown style returns needs_input.
bar_crawl: Bars and hotel bars only, one after another, with short walks between stops.craft_beer_crawl: Brewpubs and breweries only, one after another.dinner_and_drinks: A restaurant first, then bars and hotel bars.club_night: Bars and hotel bars first, then a nightclub as the last stop.
stops
Integer, 2 to 4. Default 3; a style may set another default.
max_walk_m
Integer, 200 to 2000 metres. Default 900; a style may set another default. The first stop is within this walking distance of the start and every later stop within it of the one before.
vibes
List of up to 10 strings, taken from drinkedin_get_guide. A vibe that cannot be verified is noted in the reply and not applied. An unknown vibe returns needs_input.
Other inputs
exclude_ids
List of up to 50 integers: venue_id values from an earlier reply to leave out, to swap a stop.
budget
Object. A soft hint only: prices are not verified, so the reply just notes that (budget_not_verifiable).
start_time
Text, up to 10 characters, local HH:MM. Informational only.
party_size
Integer, 1 or more. Accepted; it does not change the route.
language
Text, up to 10 characters, default en. Replies are in English; any other value adds the notice language_fallback_en.
What comes back
Every reply carries status, meaning (what happened), say_to_owner (a sentence the assistant can use) and notices (always including legal_drinking_age). A route lists its stops in order. Each stop has a name, address, category, the walk in minutes and metres, a DrinkedIn page link, the venue’s own site when known, map links, and hours and prices marked unverified. After a route, next holds a ready call that swaps the last stop.
planned
A route with the number of stops asked for. The assistant shows the stops as returned and adds no venue or detail of its own. It says walking times are estimates, tells the person to check hours and prices with the venue, and includes the legal drinking age notice.
partial
Fewer stops than asked for: the longest walkable route the validated venues allow. The assistant says so and shows the route. If a style was used, it offers to try without it. It does not fill the gap with other places.
needs_input
The tool needs something from the person: a location, a choice between places that share a name, a more specific address, valid coordinates, or a vibe or style it knows. The assistant asks for what meaning says is missing, then calls again. It never guesses between choices.
no_coverage
Not enough validated venues close together, or no venue records for that place. The assistant says so plainly and, where the reply lists them, may offer some places with validated venues (not a ranking). It does not suggest venues of its own.
error
A fault on our side; the result is flagged isError. The assistant tells the person it failed and tries again in a moment.
drinkedin_get_guide
Takes no input. Returns how to use the planner: some places with validated venues, the vibes that can be applied, the route styles, and the rules for relaying a plan (validated venues only, nothing invented, legal drinking age). Clients should call it first. Read-only.
Annotations
drinkedin_get_guide
Read-only, not destructive, idempotent, closed world.
drinkedin_plan_night_out
Read-only, not destructive, idempotent. Open world, because a typed address is sent to an outside geocoder (OpenStreetMap Nominatim).
Example prompts
These show how to ask. They do not say that any place is covered: the tool answers from its own data and says when it has too little.
“Plan me a bar crawl near Kennedy Plaza, Providence.”
The assistant calls drinkedin_plan_night_out with style bar_crawl and the place, as coordinates if it can look them up, otherwise as address. It relays whatever status comes back.
“Dinner and drinks near 41.8249, -71.4116.”
The assistant sends latitude 41.8249, longitude -71.4116 and style dinner_and_drinks: a restaurant first, then bars.
“A craft beer crawl near me.”
If the assistant has no location for the person it asks for one instead of guessing. Called without a place, the tool answers needs_input.
Limits
- Rate limit. Anonymous callers get 120 tool calls a minute per client address. Over that, the server answers HTTP 429 with a
Retry-Afterheader. - Address lookups. The geocoding service is shared, so a lookup that is not already cached is limited to 6 a minute per client. Over that, the tool answers
needs_inputand asks for latitude and longitude, which need no lookup. - Coverage varies. Some places have many validated venues and some have few. The tool says when it is thin.
- Read-only. Nothing is booked, bought or charged, and nothing is written. The tool plans a route and stops there.