{"data":{"name":"com.stayotter/stay-otter","title":"Stay Otter","description":"Vetted stays, ground intelligence and price monitoring, with live totals and the block checked.","version":"1.3.1","websiteUrl":"https://stayotter.com/connect","repositoryUrl":null,"remotes":[{"type":"streamable-http","url":"https://stayotter.com/api/mcp","headers":[{"description":"Optional. Bearer so_live_… key from stayotter.com/account; without it, three trips per connection.","isSecret":true,"name":"Authorization"}]}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-28T01:31:56.144Z","updatedAt":"2026-10-28T01:31:56.144Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"source":"official-registry","sourceId":"com.stayotter/stay-otter","verification":"official","confidence":100,"stars":null,"updatedAt":"2026-10-28T01:31:56.144Z","title":"Stay Otter","description":"Vetted stays, ground intelligence and price monitoring, with live totals and the block checked.","websiteUrl":"https://stayotter.com/connect","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"check_listing","title":"Check a listing the traveler found","description":"Reads one place the traveler found themselves into the receipts a pick carries: where it is, whether the street is quiet or lively, bars, cafés and restaurants within a ten-minute walk, the distance to a spot they name and, with dates, the lowest total and the lowest they can still cancel, each read now. Takes a Booking.com, Vrbo or Expedia property page, or a hotel's name and city; Airbnb pages cannot be read. Needs a key: one check a day free, Pro up to thirty. 5 to 60 seconds.","inputSchema":{"type":"object","properties":{"text":{"type":"string","minLength":3,"maxLength":500,"description":"A property page URL, or a hotel's name with its city after a comma: 'Hilton Austin, Austin'"},"city":{"type":"string","maxLength":80},"checkIn":{"description":"YYYY-MM-DD; with checkOut, prices are read too","type":"string"},"checkOut":{"type":"string"},"adults":{"default":2,"type":"integer","minimum":1,"maximum":16},"spot":{"description":"A place they will walk to: 'Rainey Street', 'the convention center'","type":"string","maxLength":120}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"openWorldHint":true},"definitionHash":"b307400c5f0ee4e7963a13433060883ecaed4deab015bf5d64d8354bff6783f6","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"city_picks","title":"Today's verified picks for a covered city","description":"Instant and free: the latest finished standard search for one of the covered cities, about six weeks out, refreshed on a rota: whole homes for two adults and five nights in most cities, a six-adult weekend in New Orleans, Miami, Las Vegas, South Lake Tahoe, Sedona; stayType \"hotel\" gives the hotel-room trip (two adults, three nights) where one exists (Austin, Lisbon, Kyoto, Mexico City, New York, Paris, Barcelona, Montreal, San Diego, Edinburgh, Honolulu, London, Nashville, Scottsdale, New Orleans, Miami, Las Vegas, South Lake Tahoe, Sedona). Covered: Austin, Lisbon, Kyoto, Mexico City, New York, Paris, Barcelona, Montreal, San Diego, Edinburgh, Honolulu, London, Nashville, Scottsdale, New Orleans, Miami, Las Vegas, South Lake Tahoe, Sedona, Holbox, Niagara-on-the-Lake, Bentonville, Knoxville, Asheville, Canmore, Coeur d'Alene, Broken Bow, Lancaster, Ann Arbor, Da Nang, Hoi An. For other places or specific dates use search_stays.","inputSchema":{"type":"object","properties":{"city":{"type":"string","minLength":2,"maxLength":60},"stayType":{"description":"hotel for the hotel-room trip; whole homes by default","type":"string","enum":["entire","hotel"]}},"required":["city"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true},"definitionHash":"2cdbddea9f2ec9b5318387759d60806b702032b67fbed136fd0668a085819200","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"get_activities","title":"Things to do","description":"Top-rated things to do on Viator for a search's spot and dates (what the trip is for first, the city's best otherwise), with a second place to look when the row is thin. Pass a searchId from search_stays or city_picks; intent overrides the search's own.","inputSchema":{"type":"object","properties":{"searchId":{"type":"string","pattern":"^s_[0-9a-f]{8,32}$"},"intent":{"description":"Override: 'kayaking', 'food tour'","type":"string","maxLength":80}},"required":["searchId"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"openWorldHint":true},"definitionHash":"2b394fd33ee814eeafc59a70bebf72f7af1e7305039837fb10d3baa57d2d9a5b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"get_block","title":"The block around a pick","description":"Ground intelligence for one stay from a finished search: every bar and pub, café, restaurant and grocery within a ten-minute walk (counts, with + when the map read was capped in a dense center), the nearest stop and the walk to it, and map facts for walking back at night (bars within five minutes, the main road, the walk from the traveler's spot). Facts only: no crime figures, no safety rating. The same block is drawn as a map on the pick's stayUrl. Free; usually instant, a few seconds the first time a stay is asked about. Method: https://stayotter.com/ground.","inputSchema":{"type":"object","properties":{"searchId":{"type":"string","pattern":"^s_[0-9a-f]{8,32}$","description":"The searchId from search_stays or get_stay"},"sourceId":{"type":"string","minLength":1,"maxLength":120,"description":"The pick's sourceId from the card"}},"required":["searchId","sourceId"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"openWorldHint":true},"definitionHash":"a7f847d166d97ed78110b18ec3d8d24903b1b5e0fbe9cceed0b89b061803b780","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"get_stay","title":"Get a stay card","description":"The card for a search by searchId: finished picks with receipts, or its running status. Free and instant. Use it to finish a search_stays call that returned 'running', or to read a shared stay (https://stayotter.com/stay/s_…). Each pick's stay card page on the site also draws the block (venues by kind, groceries, nearest stop) and lists map facts for walking back at night; the method is at https://stayotter.com/ground. For a group deciding together, https://stayotter.com/vote/<searchId> is a no-account vote page on the picks.","inputSchema":{"type":"object","properties":{"searchId":{"type":"string","pattern":"^s_[0-9a-f]{8,32}$","description":"The searchId from search_stays, or the id in a stayotter.com/stay/s_… link"},"travellerCountry":{"type":"string","minLength":2,"maxLength":2}},"required":["searchId"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true},"definitionHash":"4c3a971ac171bb70baf1e72d011ce045863ca7ec153aa07715c0ec45152c13c9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"search_stays","title":"Search stays with receipts","description":"Live search of Booking.com, Vrbo and Expedia Group (hotel rooms) for the dates and party, verified against the map. Returns up to three picks (best overall, best value, closest) with receipts and tracked openUrl links. Takes 30 to 90 seconds; returns status 'running' with a searchId if it is not done within waitSeconds. Three searches on the house per connection, then a key (free account: 10 a month; Pro: unlimited).","inputSchema":{"type":"object","properties":{"where":{"type":"string","minLength":2,"maxLength":80,"description":"City or town, with state or country when ambiguous: 'Lisbon', 'Wimberley, TX', 'Kyoto, Japan'."},"checkIn":{"type":"string","description":"YYYY-MM-DD"},"checkOut":{"type":"string","description":"YYYY-MM-DD, 1 to 90 nights after checkIn (Booking.com is skipped past 30 nights; Vrbo quotes longer stays)"},"adults":{"default":2,"type":"integer","minimum":1,"maximum":10},"children":{"default":0,"type":"integer","minimum":0,"maximum":8},"budget":{"default":"mid","description":"value = cheapest that passes, mid = balanced, splurge = the nicest (ranked on star class and reviews, not price; no hotel under four stars or from an economy or limited-service brand; mid has none under three)","type":"string","enum":["value","mid","splurge"]},"maxTotalUsd":{"description":"Hard cap on the whole-stay total in US dollars, taxes and fees included","type":"number","exclusiveMinimum":0},"maxPerNightUsd":{"description":"Hard cap per night in US dollars, all-in (taxes and fees included); kept per night, so the stay total follows the dates. Use instead of maxTotalUsd when the traveler gives a nightly figure (the top of a range).","type":"number","exclusiveMinimum":0},"walkTo":{"default":["bars_cafes"],"description":"What should be within a ten-minute walk","type":"array","items":{"type":"string","enum":["bars_cafes","restaurants","groceries","transit"]}},"nearLandmark":{"description":"A place the traveler wants to be near: 'Zilker Park', 'the old town', 'Shinkansen station'","type":"string","maxLength":80},"quietStreet":{"default":false,"type":"boolean"},"pets":{"default":false,"description":"A pet is coming: only listings whose own policy allows pets","type":"boolean"},"hotelBrands":{"description":"Hotel loyalty: keep hotel picks inside these groups (marriott, hilton, hyatt, ihg, accor, wyndham, choice, bestwestern); whole homes are unaffected","type":"array","items":{"type":"string","enum":["marriott","hilton","hyatt","ihg","accor","wyndham","choice","bestwestern"]}},"vibe":{"default":"local","type":"string","enum":["lively","local","calm"]},"intent":{"description":"What the trip is for, in the traveler's words: 'kayaking', 'a cooking class', 'a quiet writing week'. Steers things to do, never the ranking.","type":"string","maxLength":80},"stayType":{"default":"entire","description":"entire = whole apartments and houses (default); hotel = hotel rooms (Booking.com and Expedia Group); any = rentals and hotel rooms side by side, each tagged; resort = resorts and all-inclusives, Booking.com only, priced per person too","type":"string","enum":["entire","hotel","any","resort"]},"flexDays":{"default":0,"description":"Date flexibility for the alert watcher: 0, 1, 2, 3 or 7 days","anyOf":[{"type":"number","const":0},{"type":"number","const":1},{"type":"number","const":2},{"type":"number","const":3},{"type":"number","const":7}]},"travellerCountry":{"description":"ISO-2 country the traveler lives in (default US); decides whether an eSIM line applies","type":"string","minLength":2,"maxLength":2},"waitSeconds":{"default":45,"description":"How long to wait for the search before returning a running status","type":"integer","minimum":0,"maximum":150}},"required":["where","checkIn","checkOut"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"openWorldHint":true},"definitionHash":"bb5ef8c856e1e86d41395ceb54cb68556ca4b58908c25cd8fd4e13040e6f3780","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"set_alert","title":"Start price-drop alerts","description":"Starts the otter's daily re-run of a finished search, emailing the key's account when a verified pick drops 5% or $50 or the cheapest pick disappears. Needs a key (stayotter.com/connect); the first alert is free with an account, more are Pro.","inputSchema":{"type":"object","properties":{"searchId":{"type":"string","pattern":"^s_[0-9a-f]{8,32}$"}},"required":["searchId"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"idempotentHint":false},"definitionHash":"0a339d598bf46e54a0abc37581aa2f14f97ee09355449a79d9397245d50dd571","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"watch_booking","title":"Watch a booking until its free-cancellation deadline","description":"For a stay already booked with free cancellation: pass the confirmation email's text. The otter keeps five facts (property, dates, total paid, deadline, where it was booked), discards the rest (no names, confirmation numbers or card details), reads the property's rate every morning and emails the account when a cheaper rate it can still cancel into appears (5% or $50), with reminders 7, 3 and 1 days before the deadline. Hotels booked direct are read across sellers through Google's rate list. A single whole home has one calendar, so once booked its price can't drop for the traveler: the first read finds the nights taken, the otter emails to say so and offers (free) to watch other whole homes nearby for the same dates until the deadline. A watch that closes without a drop ends with one note saying the price held (the reads and the lowest rate seen); a drop alert asks whether the traveler rebooked, and the answers feed the public track record as totals. Needs a key; free and unlimited. The otter never books or cancels.","inputSchema":{"type":"object","properties":{"confirmation":{"type":"string","minLength":40,"maxLength":12000,"description":"The confirmation email's text, as the traveler pasted or forwarded it"},"paidUsd":{"description":"What they paid in US dollars, when the confirmation is in a currency the otter can't convert","type":"number","exclusiveMinimum":0}},"required":["confirmation"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"40d3994a62beb66036fe36fe02eb57cfaa7964c1ef4be0f37840d8803d80e9a0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"},{"serverName":"com.stayotter/stay-otter","endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","name":"watch_similar_homes","title":"Watch other whole homes for a booked stay's dates","description":"For a whole home already booked (watch_booking, then the first morning's read found the nights taken by the traveler): watches other verified whole homes nearby for the same dates and party, and emails the account when one comes in at least 5% or $50 under what they paid, until their free-cancellation deadline. A find is always a different home, never the same one cheaper; the traveler books the new one first and cancels theirs second. Starts with one live search now (30 to 90 seconds; not counted as a trip). Needs the key the booking was watched with; free.","inputSchema":{"type":"object","properties":{"bookedId":{"type":"string","pattern":"^b_[0-9a-f]{8,32}$","description":"The bookedId watch_booking returned"}},"required":["bookedId"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"4f1db98e71fc24355e91e15e8f83aa1238c7a2b2b4e710f4b6fc103c457b84e7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T13:46:51.322Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"6001b97769dce8184c36525949b768a48199c5c5cbd98b569e545be5ac052f3d","protocol":"streamable-http","status":"indexed","toolCount":9,"observedAt":"2026-10-30T13:46:51.322Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.stayotter/stay-otter":{"url":"https://stayotter.com/api/mcp"}}},"Cursor":{"mcpServers":{"com.stayotter/stay-otter":{"url":"https://stayotter.com/api/mcp"}}},"VS Code":{"servers":{"com.stayotter/stay-otter":{"type":"http","url":"https://stayotter.com/api/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://stayotter.com/api/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.stayotter%2Fstay-otter","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.stayotter%2Fstay-otter","name":"com.stayotter/stay-otter","description":"Vetted stays, ground intelligence and price monitoring, with live totals and the block checked.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://stayotter.com/api/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://stayotter.com/connect","repositoryUrl":null,"version":"1.3.1"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.stayotter/stay-otter","status":"online","lastCheckedAt":"2026-11-03T21:18:00.972Z","lastSuccessfulCheck":"2026-11-03T21:18:00.972Z","latencyMs":113,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T21:18:00.972Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T21:18:00.972Z"},"security":null,"timestamps":{"createdAt":"2026-10-28T01:31:56.144Z","updatedAt":"2026-10-28T01:31:56.144Z","observedAt":"2026-11-03T21:18:00.972Z"},"compatibility":{"serverVersion":"1.3.1","protocolVersions":[{"protocol":"mcp","version":null}]}}}}