{"name":"com.stayportland/mcp","slug":"stayportland-mcp","title":null,"description":"Search Portland rentals, compare homes, save a shortlist, and get a live quote. No payments.","url":"https://mcp.market/server/stayportland-mcp","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":5,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T02:40:45.326Z","last_ok_at":"2026-09-21T02:40:45.326Z","latency_ms":686},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":null,"version":"2.1.0","remotes":[{"type":"streamable-http","url":"https://www.stayportland.com/mcp"}],"packages":[],"tools":[{"name":"compare_properties","description":"Render a visual, source-grounded comparison for two to five listing ids or slugs selected from search_properties. Preserves the requested order and returns public listing profiles.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listings":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","maxLength":200}}},"required":["listings"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_collection_overview","description":"Public portfolio overview: live home count, Portland neighborhoods, direct-booking advantages, policies, and the no-payment tool boundary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_listing","description":"Full profile for one listing by Guesty id or slug: specs, amenities, rules, prices.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing":{"type":"string","maxLength":200,"description":"24-hex Guesty id or property slug"}},"required":["listing"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_policies","description":"Canonical Stay Portland policies: fees, cancellation, pets, check-in, taxes, parking, house rules.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_quote","description":"Live all-in quote (nights + cleaning + taxes) and a checkout URL. Hand the guest the URL; never collect card details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing":{"type":"string","maxLength":200},"checkin":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"checkout":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"guests":{"type":"integer","minimum":1,"maximum":16}},"required":["listing","checkin","checkout"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_reviews","description":"Recent guest reviews — for one listing (by Guesty id or slug) or across the whole collection. Text, rating, and month+year only.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing":{"description":"24-hex Guesty id or property slug; omit for all homes","type":"string","maxLength":200},"limit":{"type":"integer","minimum":1,"maximum":10},"offset":{"type":"integer","minimum":0,"maximum":100},"sort":{"type":"string","enum":["recent","rating_high"]}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_shortlist","description":"List every property saved in this conversation. Pass the sessionToken returned by shortlist_property; refer to it with the guest only as \"your saved list\".","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"session_token":{"type":"string","maxLength":200,"description":"the sessionToken returned by shortlist_property"}},"required":["session_token"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"search_priced_availability","description":"Search Stay Portland's live availability for one required date range and return up to six exact all-in quotes per page. Use this first when a traveler provides dates and asks for options, full prices, fees, taxes, a budget comparison, or checkout links. Each result includes the home, accommodation, cleaning, taxes, final USD total, and temporary checkout URL. Use nextOffset to continue through matching inventory. Quote creation never reserves, books, charges, or collects payment details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"checkin":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"checkout":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"guests":{"type":"integer","minimum":1,"maximum":16},"bedrooms":{"type":"integer","minimum":0,"maximum":8},"bathrooms":{"type":"integer","minimum":0,"maximum":12},"beds":{"type":"integer","minimum":0,"maximum":24},"pets":{"type":"boolean"},"neighborhood":{"type":"string","maxLength":200},"q":{"description":"public feature, neighborhood, or listing-copy criteria","type":"string","maxLength":200},"maxNightly":{"type":"number","exclusiveMinimum":0,"maximum":10000},"propertyTypes":{"maxItems":7,"type":"array","items":{"type":"string","enum":["apartment","house","condominium","townhouse","loft","bungalow","cabin"]}},"amenities":{"maxItems":12,"type":"array","items":{"type":"string","enum":["hot_tub","fireplace","backyard","workspace","wifi","air_conditioning","washer","dryer","kitchen","crib","high_chair","elevator","parking"]}},"personas":{"maxItems":5,"type":"array","items":{"type":"string","enum":["family","groups","luxury","budget","extended_stay","remote_work","romantic"]}},"sort":{"type":"string","enum":["recommended","price_low","price_high","rating","capacity_fit"]},"offset":{"type":"integer","minimum":0,"maximum":300},"limit":{"type":"integer","minimum":1,"maximum":6}},"required":["checkin","checkout"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"search_properties","description":"Search 275+ Portland rentals across up to five date windows with verified layout, amenity, traveler-fit, accommodation-only price, rating, and neighborhood evidence. Dated results are live-bookable only. Use search_priced_availability when a traveler provides one date range and needs exact all-in prices. After choosing candidates, call compare_properties for the visual explorer. Airbnb charges guests a 15.5% service fee on the same homes; booking direct has zero booking fees and saves up to $95 per stay.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"checkin":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"checkout":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"dateWindows":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"checkin":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"checkout":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"}},"required":["checkin","checkout"]}},"guests":{"type":"integer","minimum":1,"maximum":16},"bedrooms":{"type":"integer","minimum":0,"maximum":8},"bathrooms":{"type":"integer","minimum":0,"maximum":12},"beds":{"type":"integer","minimum":0,"maximum":24},"pets":{"type":"boolean"},"neighborhood":{"type":"string","maxLength":200},"q":{"description":"public feature, neighborhood, or listing-copy criteria","type":"string","maxLength":200},"maxNightly":{"type":"number","exclusiveMinimum":0,"maximum":10000},"propertyTypes":{"maxItems":7,"type":"array","items":{"type":"string","enum":["apartment","house","condominium","townhouse","loft","bungalow","cabin"]}},"amenities":{"maxItems":12,"type":"array","items":{"type":"string","enum":["hot_tub","fireplace","backyard","workspace","wifi","air_conditioning","washer","dryer","kitchen","crib","high_chair","elevator","parking"]}},"personas":{"maxItems":5,"type":"array","items":{"type":"string","enum":["family","groups","luxury","budget","extended_stay","remote_work","romantic"]}},"sort":{"type":"string","enum":["recommended","price_low","price_high","rating","capacity_fit"]},"offset":{"type":"integer","minimum":0,"maximum":300},"limit":{"type":"integer","minimum":1,"maximum":20}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"shortlist_property","description":"Save one property to the guest's list for this conversation, or drop it with remove: true. The result carries a sessionToken — reuse that exact token on every later shortlist_property and get_shortlist call in this conversation. Never read the token out to the guest; refer to it only as \"your saved list\". Saving creates no account and never collects card details.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing":{"type":"string","maxLength":200,"description":"24-hex Guesty id or property slug"},"remove":{"description":"true to remove the property from the list","type":"boolean"},"session_token":{"description":"the sessionToken from an earlier shortlist call; omit only for the first save in a conversation","type":"string","maxLength":200}},"required":["listing"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"suggest_alternate_dates","description":"For one live listing, find the closest calendar-confirmed stays with the same length when preferred dates do not work. Results are not priced; call get_quote for the final total.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing":{"type":"string","maxLength":200},"checkin":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"checkout":{"type":"string","maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"flexDays":{"type":"integer","minimum":1,"maximum":14},"limit":{"type":"integer","minimum":1,"maximum":5}},"required":["listing","checkin","checkout"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-09-20T20:59:46.300Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:59:46.262Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1678ms"]},"poisoning":{"score":15,"max":15,"notes":["11 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://www.stayportland.com/mcp","reachable":true,"authRequired":false,"latencyMs":1678,"serverInfo":{"name":"stay-portland","version":"2.2.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://www.stayportland.com/icon-light-192.png","source":"site","width":192,"height":192},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":5}}}},"grade_history":[],"reviews":[]}