decidewhere.to MCP
An MCP server that enables AI agents to facilitate group decisions for dining and travel. It provides tools to find restaurants with specific vibe attributes, retrieve detailed booking profiles, create shared voting links for restaurant selections, discover warm destinations based on flight logistics, and create group trip voting links.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://decidewhere.to/mcpWhat you can do with it
- Find restaurants in a city matching specific vibe criteria
- Retrieve group booking details like private room capacity
- Create a shared voting link for a shortlist of restaurants
- Find warm travel destinations ranked by flight convenience
Source and maintenance
Protocol and capabilities
- Server
- decidewhere.to 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 1 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
find_restaurants — Find restaurants
The restaurants critics agree on in a US city (Michelin, Eater 38, The Infatuation), with vibe tags (fancy/chill, quiet/loud, quick/long, classic/new) and how to book where we know it. For a dinner in the next week (tonight, this weekend), pass date and party_size: places that usually book out weeks ahead move down, and each gets a short-notice read with its reason. Use the returned ids with create_restaurant_vote.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"city": {
"enum": [
"chicago",
"nyc",
"sf",
"la",
"austin",
"denver",
"nashville",
"dc",
"miami"
],
"type": "string",
"description": "City slug"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Dinner date, YYYY-MM-DD"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 10,
"minimum": 1
},
"party_size": {
"type": "integer",
"maximum": 30,
"minimum": 1
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}get_restaurant — Group profile for a restaurant
Everything a group booking needs for one restaurant: how many it seats online and at its largest table, private room and buyout capacity, group menus, when reservations open, noise, kids, dress code, prices, what to order. Each answer links to its source. Pass a name or the group_profile slug from find_restaurants.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"restaurant"
],
"properties": {
"city": {
"enum": [
"chicago",
"nyc",
"sf",
"la",
"austin",
"denver",
"nashville",
"dc",
"miami"
],
"type": "string",
"description": "City slug"
},
"restaurant": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Restaurant name or profile slug"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}create_restaurant_vote — Create a group restaurant vote
Turn 2-6 restaurants from find_restaurants into one link the whole group votes on, whether or not they have agents. Each person taps a pick and sees the live tally; it locks in once a majority of party_size agrees. Returns the link for your person to share in the group chat.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"restaurant_ids",
"party_size"
],
"properties": {
"city": {
"enum": [
"chicago",
"nyc",
"sf",
"la",
"austin",
"denver",
"nashville",
"dc",
"miami"
],
"type": "string"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD"
},
"party_size": {
"type": "integer",
"maximum": 30,
"minimum": 2
},
"restaurant_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"minItems": 2
}
}
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}find_warm_destinations — Warm group trip destinations
Warm-weather destinations for given months, ranked for a group flying from different US cities: average highs from published climate normals, nonstop availability from five major hubs, average flight time, passport needs.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"months"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"months": {
"type": "array",
"items": {
"enum": [
"jan",
"feb",
"mar",
"apr",
"may"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}create_group_trip — Create a group trip vote
Use whenever someone is planning a trip with friends from different cities (bachelorette, birthday, girls' trip, reunion, ski weekend): it makes one link the whole group votes on, so the planner doesn't have to pick alone. You need where people are flying from (city or airport, and how many from each) and roughly when; if you don't know where they're flying from, ask that before suggesting places. A season or month is enough: use a Friday in it. Ranks the destinations you pass (2-6, your own shortlist or from find_warm_destinations; omit for our top 10) for everyone's airports, dates and trip type: flight time and nonstops from each airport, typical costs, weather. Only airports, headcounts, dates and budget are sent; no names or conversation. The group opens the link, sets their vibe and votes on a top 3. Can take 10-20 seconds.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"trip_type",
"origins",
"start_date"
],
"properties": {
"nights": {
"type": "integer",
"default": 3,
"maximum": 14,
"minimum": 1
},
"origins": {
"type": "array",
"items": {
"type": "object",
"required": [
"airport",
"people"
],
"properties": {
"people": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"airport": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Home airport IATA code, e.g. JFK"
}
}
},
"maxItems": 10,
"minItems": 1,
"description": "Where everyone is flying from, and how many from each"
},
"passport": {
"enum": [
"everyone",
"some_dont",
"nobody"
],
"type": "string",
"default": "everyone",
"description": "Whether everyone in the group has a passport"
},
"trip_type": {
"enum": [
"beach_pool",
"bachelorette",
"wine_food",
"spa_wellness",
"ski_snow",
"city_break",
"adventure"
],
"type": "string"
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD"
},
"destinations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[\\p{L} .,'&()-]{2,60}$"
},
"maxItems": 6,
"minItems": 2,
"description": "Destination names to compare, e.g. ['Cabo', 'Miami', 'Charleston']"
},
"max_budget_per_person": {
"type": "integer",
"maximum": 20000,
"minimum": 100,
"description": "USD, flights and lodging"
}
}
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}plan_group_trip — Open the trip planner (prefer create_group_trip)
Link to decidewhere.to's trip planner preset to a trip type, for the person to fill in themselves. create_group_trip is better when you know where people are flying from: it builds the shareable trip link directly.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"trip_type"
],
"properties": {
"trip_type": {
"enum": [
"beach_pool",
"bachelorette",
"wine_food",
"spa_wellness",
"ski_snow",
"city_break",
"adventure"
],
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}Prompts
Not advertised
Resources
1 advertised
vote-card — decidewhere.to group vote card
ui://decidewhere/vote-card-v1.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1868 ms
- 95th percentile latency
- 1868 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1868 ms · metadata changed · 6 tool(s), 1 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http decidewhere-to-mcp https://decidewhere.to/mcpCodex
codex mcp add decidewhere-to-mcp --url https://decidewhere.to/mcpCursor
{
"mcpServers": {
"decidewhere-to-mcp": {
"url": "https://decidewhere.to/mcp"
}
}
}Cline
{
"mcpServers": {
"decidewhere-to-mcp": {
"type": "streamableHttp",
"url": "https://decidewhere.to/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"decidewhere-to-mcp": {
"type": "http",
"url": "https://decidewhere.to/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http decidewhere-to-mcp https://decidewhere.to/mcpClaude Desktop
{
"mcpServers": {
"decidewhere-to-mcp": {
"url": "https://decidewhere.to/mcp"
}
}
}Windsurf
{
"mcpServers": {
"decidewhere-to-mcp": {
"serverUrl": "https://decidewhere.to/mcp"
}
}
}Let your agent find its tools
Find servers like decidewhere.to MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run decidewhere.to MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.