{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:29:53.099Z","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary","markdownUrl":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary.md","server":{"slug":"com-cruise-itinerary-mcp","name":"Cruise Itinerary","registryName":"com.cruise-itinerary/mcp","description":"Cruise sailings, itineraries, weekly fare history, port capacity and the Cruise Price Index.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"cruise-itinerary","type":"remote","identifier":"https://cruise-itinerary.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary","version":"1.0.0","transport":null,"scoredAt":"2026-11-05T08:56:06.445Z"},"score":{"total":39,"tier":"low","status":"scored","weekDelta":0,"history":[{"date":"2026-11-05","total":39},{"date":"2026-11-04","total":39},{"date":"2026-11-03","total":39},{"date":"2026-11-02","total":39},{"date":"2026-11-01","total":39},{"date":"2026-10-31","total":39},{"date":"2026-10-30","total":39},{"date":"2026-10-29","total":39},{"date":"2026-10-28","total":39},{"date":"2026-10-27","total":39},{"date":"2026-10-26","total":39},{"date":"2026-10-25","total":39},{"date":"2026-10-24","total":39},{"date":"2026-10-23","total":39},{"date":"2026-10-22","total":39},{"date":"2026-10-21","total":39},{"date":"2026-10-20","total":39},{"date":"2026-10-19","total":39},{"date":"2026-10-18","total":39},{"date":"2026-10-17","total":39},{"date":"2026-10-16","total":39},{"date":"2026-10-15","total":39},{"date":"2026-10-14","total":39},{"date":"2026-10-13","total":39},{"date":"2026-10-12","total":39},{"date":"2026-10-10","total":39},{"date":"2026-10-07","total":39},{"date":"2026-10-04","total":39},{"date":"2026-10-03","total":79}]},"categories":[{"name":"Endpoint Security","score":97,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC.","The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.rfc9728","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}},{"code":"auth.registration_cimd","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"unverified","reasons":["Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http."],"codes":[{"code":"transport.auth_gated","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema blocked by authentication: the endpoint requires auth we don't have to read it."],"codes":[{"code":"schema.auth_gated","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools."],"codes":[{"code":"toolquality.auth_gated","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools."],"codes":[{"code":"toolsafety.auth_gated","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities blocked by authentication: the endpoint requires auth we don't have to read them."],"codes":[{"code":"cap.auth_gated","args":{}}]}],"inconclusive":["Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.","Schema blocked by authentication: the endpoint requires auth we don't have to read it.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.","Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.","Capabilities blocked by authentication: the endpoint requires auth we don't have to read them."],"malware":[],"components":[{"slug":"cruise-itinerary","type":"remote","identifier":"https://cruise-itinerary.com/mcp","withdrawn":false,"score":39,"current":true,"url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary","markdownUrl":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary.md"}],"facts":[{"label":"Endpoint","value":"https://cruise-itinerary.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"required"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"resolve_entity","title":"Resolve a port, ship or cruise line","description":"Turn free text (a port, ship or cruise line name, misspelt or with old names and aliases) into the canonical ids every other tool takes. Returns up to five candidates, best first, with a confidence from 0 to 1 (1.0 exact name; below about 0.6 is a weak match). Available on every plan.","inputs":[{"name":"query","type":"string","required":true,"description":"The name to look up, up to 120 characters, e.g. \"Port Canaveral\", \"Symphony of the Seas\", \"NCL\"."},{"name":"type","type":"string","required":false,"description":"Restrict to one kind of entity."}],"outputs":[{"name":"data","type":"array","required":true,"description":null},{"name":"meta","type":null,"required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":133},{"name":"search_sailings","title":"Search upcoming sailings","description":"Find upcoming cruise sailings by ship, cruise line, port of call, departure port, region, departure dates, length and fare, with each sailing's latest weekly fares (inside, outside, balcony, suite). Ids are canonical slugs. Fares are weekly snapshots in USD, not live prices; a null fare means not offered or sold out. Coverage is strongest for North American cruise lines. TUI Cruises/Marella, AIDA, Saga, Fred. Olsen and Hapag-Lloyd are not covered. Needs the Developer plan or above.","inputs":[{"name":"cabin","type":"string","required":false,"description":"Only sailings with a fare in this cabin class; also the cabin max_fare and sort=fare use."},{"name":"embark_port","type":"string","required":false,"description":"Departure port id."},{"name":"from","type":"string","required":false,"description":"Earliest departure date (YYYY-MM-DD)."},{"name":"line","type":"string","required":false,"description":"Cruise line id."},{"name":"max_fare","type":"integer","required":false,"description":"Highest fare in whole USD (in cabin, or in any cabin when cabin is absent)."},{"name":"max_nights","type":"integer","required":false,"description":"Maximum length in nights."},{"name":"min_nights","type":"integer","required":false,"description":"Minimum length in nights."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1."},{"name":"per_page","type":"integer","required":false,"description":"Rows per page (default 20)."},{"name":"port","type":"string","required":false,"description":"Port id: sailings that call there."},{"name":"region","type":"string","required":false,"description":"Region id."},{"name":"ship","type":"string","required":false,"description":"Ship id."},{"name":"sort","type":"string","required":false,"description":"departure (default) or fare, lowest first."},{"name":"to","type":"string","required":false,"description":"Latest departure date (YYYY-MM-DD)."}],"outputs":[{"name":"data","type":"array","required":true,"description":null},{"name":"meta","type":null,"required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":329},{"name":"get_itinerary","title":"Get a sailing's or cruise's itinerary","description":"Day-by-day itinerary. With sailing_id (an integer sailing id): every dated day with its port, kind (embark, call, scenic, sea, disembark) and day_confidence, plus the sailing's latest fares. With cruise_id (a cruise slug, the route shared by its sailings): the ordered stop list, numbered by day where the line publishes its itinerary (itinerary_source \"official\") and without day numbers otherwise (\"supplier\"). Give exactly one of the two. Days marked \"estimated\" were placed by distance and can be off by a day. Needs the Developer plan or above.","inputs":[{"name":"cruise_id","type":"string","required":false,"description":"Cruise id (slug), e.g. from a sailing's cruise.id."},{"name":"sailing_id","type":"integer","required":false,"description":"Sailing id (integer)."}],"outputs":[],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":167},{"name":"get_price_history","title":"Get a sailing's weekly fare history","description":"Every weekly fare snapshot recorded for one sailing, oldest first (captured each Monday since 2026-09-06), per cabin class in whole USD. Shows whether and when a fare went up or down. Snapshots, not live prices; a null fare means not offered or sold out. Needs the Business plan or above.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number, from 1."},{"name":"per_page","type":"integer","required":false,"description":"Rows per page (default 50)."},{"name":"sailing_id","type":"integer","required":true,"description":"Sailing id (integer)."}],"outputs":[{"name":"data","type":"array","required":true,"description":null},{"name":"meta","type":null,"required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":116},{"name":"port_month_capacity","title":"Get a port's monthly cruise ship capacity","description":"Cruise traffic at one port, month by month: ship-days in port, distinct ships, and total berths (ship capacity summed over every ship-day; a ship in port two days counts twice), with embark, disembark and turnaround ship-days and how many ship-days are estimated. Monthly totals only; there are deliberately no per-day figures. Berths are capacity, not passengers. Ids are canonical slugs. Needs the Business plan or above.","inputs":[{"name":"from_month","type":"string","required":false,"description":"First month as YYYY-MM (default: this month)."},{"name":"months","type":"integer","required":false,"description":"Number of months (default 12)."},{"name":"port","type":"string","required":true,"description":"Port id."}],"outputs":[{"name":"data","type":"object","required":true,"description":null},{"name":"meta","type":"object","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":142},{"name":"cruise_price_index","title":"Get the Cruise Price Index","description":"The weekly Cruise Price Index: how cruise fares moved week on week, matching the same sailings across loads (100 = 2026-09-06), with the share of fares cut and raised and the average per-night fare. view \"latest\" (default, every plan) gives the last 12 weeks for all lines and the 8 largest lines. view \"series\" (Business plan or above) gives the full series for one line, cabin and segment (booking window or sail quarter).","inputs":[{"name":"cabin","type":"string","required":false,"description":"series only: cabin class (default any)."},{"name":"from","type":"string","required":false,"description":"series only: earliest week (YYYY-MM-DD)."},{"name":"line","type":"string","required":false,"description":"series only: cruise line id, or \"all\" (default)."},{"name":"page","type":"integer","required":false,"description":"series only: page number, from 1."},{"name":"per_page","type":"integer","required":false,"description":"series only: rows per page (default 50)."},{"name":"segment","type":"string","required":false,"description":"series only: all (default), a booking window w000_090, w091_180, w181_365, w366_plus, or a sail quarter like q2027_1."},{"name":"to","type":"string","required":false,"description":"series only: latest week (YYYY-MM-DD)."},{"name":"view","type":"string","required":false,"description":"latest (default) or series."}],"outputs":[{"name":"data","type":"array","required":true,"description":null},{"name":"meta","type":null,"required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":270}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:56:06.000Z","track":"remote","endpoint":"https://cruise-itinerary.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=cruise-itinerary.com","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-10-02T16:20:24Z","notAfter":"2026-12-31T17:20:10Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"cruise-itinerary.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"cruise-itinerary.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"enforced_validated","label":"Enforced and verified","gate":"connect","gateLabel":"On connection","status":401,"authorizationServers":["https://cruise-itinerary.com"]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"auth_gated","label":"Auth required","status":401,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-03","recent":[{"id":"chg_01a10610-357f-761e-9bdc-6d738e6dc099","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-357f-761e-9bdc-6d738e6dc099"},{"id":"chg_01a10610-3580-7088-bb9d-282314b25632","kind":"check.unverifiable","summary":"Transport (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3580-7088-bb9d-282314b25632"},{"id":"chg_01a10610-3580-778d-ac47-089c497ae821","kind":"check.reason","summary":"Authorization (The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3580-778d-ac47-089c497ae821"},{"id":"chg_01a10610-3580-7d17-9a7e-18f6e2170eee","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3580-7d17-9a7e-18f6e2170eee"},{"id":"chg_01a10610-3581-74cd-97fd-fd3f43cde082","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3581-74cd-97fd-fd3f43cde082"},{"id":"chg_01a10610-3581-7ae7-8315-b86bbebd4b19","kind":"check.appeared","summary":"First check of Schema quality (unverified)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3581-7ae7-8315-b86bbebd4b19"},{"id":"chg_01a10610-3582-7058-8b8c-d990e5919965","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → behind authorisation)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3582-7058-8b8c-d990e5919965"},{"id":"chg_01a10610-3582-75ee-98b0-c46ebbcb2e90","kind":"score.total_changed","summary":"Trust score (79 → 39)","materiality":"functional","direction":"regression","scoreDelta":-40,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a10610-3582-75ee-98b0-c46ebbcb2e90"},{"id":"chg_01a103ff-2ae2-7a18-bceb-ec776e0e4624","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-03","url":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary#chg-chg_01a103ff-2ae2-7a18-bceb-ec776e0e4624"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary","markdown":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary.md","changelogJson":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary/changelog.json","changelogRss":"https://verifymcp.io/servers/com-cruise-itinerary-mcp/cruise-itinerary.xml","external":[{"label":"Remote endpoint","href":"https://cruise-itinerary.com/mcp"},{"label":"Repository","href":"https://github.com/BigBalli/cruise-itinerary-mcp"},{"label":"Website","href":"https://cruise-itinerary.com/docs#mcp"}]}}