{"$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:59:52.539Z","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain","markdownUrl":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain.md","server":{"slug":"com-airfarebrain-airfare-brain","name":"Airfare Brain","registryName":"com.airfarebrain/airfare-brain","description":"True cost of flight extras (bags, seats, fees) on 29 airlines in Europe and North America, sourced.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"airfarebrain","type":"remote","identifier":"https://airfarebrain.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain","version":"1.0.6","transport":null,"scoredAt":"2026-11-05T02:27:24.747Z"},"score":{"total":74,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":74},{"date":"2026-11-04","total":74},{"date":"2026-11-03","total":73},{"date":"2026-11-02","total":73},{"date":"2026-11-01","total":72},{"date":"2026-10-31","total":72},{"date":"2026-10-30","total":71},{"date":"2026-10-29","total":71},{"date":"2026-10-28","total":69},{"date":"2026-10-27","total":69},{"date":"2026-10-26","total":68},{"date":"2026-10-25","total":68},{"date":"2026-10-24","total":67},{"date":"2026-10-23","total":68},{"date":"2026-10-22","total":68},{"date":"2026-10-21","total":67},{"date":"2026-10-20","total":67}]},"categories":[{"name":"Endpoint Security","score":74,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":60,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 1257 tokens (~251/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"251","items":"5","tools":"5","tokens":"1257","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":53,"verdict":"partial","reasons":["Stability observed for 16 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"16"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":60,"verdict":"fail","reasons":["Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28."],"codes":[{"code":"protocol.outdated","args":{"latest":"2026-07-28","version":"2025-06-18"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"airfarebrain","type":"remote","identifier":"https://airfarebrain.com/mcp","withdrawn":false,"score":74,"current":true,"url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain","markdownUrl":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain.md"}],"facts":[{"label":"Endpoint","value":"https://airfarebrain.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.0.6"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_capabilities","title":"Get capabilities","description":"What Airfare Brain covers: airlines, how fees are researched and dated, what it does NOT do (no live fares, no booking), and what car hire at the destination airport typically costs.","inputs":[],"outputs":[{"name":"airlines","type":"array","required":false,"description":null},{"name":"error","type":"string","required":false,"description":null},{"name":"method","type":"string","required":false,"description":null},{"name":"note","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":48},{"name":"list_airlines","title":"List airlines","description":"List every airline with a fee table: name, IATA code, the date its fees were checked, and its page.","inputs":[],"outputs":[{"name":"airlines","type":"array","required":false,"description":null},{"name":"error","type":"string","required":false,"description":null},{"name":"note","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":34},{"name":"airline_fees","title":"Airline fees","description":"One airline's published extra fees (bags, seats, priority, check-in, changes, payment), each with the price range, when bought (at booking / later / airport), how it is charged, its source URL and the date checked. Optionally filter by category.","inputs":[{"name":"airline","type":"string","required":true,"description":"Name or IATA code, e.g. 'Ryanair', 'FR', 'easyJet', 'W6'"},{"name":"category","type":"string","required":false,"description":"Only fees of this kind; omit for every fee the airline publishes"},{"name":"currency","type":"string","required":false,"description":"Currency of the answer: EUR (default) or GBP, as the airline publishes it"}],"outputs":[{"name":"airline","type":"string","required":false,"description":null},{"name":"error","type":"string","required":false,"description":null},{"name":"fees","type":"array","required":false,"description":null},{"name":"note","type":"string","required":false,"description":null},{"name":"page","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":139},{"name":"true_cost","title":"True cost","description":"The true cost of a flight on one airline. Pass `fare` (the total for the whole party, from a flight-search tool or the person) to get fare + extras; without it you get the extras alone. Extras = what the person chooses (cabin bag, checked bag by kg, seat, priority, infants) for their party and trip, as the range the airline publishes. Also lists what costs more if left until the airport, unchosen fees that may apply (admin, card %), and extras the airline does not publish a price for.","inputs":[{"name":"airline","type":"string","required":true,"description":"Name or IATA code"},{"name":"cabin_bag","type":"boolean","required":false,"description":"A large cabin bag for the overhead locker"},{"name":"checked_bag_kg","type":"integer","required":false,"description":"Checked bag(s) per person of this weight allowance"},{"name":"currency","type":"string","required":false,"description":"Currency of the answer: EUR (default) or GBP, as the airline publishes it"},{"name":"domestic","type":"boolean","required":false,"description":"true for a flight within the US: US airlines charge different bag prices there than on international routes"},{"name":"fare","type":"number","required":false,"description":"Total fare already found for the whole party, if known"},{"name":"group_bags","type":"integer","required":false,"description":"Checked bags shared by the whole party, fewer than the people (e.g. 1 bag between 2): priced as that many 1st bags; needs checked_bag_kg"},{"name":"hold_bags","type":"integer","required":false,"description":"Checked bags per person (default 1); the 2nd bag often costs more"},{"name":"infants","type":"integer","required":false,"description":"Under-2s on a lap"},{"name":"passengers","type":"integer","required":false,"description":"People aged 2+ (default 1)"},{"name":"priority","type":"boolean","required":false,"description":"Priority boarding"},{"name":"seat","type":"string","required":false,"description":"extra = legroom / front"},{"name":"trip","type":"string","required":false,"description":"one_way (default) or return: return counts each extra on both flights"}],"outputs":[{"name":"airline","type":"string","required":false,"description":null},{"name":"error","type":"string","required":false,"description":null},{"name":"extras_total","type":"string","required":false,"description":null},{"name":"lines","type":"array","required":false,"description":null},{"name":"note","type":"string","required":false,"description":null},{"name":"page","type":"string","required":false,"description":null},{"name":"true_cost","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":387},{"name":"trip_at_airport","title":"Trip at airport","description":"The whole trip into one airport in one answer: the flight's extras on an airline (bags, seats, fees, as true_cost) AND what car hire there really costs (Car Rental Brain's measured median per day, car only, dated). Use for 'flying to Faro with Ryanair, bags and a hire car: what will it cost?'. Car only: deposits, second-driver fees and desk cover are not included; the answer links to the airport's full car-hire report.","inputs":[{"name":"airline","type":"string","required":false,"description":"Airline name or IATA code (optional; without it you get car hire only)"},{"name":"airport","type":"string","required":true,"description":"IATA code or name of the airport you fly INTO, e.g. 'FAO', 'Faro', 'Malaga'"},{"name":"cabin_bag","type":"boolean","required":false,"description":"A large cabin bag for the overhead locker (the small under-seat bag is free)"},{"name":"car_days","type":"integer","required":false,"description":"Days of car hire (default 7)"},{"name":"checked_bag_kg","type":"integer","required":false,"description":"Checked bag(s) per person of this weight allowance, e.g. 20 or 23; omit for none"},{"name":"currency","type":"string","required":false,"description":"Currency of the answer: EUR (default) or GBP, as the airline publishes it"},{"name":"domestic","type":"boolean","required":false,"description":"true for a flight within the US: US airlines charge different bag prices there than on international routes"},{"name":"fare","type":"number","required":false,"description":"Total fare for the whole party, if known"},{"name":"group_bags","type":"integer","required":false,"description":"Checked bags shared by the whole party, fewer than the people (e.g. 1 bag between 2): priced as that many 1st bags; needs checked_bag_kg"},{"name":"hold_bags","type":"integer","required":false,"description":"Checked bags per person (default 1); the 2nd bag often costs more"},{"name":"infants","type":"integer","required":false,"description":"Under-2s on a lap (default 0)"},{"name":"passengers","type":"integer","required":false,"description":"People aged 2+ (default 1)"},{"name":"priority","type":"boolean","required":false,"description":"Priority boarding"},{"name":"seat","type":"string","required":false,"description":"Paid seat choice: none (random seat), standard, or extra (legroom / front)"},{"name":"trip","type":"string","required":false,"description":"one_way (default) or return: return counts each extra on both flights"}],"outputs":[{"name":"airport","type":"object","required":false,"description":null},{"name":"car_hire","type":"object","required":false,"description":null},{"name":"error","type":"string","required":false,"description":null},{"name":"flight","type":"object","required":false,"description":null},{"name":"note","type":"string","required":false,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":471}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T02:27:24.000Z","track":"remote","endpoint":"https://airfarebrain.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=airfarebrain.com","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-10-19T20:02:37Z","notAfter":"2027-01-17T21:02:35Z","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":"airfarebrain.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"airfarebrain.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":301},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-20","recent":[{"id":"chg_01a1a453-8b50-7d10-9e96-5ae97afd5637","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1a453-8b50-7d10-9e96-5ae97afd5637"},{"id":"chg_01a19a04-d422-72e4-8853-bd0b0748cc2b","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a19a04-d422-72e4-8853-bd0b0748cc2b"},{"id":"chg_01a18fb7-77b1-7a5d-96b5-69ca21d542f3","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18fb7-77b1-7a5d-96b5-69ca21d542f3"},{"id":"chg_01a18a91-94e1-7b5c-91fa-99478506b648","kind":"check.measure","summary":"Schema quality (222 → 251)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18a91-94e1-7b5c-91fa-99478506b648"},{"id":"chg_01a18a91-94e2-75bd-8b08-ba7e2f7efae9","kind":"param.added_optional","summary":"“trip_at_airport” added an optional parameter “domestic”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18a91-94e2-75bd-8b08-ba7e2f7efae9"},{"id":"chg_01a18a91-94e2-7b14-988e-384a1a7ff3d9","kind":"param.added_optional","summary":"“trip_at_airport” added an optional parameter “group_bags”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18a91-94e2-7b14-988e-384a1a7ff3d9"},{"id":"chg_01a18a91-94e3-7081-86cb-fae0aa666406","kind":"param.added_optional","summary":"“true_cost” added an optional parameter “domestic”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18a91-94e3-7081-86cb-fae0aa666406"},{"id":"chg_01a18a91-94e3-7558-a706-af065899641e","kind":"param.added_optional","summary":"“true_cost” added an optional parameter “group_bags”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a18a91-94e3-7558-a706-af065899641e"},{"id":"chg_01a1878a-25d5-7305-bf38-647d033ada36","kind":"check.measure","summary":"Schema quality (183 → 222)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d5-7305-bf38-647d033ada36"},{"id":"chg_01a1878a-25d6-7a27-ae65-88cd606b7e12","kind":"check.measure","summary":"Tool coverage (48% → 100%)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d6-7a27-ae65-88cd606b7e12"},{"id":"chg_01a1878a-25d7-79c9-af85-6c317ff77ebb","kind":"param.description_changed","summary":"“airline_fees” reworded the description of “category”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d7-79c9-af85-6c317ff77ebb"},{"id":"chg_01a1878a-25d8-704c-a827-555375f5041e","kind":"param.description_changed","summary":"“airline_fees” reworded the description of “currency”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d8-704c-a827-555375f5041e"},{"id":"chg_01a1878a-25d8-759b-a494-724ce826ea23","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “cabin_bag”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d8-759b-a494-724ce826ea23"},{"id":"chg_01a1878a-25d8-7ac4-a3e9-5632d549aa20","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “checked_bag_kg”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d8-7ac4-a3e9-5632d549aa20"},{"id":"chg_01a1878a-25d8-7efd-afa3-c2f1a19df90a","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “currency”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d8-7efd-afa3-c2f1a19df90a"},{"id":"chg_01a1878a-25d9-753d-8454-5c4fa6ed45e5","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “hold_bags”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d9-753d-8454-5c4fa6ed45e5"},{"id":"chg_01a1878a-25d9-79ea-a101-7a9b5269b1b4","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “infants”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25d9-79ea-a101-7a9b5269b1b4"},{"id":"chg_01a1878a-25da-7006-a7df-15a173e1342c","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “passengers”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25da-7006-a7df-15a173e1342c"},{"id":"chg_01a1878a-25da-7630-9d93-d73da788bb38","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “priority”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25da-7630-9d93-d73da788bb38"},{"id":"chg_01a1878a-25db-70b7-bfa1-d1bb2331addd","kind":"param.description_changed","summary":"“trip_at_airport” reworded the description of “seat”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain#chg-chg_01a1878a-25db-70b7-bfa1-d1bb2331addd"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain","markdown":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain.md","changelogJson":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain/changelog.json","changelogRss":"https://verifymcp.io/servers/com-airfarebrain-airfare-brain/airfarebrain.xml","external":[{"label":"Remote endpoint","href":"https://airfarebrain.com/mcp"},{"label":"Repository","href":"https://github.com/jimiwalters-cmyk/airfare-brain-mcp"},{"label":"Website","href":"https://airfarebrain.com/"}]}}