SlickTrip
REMOTE · MCP.SLICKTRIP.COM
Live flight, hotel and seat prices, cheapest-day calendars, and price-drop alerts.
Available components
Last scanned (20 hours ago)
Scores higher than 99% of remote servers
Reachable. Last reached 5 Nov 2026.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security92
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 14800 tokens (~336/item across 44 items; 38 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Checks we ran (14)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
- Capabilities
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: 0.97 → pass security
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “add_flight_bucket_list” rewrote its description, which is the text the model reads security
- Tool “add_hotel_bucket_list” rewrote its description, which is the text the model reads security
- Tool “handoff_link” rewrote its description, which is the text the model reads security
- Tool “search_hotels” rewrote its description, which is the text the model reads security
- Tool “share_link” rewrote its description, which is the text the model reads security
- New tool “check_my_watches” functional
- New tool “explore_destinations” functional
- “list_bucket_lists” added an optional parameter “name” cosmetic
- “price_calendar” added an optional parameter “depart_from” cosmetic
- “price_calendar” added an optional parameter “depart_to” cosmetic
- “search_hotels” added an optional parameter “brand” cosmetic
- “search_hotels” added an optional parameter “min_bedrooms” cosmetic
- “search_hotels” reworded the description of “min_guest_rating” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.slicktrip.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.slicktrip.com | CN=Amazon RSA 2048 M04,O=Amazon,C=US | 10 Feb 2026 | 11 Mar 2027 | RSA 2048 | SHA256-RSA | 4bde35f3c762f11ab447f51ab41d1c6 |
| SANs: *.slicktrip.com | ||||||
| CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 773124f2a952e3ed18a58bdb85d1bc0ce5f27 |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.slicktrip.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| slicktrip.com. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.slicktrip.com/.well-known/oauth-protected-resource", scope="openid email profile"
Bearer resource_metadata="https://mcp.slicktrip.com/.well-known/oauth-protected-resource", scope="openid email profile" | Header | Value |
|---|---|
| www-authenticate | Bearer resource_metadata="https://mcp.slicktrip.com/.well-known/oauth-protected-resource", scope="openid email profile" |
Protected resource metadata
| Document | https://mcp.slicktrip.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.slicktrip.com/ |
| Authorisation server | https://mcp.slicktrip.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.slicktrip.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.slicktrip.com/mcp | HTTPS enforced | 301 | https://mcp.slicktrip.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
share_link Share a trip ~151
Use when the traveler wants to share a tracked route or a flight bucket list: a public slicktrip.com link, the same one the site's Share button makes, showing the itinerary and its price and nothing about the account. Made once and reused. To share a flights or hotels search that is not watched (a guest, or before a watch is set), use handoff_link with kind flights or hotels instead: it needs no watch and no sign-in. Never a bucket_list handoff link: it saves the list for whoever opens it.
| Name | Type | Req | Description |
|---|---|---|---|
| bucket_id | – | – | A flight bucket list's bucket_id from list_bucket_lists. |
| search_key | – | – | A tracked route's search_key from list_tracked_flights. |
| Name | Type | Req | Description |
|---|---|---|---|
| bucket_id | string|null | – | The shared flight bucket id, if any |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| message | string|null | – | Error or sign-in message from the server wrapper |
| name | string|null | – | The bucket list's name when the link shares a list |
| note | string|null | – | What the link exposes |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| route | object|null | – | Route dict with names for a tracked route |
| search_key | string|null | – | The shared tracked route key, if any |
| share_url | string|null | – | Public slicktrip.com/share link |
| status | string|null | – | ok | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
No examples provided.
shared_trip Open a shared trip ~80
Use when the traveler pastes a slicktrip.com/share link: the shared itinerary or bucket list and its current price, so they can start their own watch on it. Takes the link or its code. Not for making a link (share_link).
| Name | Type | Req | Description |
|---|---|---|---|
| share_url | string | yes | A slicktrip.com/share/<code> link, or just the code. |
| Name | Type | Req | Description |
|---|---|---|---|
| best_deals | array|null | – | Deals found so far |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| current_price_usd | number|null | – | Shared watch's current price |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| itineraries | array|null | – | fid, price_usd, outbound, return legs |
| kind | string|null | – | flight | bucket_list |
| max_price_usd | number|null | – | Bucket list price bar |
| max_stops | number|null | – | Stops allowed |
| message | string|null | – | Error or sign-in text |
| months | array|null | – | Bucket list months |
| nights | array|null | – | min and max nights |
| note | string|null | – | Guidance for the assistant |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| route | object|null | – | Route with names and dates |
| search_key | string|null | – | The route's search key |
| search_url | string|null | – | The search on slicktrip.com |
| share_code | string|null | – | The share code |
| status | string|null | – | ok | no_data | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
No examples provided.
stop_tracking_flight Stop tracking a flight ~88
Use to stop price alerts for a tracked route (search_key from list_tracked_flights), or one itinerary in it (fid). Cannot be undone; confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| fid | – | – | An itinerary's fid from list_tracked_flights, to stop only that one and keep the route. |
| search_key | string | yes | The route's search_key from list_tracked_flights. |
| Name | Type | Req | Description |
|---|---|---|---|
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| fid | string|null | – | The single itinerary removed, if any |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| manage_url | string|null | – | slicktrip.com saved-flights page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| route | object|null | – | Route dict parsed from the key with place names |
| scope | string|null | – | "one itinerary" or "whole route" |
| search_key | string|null | – | The route that was stopped |
| status | string|null | – | stopped | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
No examples provided.
stop_tracking_hotel Stop tracking a hotel ~81
Use to stop price alerts for a tracked stay (tracking_id from list_tracked_hotels), or one hotel in it (hotel_id). Cannot be undone; confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| hotel_id | – | – | Drop only this hotel from the stay and keep the rest. |
| tracking_id | string | yes | The stay's tracking_id from list_tracked_hotels. |
| Name | Type | Req | Description |
|---|---|---|---|
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| hotel_id | string|null | – | The single hotel removed, if any |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Set when last hotel removal deleted the stay |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| scope | string|null | – | "whole stay" or "one hotel" |
| status | string|null | – | stopped | error | sign_in_required |
| stay | object|null | – | location, hotel_name, name, check_in, check_out, adults |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| tracking_id | string|null | – | The stay tracking id stopped |
No examples provided.
stop_tracking_seats Stop tracking seats ~55
Use to stop the seat alert on one flight (tracking_key from list_tracked_seats). Cannot be undone; confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| tracking_key | string | yes | The alert's tracking_key from list_tracked_seats. |
| Name | Type | Req | Description |
|---|---|---|---|
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| message | string|null | – | Error or sign-in message from the server wrapper |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| status | string|null | – | stopped | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| tracking_key | string|null | – | The seat alert key stopped |
No examples provided.
track_flight Track a flight's price ~267
Use to start price alerts on an itinerary from a search, after the traveler confirms (asking for alerts is confirming). One way: any itinerary_id from search_flights. Round trip: an outbound itinerary_id from search_flights watches that outbound with its cheapest return; a complete itinerary_id from search_return_flights tracks that exact pairing. Multi-city: a complete itinerary_id. Alerts go to the account's channels on a new low; alert_rule any hears every move; target_price_usd sets a bar.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_rule | – | – | When to alert: lowest = only a new low, any = every price move, none = off. Leave empty for the default, or give target_price_usd instead. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| itinerary_id | string | yes | From search_flights (one way) or search_return_flights (a complete round trip or multi-city). |
| target_price_usd | – | – | Alert when the price goes under this, USD. Replaces alert_rule. It is the TOTAL: the whole trip for all travelers on a flight, the whole stay on a hotel. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| Name | Type | Req | Description |
|---|---|---|---|
| alerts | string|null | – | Plain-words description of what alerts fire |
| alerts_when | string|null | – | When alerts fire, from the alert preference |
| channels | object|null | – | {email: boolean, text: boolean} stored alert channels |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| fid | string|null | – | Tracked itinerary id (flight numbers) |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Note about text alerts needing a verified phone |
| outbound_fid | string|null | – | Outbound watch only: the outbound fid |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| price_at_save | number|null | – | Price recorded when tracking started |
| route | object|null | – | Route dict: origin, destination, cabin, travelers, dates, trip_type (+names on outbound watch) |
| saved_url | string|null | – | slicktrip.com saved-flights page link |
| search_key | string|null | – | The tracked route's search key |
| status | string|null | – | tracking | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| text_not_enabled | string|null | – | Text asked but no verified phone on account |
| text_unconfirmed | string|null | – | Could not confirm text-alert status |
| watch | string|null | – | "outbound" when an outbound-only watch was saved |
No examples provided.
track_hotel Track a hotel's price ~239
Use to start price alerts on one hotel from search_hotels for those dates, after the traveler confirms. Alerts go to the account's channels when the price drops.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_rule | – | – | When to alert: lowest = only a new low, any = every price move, none = off. Leave empty for the default, or give target_price_usd instead. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| hotel_id | string | yes | A hotel_id from search_hotels. |
| search_key | string | yes | The search_key from search_hotels. |
| search_url | – | – | The search_url from the same search_hotels result, so the alert reopens the same filtered search (stars, price range, amenities). Empty tracks against the plain search. |
| target_price_usd | – | – | Alert when the price goes under this, USD. Replaces alert_rule. It is the TOTAL: the whole trip for all travelers on a flight, the whole stay on a hotel. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| Name | Type | Req | Description |
|---|---|---|---|
| added_to_existing_stay | boolean|null | – | Merged into an existing stay record |
| alerts | string|null | – | Plain-words description of alerts |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| current_price_usd | number|null | – | already_tracking only: current tracked price |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| hotel_id | string|null | – | The tracked hotel's property token |
| hotel_url | string|null | – | slicktrip.com hotel page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Manage on saved-hotels page or already tracked |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| saved_url | string|null | – | slicktrip.com saved-hotels page link |
| search_key | string|null | – | The hotel search key |
| status | string|null | – | tracking | already_tracking | error | sign_in_required |
| stay | object|null | – | location, check_in, check_out, adults, children |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| tracking_id | string|null | – | The stay's tracking record id |
No examples provided.
track_seats Track seats on a flight ~483
Use to start seat alerts on one flight, after the traveler confirms: named seats, or every seat of a kind (window, aisle, middle, any), optionally only when N seats open together in a row. Alerts go to the account's channels when a watched seat opens.
| Name | Type | Req | Description |
|---|---|---|---|
| cabin | string | – | Cabin to look at; any = every cabin on the flight. |
| depart_date | string | yes | YYYY-MM-DD. |
| destination | string | yes | A 3-letter airport code (JFK), or a city code that searches every airport in the city (SlickTrip's 4-letter codes: NYCA New York, LOND London, ROME Rome, TYOA Tokyo). Up to 3 places joined with _ sea… |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| flight_number | string | yes | Airline code and number, no space. |
| origin | string | yes | A 3-letter airport code (JFK), or a city code that searches every airport in the city (SlickTrip's 4-letter codes: NYCA New York, LOND London, ROME Rome, TYOA Tokyo). Up to 3 places joined with _ sea… |
| seat_type | – | – | Watch every open seat of this kind instead of naming seats. |
| seats | – | – | Seat numbers to watch. |
| seats_together | – | – | Alert only when this many seats are open together in one row, 2-6. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| Name | Type | Req | Description |
|---|---|---|---|
| alerts | string|null | – | Plain-words description of alerts |
| cabin | string|array|null | – | Cabin tracked, or list when several |
| channels | object|null | – | Alert channels on the record: email, text (booleans) |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| flight | object|null | – | flight_number, origin, destination, departure_time, arrival_time, aircraft, airline |
| merged_with_existing | boolean|null | – | Added to an existing seat alert |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Manage on saved-seats page |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| saved_url | string|null | – | slicktrip.com saved-seats page link |
| status | string|null | – | tracking | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| tracked | object|null | – | seats, seat_type, specific_seats, seats_together, open_now |
| tracking_key | string|null | – | Seat tracking key: route;departure_time;flight_number |
No examples provided.
update_account Update the account ~112
Use to change the display name, or the default alert channels (email, text) for new alerts, optionally applied to everything already watched. Phones are verified on the site, not here. Only the fields given change. Confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| apply_to_all | boolean | – | Also set these channels on every alert already watched. |
| – | – | Email alerts on new alerts by default. | |
| name | – | – | The traveler's display name. |
| text | – | – | Text alerts on new alerts by default; needs a verified phone. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | object|null | – | Handler's per-type apply-to-all result, when returned |
| applied_to_all | boolean|null | – | Channels pushed onto existing trackings |
| channels | object|null | – | {email: boolean, text: boolean} stored default channels |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| manage_url | string|null | – | slicktrip.com profile page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| name | string|null | – | Display name after the update |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| status | string|null | – | updated | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| text_not_enabled | string|null | – | Text asked but no verified phone |
No examples provided.
update_bucket_list Update a bucket list ~845
Use to edit a bucket list: the price bar, months or date window, nights, stops, airlines, preferred weekdays, name, guests, stars, or channels, and a flight list's filters (airlines left out, connecting airports, times, duration, layovers, emissions, bags). Only the fields given change; a filter given replaces the stored one, and clear_filters names the ones to remove. A changed search resets the deals found so far. Confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| adults | – | – | Hotel lists: adults, 1-6. |
| airlines | – | – | Only these marketing carriers, as IATA codes or names. |
| arrive_after | – | – | HH:MM, local time at that airport. |
| arrive_before | – | – | HH:MM, local time at that airport. |
| bucket_id | string | yes | The list's bucket_id from list_bucket_lists. |
| carry_on_bags | – | – | Carry-on bags per traveler (0-1). Prices then include the bag fees: search_flights shows them as price_with_bags next to the fare; a calendar or bucket list prices every day with them. |
| check_in_days | – | – | Hotel lists: only check in on these weekdays. |
| checked_bags | – | – | Checked bags per traveler (0-2), priced only for flights within the US and Canada (elsewhere the answer says the prices do not include them). Prices then include the bag fees: search_flights shows th… |
| clear_filters | – | – | Flight lists: filters to remove. |
| clear_window | boolean | – | Remove the date window and watch the months instead. |
| connecting_airports | – | – | Only itineraries that change planes at these airports (codes or city codes), nonstops included: for 'US connections only' name the hubs. |
| depart_after | – | – | HH:MM, local time at that airport. |
| depart_before | – | – | HH:MM, local time at that airport. |
| depart_days | – | – | Flight lists: only depart on these weekdays. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| end_date | – | – | YYYY-MM-DD. |
| exclude_airlines | – | – | Leave out itineraries with any flight sold by these carriers (IATA codes, names or an alliance), by flight number or airline name: for 'not Gol' or 'avoid Air India'. |
| exclude_connecting_airports | – | – | Leave out itineraries that change planes at these airports (codes or city codes). |
| lower_emissions | – | – | Only itineraries with lower emissions than is typical for the route. |
| max_duration_hours | – | – | Longest itinerary to show, in hours. |
| max_layover_hours | – | – | Longest layover allowed at every connection, in hours (half hours allowed): for 'layovers no longer than 5 hours'. |
| max_nights | – | – | Flight lists: longest trip. Hotel lists: the stay length. |
| max_price_usd | – | – | The price bar, USD: per traveler for a flight list (total when price_is_total), per night for a hotel list. |
| max_stops | – | – | Most stops allowed: 0 nonstop, 1, or 2 (2 or more: any number). |
| min_layover_hours | – | – | Shortest layover allowed at every connection, in hours (half hours allowed): for 'at least 2 hours to connect'. |
| min_nights | – | – | Flight lists: shortest trip. Hotel lists: the stay length. |
| min_stars | – | – | Hotel lists: lowest star class, 1-5. |
| months | – | – | Months to watch, as names or YYYY-MM. Give this OR start_date + end_date. |
| name | – | – | A new label for the list. |
| price_is_total | – | – | Flight lists: max_price_usd is the total for all travelers. |
| return_days | – | – | Flight lists: only return on these weekdays. |
| start_date | – | – | YYYY-MM-DD. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| Name | Type | Req | Description |
|---|---|---|---|
| bucket_id | string|null | – | The updated bucket list id |
| changed | object|null | – | Fields sent to the update handler, site vocabulary (price, stops, preferredMonths, ...) |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| display_name | string|null | – | Name as the card shows it |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| kind | string|null | – | "flight" or "hotel" |
| manage_url | string|null | – | slicktrip.com saved buckets page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| name | string|null | – | The bucket's name (pre-update record) |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| route | object|null | – | Flight only: origin, destination, names, trip_type, cabin, travelers |
| status | string|null | – | updated | error | sign_in_required |
| stay | object|null | – | Hotel only: location, hotel_name, nights, adults |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
No examples provided.
update_flight_tracking Update flight alert settings ~189
Use to change how a tracked route alerts: the alert rule, a target price, or the email and text channels. Only the fields given change. Confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_rule | – | – | When to alert: lowest = only a new low, any = every price move, none = off. Leave empty for the default, or give target_price_usd instead. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| search_key | string | yes | The route's search_key from list_tracked_flights. |
| target_price_usd | – | – | Alert when the price goes under this, USD. Replaces alert_rule. It is the TOTAL: the whole trip for all travelers on a flight, the whole stay on a hotel. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| Name | Type | Req | Description |
|---|---|---|---|
| alerts_when | string|null | – | When alerts fire, from the alert preference |
| channels | object|null | – | {email: boolean, text: boolean} stored channels |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| manage_url | string|null | – | slicktrip.com saved-flights page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Text alerts need a verified phone |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| search_key | string|null | – | The updated route's search key |
| status | string|null | – | updated | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| text_not_enabled | string|null | – | Text asked but no verified phone |
| text_unconfirmed | string|null | – | Could not confirm text-alert status |
No examples provided.
update_hotel_tracking Update hotel alert settings ~210
Use to change how a tracked stay alerts: the alert rule, a target price, the email and text channels, or its name. Only the fields given change. Confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_rule | – | – | When to alert: lowest = only a new low, any = every price move, none = off. Leave empty for the default, or give target_price_usd instead. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| name | – | – | Rename the stay, as it appears on the saved-hotels page. |
| target_price_usd | – | – | Alert when the price goes under this, USD. Replaces alert_rule. It is the TOTAL: the whole trip for all travelers on a flight, the whole stay on a hotel. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| tracking_id | string | yes | The stay's tracking_id from list_tracked_hotels. |
| Name | Type | Req | Description |
|---|---|---|---|
| alerts_when | string|null | – | When alerts fire, from the alert preference |
| channels | object|null | – | {email: boolean, text: boolean} stored channels |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| manage_url | string|null | – | slicktrip.com saved-hotels page link |
| message | string|null | – | Error or sign-in message from the server wrapper |
| name | string|null | – | New stay name if renamed |
| note | string|null | – | Text alerts need a verified phone |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| status | string|null | – | updated | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| text_not_enabled | string|null | – | Text asked but no verified phone |
| text_unconfirmed | string|null | – | Could not confirm text-alert status |
| tracking_id | string|null | – | The updated stay tracking id |
No examples provided.
update_seat_tracking Update seat alert settings ~157
Use to pause or resume a seat alert, or change its seats-together rule or channels. To watch different seats call track_seats again (it adds to the alert). Only the fields given change. Confirm first.
| Name | Type | Req | Description |
|---|---|---|---|
| alerts_on | – | – | false pauses the alert, true resumes it. |
| – | – | Send alerts by email. Empty keeps the account's setting. | |
| seats_together | – | – | Alert only when this many seats are open together, 2-6; 0 clears the rule. |
| text | – | – | Send alerts by text message. Needs a verified phone on the SlickTrip account; empty keeps the account's setting. |
| tracking_key | string | yes | The alert's tracking_key from list_tracked_seats. |
| Name | Type | Req | Description |
|---|---|---|---|
| alertMethod | object|null | – | {email, text} if channels changed |
| alertPreference | string|null | – | "any" (on) or "none" (off) if changed |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | Change seats via track_seats |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| seatsTogether | number|null | – | Seats-together count if changed |
| status | string|null | – | updated | error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| tracking_key | string|null | – | The updated seat alert key |
No examples provided.
watch_details One watch in detail ~191
Use when the traveler asks about ONE of their watches (a tracked flight, a bucket list, a hotel stay or a seat watch): how it is doing, its price history, when it went up or down, the alerts sent. Returns its settings, the price now against the first price seen, the lowest and highest with dates, every recorded price move with its time (oldest first), each day's low and high and the alerts sent (flights), the best dates found (bucket lists), and when the last alert went out. Not for listing every watch (use the list_ tools).
| Name | Type | Req | Description |
|---|---|---|---|
| watch | string | yes | The watch: its id from a list tool (search_key, bucket_id, tracking_id or tracking_key), or a name or place in the traveler's words, like 'Japan Road Trip' or 'Lisbon'. If several watches match, the… |
| Name | Type | Req | Description |
|---|---|---|---|
| alerts_sent | array|null | – | Flights: the alerts sent on this route: at, price_usd, previous_usd, kind |
| code | string|null | – | On an error: a machine-readable kind, e.g. unknown_place |
| daily_prices | array|null | – | Flights: each day's low_usd, high_usd, close_usd and checks |
| field | string|null | – | On unknown_place: which argument (origin, destination, ...) |
| kind | string|null | – | flight | bucket_list | hotel_bucket_list | hotel | seat |
| last_alert_sent | string|null | – | When the last alert went out |
| matches | array|null | – | status choose: the watches that match (watch, kind, label) |
| message | string|null | – | Error or sign-in message from the server wrapper |
| note | string|null | – | How to read the prices and lists |
| places_assumed | array|null | – | Place names this call resolved on its own, e.g. 'Portland = Portland, OR (PDX)'; tell the traveler |
| price | object|null | – | now_usd, first_seen_usd/at, change_since_first_usd, lowest_usd/at, highest_usd/at, at_lowest |
| price_moves | array|null | – | Every recorded price change, oldest first: at, price_usd, previous_usd, airlines |
| status | string|null | – | ok | choose | not_found | no_watches, or error | sign_in_required |
| suggestions | array|null | – | On unknown_place: places to offer the traveler, each with code, name, kind (airport, all airports in the city, nearby airport), city, country |
| title | string|null | – | The watch in words: route and dates, or the list's name |
| travelers | number|null | – | Travelers on a flight watch when more than one |
| watch | object|null | – | Its settings, as the matching list tool returns them (itineraries, best_deals, alert settings...) |
| watch_id | string|null | – | The watch's id (search_key, bucket_id, tracking_id or tracking_key) |
| watches | array|null | – | status not_found: every watch on the account (watch, kind, label) |
No examples provided.
How do I install the SlickTrip MCP server?
SlickTrip is a hosted endpoint at https://mcp.slicktrip.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.slicktrip.com
claude mcp add --transport http com-slicktrip-slicktrip 'https://mcp.slicktrip.com/mcp'
What is the SlickTrip MCP server?
SlickTrip is an MCP server listed in the public MCP registry as com.slicktrip/slicktrip. Live flight, hotel and seat prices, cheapest-day calendars, and price-drop alerts. This page covers its hosted endpoint (https://mcp.slicktrip.com/mcp).
Is the SlickTrip MCP server safe to use?
SlickTrip scores 92 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the SlickTrip MCP server expose?
SlickTrip exposes 38 tools: search_flights, search_return_flights, price_calendar, track_flight, list_tracked_flights, and 33 more. Their descriptions and schemas cost roughly 13,774 tokens of context every time the server is loaded.
Does the SlickTrip MCP server require authentication?
Yes. SlickTrip asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the SlickTrip MCP server still maintained?
SlickTrip is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the SlickTrip MCP server?
VerifyMCP ran 14 checks on SlickTrip, covering TLS certificate, Authorization, HTTPS, HSTS header and 10 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.