Skip to content

travel.kismet/mcp-server

by kismet.travel · remote · no sign-in to list tools · v0.0.0 · published by travel.kismet

Semantic hotel search with real-time availability and price comparison for Kismet Travel

Changes · 8

15 tools: 8 change things and 7 only read.

Scanned Oct 21, 2026

10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http kismet https://mcp.kismet.travel/mcp

Findings

Matches of fixed checks, with the text they matched.

10 warn
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The server marks "get_booking_link" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_booking_link" says "get": a word for reading.

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
Show 4 more findings
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for
  • The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

    Matched text

    inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

15 tools

Changes things 8Claude Code: ask
  • discover_collectionsVisually discover bookable-stay managers (collections) and their properties as an interactive carousel.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Visually discover bookable-stay managers (collections) and their properties as an interactive carousel. OMIT `collections` to discover across the whole network (the widget shows manager filter cards plus an interleaved property carousel), pass one to feature a single manager, or several to compare. Each property card opens full details. Use this for browsing/visual presentation; use search_bookables when the guest has specific filters and you want ranked text candidates.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Discover vacation rentals in a collection
  • shortlist_bookableSave or remove a vacation rental property from the guest's shortlist.1 finding

    Why it is in this group

    • The description's first verb is "save": a word for a change.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Save or remove a vacation rental property from the guest's shortlist. Reversible. Anonymous guests are tracked via the MCP session ID; signed-in guests via their guest ID — the tool reads the current identity from session context, so no auth fields need to be passed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Save or remove a property from shortlist
  • sign_inTrigger the Kismet OAuth sign-in flow for the current guest.No findings

    Why it is in this group

    • The description's first verb is "trigger": a word for a change.
    Description, as the server wrote it
    Trigger the Kismet OAuth sign-in flow for the current guest. Call this whenever the user explicitly asks to sign in, log in, authenticate, or connect their Kismet account — common queries: "sign me in", "log me in", "log me into Kismet", "sign me into Kismet", "connect my Kismet account", "authenticate me", "I want to log in". The host will open its OAuth WebView and run the standard PKCE handshake; after successful authentication this tool returns a privacy-minimized confirmation snapshot (first name and verified-email flag only) and every subsequent tool call (get_guest_profile, get_shortlist, shortlist_bookable, etc.) will see the authenticated guest. Do NOT call this tool unless the user explicitly asked to sign in — anonymous browsing, search, and shortlisting all work fully without sign-in. After a successful sign-in, call get_guest_profile to surface the guest's full Kismet profile to the conversation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Sign in to Kismet via OAuth
  • sign_in_agentSign this agent back in through its own verified email inbox, with no bearer and no action from the person.No findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Sign this agent back in through its own verified email inbox, with no bearer and no action from the person. Two steps with the same call: without `code`, Kismet mails a six-digit code to the inbox; with `code`, Kismet returns the agent bearer (access and refresh token) that acts for the linked person. Only a verified inbox on an agent the person already linked works; anything else is told to link first.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • use_guest_tokenLoad READ-ONLY context from a Kismet guest token — e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Load READ-ONLY context from a Kismet guest token — e.g. a "continue in your AI assistant" link a property manager handed the guest. Returns the manager and the draft/considered itinerary the token carries (plus any current offer, when one applies), so you can have an informed conversation. This is CONTEXT ONLY: it grants NO account access and is never required for browsing. To actually claim an offer, save itinerary changes, message the manager, or book, the guest must sign in — call `sign_in` (the standard OAuth flow). Call this when the user pastes or references a Kismet guest/booking token or a kismet.travel/continue?kgt=… handoff link — pass it straight to this tool rather than browsing the URL; the token is extracted from the link. An unrecognized or expired token returns a clean invalid state (never an error) — then offer to sign them in.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Load read-only guest context from a token
  • verify_agent_inboxRecord and verify the email inbox that belongs to THIS agent (not to the person it acts for), so the agent can later sign back in on its own with sign_in_agent.No findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Record and verify the email inbox that belongs to THIS agent (not to the person it acts for), so the agent can later sign back in on its own with sign_in_agent. Two steps with the same call: without `code`, Kismet mails a six-digit code to the address; with `code`, the inbox is marked verified. Requires the agent bearer from the device flow or a connector sign-in. An agent address is never used to create a guest account.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 7Claude Code: allow
  • get_bookable_detailReturns full details for a specific vacation rental property: description, bedrooms, bathrooms, kitchen, outdoor spaces, features, policies, and recent reviews.1 finding

    Why it is in this group

    • The name "get_bookable_detail" says "get": a word for reading.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Returns full details for a specific vacation rental property: description, bedrooms, bathrooms, kitchen, outdoor spaces, features, policies, and recent reviews. Use when a guest wants to know more about a specific property.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Get a vacation rental's full details
  • get_bookable_reviewsGet guest reviews for a specific vacation rental property or for the entire collection.1 finding

    Why it is in this group

    • The name "get_bookable_reviews" says "get": a word for reading.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Get guest reviews for a specific vacation rental property or for the entire collection. Returns a summary and individual review texts that can be used to answer questions about guest experiences.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Get a vacation rental's reviews
  • get_collection_contentReturns collection-level content for a VRM.1 finding

    Why it is in this group

    • The name "get_collection_content" says "get": a word for reading.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Returns collection-level content for a VRM. Sections: "about" (collection info), "reviews" (guest reviews with ratings). Use for guest questions about the company, area, or review quality.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Get vacation rental collection content
  • get_guest_profileGet the signed-in user / guest Kismet account profile, identity, preferences, and account-level signals.No findings

    Why it is in this group

    • The name "get_guest_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get the signed-in user / guest Kismet account profile, identity, preferences, and account-level signals. Returns the currently authenticated user's (the logged-in guest's) Kismet profile: identity (first name), contact-channel status (whether an email / phone is on file and verified — never the raw values), account-level signals (linked property managers and collections the user has transacted with, plus membership status — which collections the user is an Insider member of), per-collection stay history (past and upcoming bookings with property names and dates), and a cross-collection activity summary (booking counts, last active, last booked across the Kismet network). Use this whenever the user wants to see their account, profile, or saved preferences, or whenever you need to personalize search results and recommendations for the signed-in user — common queries: "what does my profile look like", "who am I logged in as", "show my Kismet account", "check my preferences", "am I signed in", "personalize this for me". Returns an explicit anonymous state when no user is signed in. Anonymous browsing, search, and shortlisting are fully supported, so sign-in is not required for those flows. When `auth_state` is "anonymous", personal-account data (profile and identity, past stays and bookings, Insider memberships) is unavailable until the user signs in; the separate `sign_in` tool initiates the OAuth flow when the user wants to access it. This tool only READS the current auth state and never signs the user in.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Get the current guest's Kismet profile
  • get_shortlistShow the guest's saved/shortlisted vacation rental properties for this collection.1 finding

    Why it is in this group

    • The name "get_shortlist" says "get": a word for reading.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Show the guest's saved/shortlisted vacation rental properties for this collection. Call this when the user wants to see their saved properties or review their shortlist.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: View saved vacation rentals shortlist
  • list_collectionsSearch the Kismet network for vacation-rental collections (property managers).No findings

    Why it is in this group

    • The name "list_collections" says "list": a word for reading.
    Description, as the server wrote it
    Search the Kismet network for vacation-rental collections (property managers). Returns ranked collections with their slug (`collection_id`), regions, property count, and supported tools. Use this when the guest asks which managers operate in a place or wants to choose a manager. It is not required before network-wide search: search_bookables and discover_collections span every collection when `collections` is omitted. Searchable via free-text `query` plus optional `region`/`category` filters — not a full dump.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • search_bookablesPrimary search tool — use this whenever the guest specifies ANY filter: location, dates, budget, bedrooms, pets, or persona.1 finding

    Why it is in this group

    • The name "search_bookables" says "search": a word for reading.

    Findings

    • Warn

      The input schema at properties.collections.description contains "Every other tool", wording about other tools or servers.

      Matched text

      inputSchema.properties.collections.description: "...r several when the picks span managers. Every other tool operates on a single collection — pass..."

      What this check looks for
    Description, as the server wrote it
    Primary search tool — use this whenever the guest specifies ANY filter: location, dates, budget, bedrooms, pets, or persona. Returns a ranked list of candidate properties as plain text with each property's slug, name, location, dated or anchor pricing, top personas/features, and tagline — formatted so the LLM can read and reason over them directly. After picking your top candidates from the returned list, pass their slugs to build_bookable_carousel to render them visually for the guest. Supports up to 5 date windows in a single call (e.g. compare March 15-18 vs March 22-25) and all location modes (region, point+radius, bounding box).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Search vacation rentals

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http kismet https://mcp.kismet.travel/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__kismet__list_collections",
      "mcp__kismet__get_guest_profile",
      "mcp__kismet__search_bookables",
      "mcp__kismet__get_bookable_reviews",
      "mcp__kismet__get_shortlist",
      "mcp__kismet__get_collection_content",
      "mcp__kismet__get_bookable_detail"
    ],
    "ask": [
      "mcp__kismet__sign_in",
      "mcp__kismet__use_guest_token",
      "mcp__kismet__verify_agent_inbox",
      "mcp__kismet__sign_in_agent",
      "mcp__kismet__get_booking_link",
      "mcp__kismet__discover_collections",
      "mcp__kismet__build_bookable_carousel",
      "mcp__kismet__shortlist_bookable"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kismet. Review it before you use it.