Koskamo

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.

decidewhere.to MCP logo, by decidewhere.toVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by decidewhere.to
MCP endpoint (Streamable HTTP)
https://decidewhere.to/mcp
Vendor documentation

What 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

Vendor evidenceRegistry 1.0.0

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
Server-advertised capabilities
{
  "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.

decidewhere.to helps groups decide where to go, stay, and eat. You know what your person wants; these tools help their group agree. Prefer ending with a shareable link (create_restaurant_vote or create_group_trip) the person can drop in the group chat. For a group trip, ask where everyone is flying from early, alongside vibe, budget and dates, then call create_group_trip with your shortlist. For dinner, pass the date and party size to find_restaurants so a last-minute plan gets tables a group can actually book.

Tools

6 advertised

find_restaurants — Find restaurants
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_restaurants input schema
{
  "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
    }
  }
}
find_restaurants annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_restaurant — Group profile for a restaurant
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_restaurant input schema
{
  "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"
    }
  }
}
get_restaurant annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
create_restaurant_vote — Create a group restaurant vote
Advertised by the server during the last successful anonymous check.

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.

create_restaurant_vote input schema
{
  "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
    }
  }
}
create_restaurant_vote annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
find_warm_destinations — Warm group trip destinations
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_warm_destinations input schema
{
  "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
    }
  }
}
find_warm_destinations annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
create_group_trip — Create a group trip vote
Advertised by the server during the last successful anonymous check.

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.

create_group_trip input schema
{
  "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"
    }
  }
}
create_group_trip annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
plan_group_trip — Open the trip planner (prefer create_group_trip)
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

plan_group_trip input schema
{
  "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"
    }
  }
}
plan_group_trip annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

vote-card — decidewhere.to group vote card

Advertised by the server during the last successful anonymous check.

vote-card URI
ui://decidewhere/vote-card-v1.html

MIME type: text/html;profile=mcp-app

30-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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http decidewhere-to-mcp https://decidewhere.to/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add decidewhere-to-mcp --url https://decidewhere.to/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable decidewhere-to-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "decidewhere-to-mcp": {
      "url": "https://decidewhere.to/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "decidewhere-to-mcp": {
      "type": "streamableHttp",
      "url": "https://decidewhere.to/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start decidewhere-to-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "decidewhere-to-mcp": {
      "type": "http",
      "url": "https://decidewhere.to/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http decidewhere-to-mcp https://decidewhere.to/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "decidewhere-to-mcp": {
      "url": "https://decidewhere.to/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "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.

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.

Claim this listing