{"$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-07T19:30:12.467Z","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon","markdownUrl":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon.md","server":{"slug":"com-virtualhangar-owners-beacon","name":"BEACON by Owner Connect","registryName":"com.virtualhangar.owners/beacon","description":"Ask about a private aircraft: approximate charter costs, trip requests and buyer inquiries.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp-beacon","type":"remote","identifier":"https://owners.virtualhangar.com/mcp/beacon","withdrawn":false,"url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon","version":"1.0.0","transport":null,"scoredAt":"2026-11-07T04:21:31.693Z"},"score":{"total":86,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-07","total":86},{"date":"2026-11-06","total":86},{"date":"2026-11-05","total":86},{"date":"2026-11-04","total":85},{"date":"2026-11-03","total":85},{"date":"2026-11-02","total":84},{"date":"2026-11-01","total":84},{"date":"2026-10-31","total":83},{"date":"2026-10-30","total":83},{"date":"2026-10-29","total":82},{"date":"2026-10-28","total":82},{"date":"2026-10-27","total":82},{"date":"2026-10-26","total":81},{"date":"2026-10-25","total":81},{"date":"2026-10-24","total":80},{"date":"2026-10-23","total":80},{"date":"2026-10-22","total":79},{"date":"2026-10-21","total":79},{"date":"2026-10-20","total":78},{"date":"2026-10-19","total":78},{"date":"2026-10-18","total":78},{"date":"2026-10-17","total":77},{"date":"2026-10-16","total":77},{"date":"2026-10-15","total":76},{"date":"2026-10-14","total":76},{"date":"2026-10-13","total":75},{"date":"2026-10-12","total":75},{"date":"2026-10-10","total":74},{"date":"2026-10-08","total":73}]},"categories":[{"name":"Endpoint Security","score":80,"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.","The HSTS (Strict-Transport-Security) header is present.","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_present","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":68,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1762 tokens (~293/item across 6 items; 6 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":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"293","items":"6","tools":"6","tokens":"1762","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"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."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","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.","All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 7 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_declared","args":{"pct":"100","annotated":"2","destructive":"2"}},{"code":"toolsafety.manipulation_clean","args":{"units":"7","judged":"7"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"mcp-beacon","type":"remote","identifier":"https://owners.virtualhangar.com/mcp/beacon","withdrawn":false,"score":86,"current":true,"url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon","markdownUrl":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon.md"}],"facts":[{"label":"Endpoint","value":"https://owners.virtualhangar.com/mcp/beacon"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_aircraft","title":"Aircraft record and owner-approved facts","description":"What public record says about one U.S. registration mark, plus the facts its owner cleared for release. The same document as /{mark}/facts.json: status says what the registry answered (found, not_found, invalid or unavailable), public_record is the FAA registration and the datasets that reference it, and owner_approved is present only for an aircraft whose owner opened the machine-readable channel. Case and hyphens in the mark are ignored.","inputs":[{"name":"tail","type":"string","required":true,"description":"A U.S. registration mark such as N864BF. Case and hyphens are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"search_aircraft","title":"Listed aircraft by seats, base, type or signal","description":"The aircraft whose owners chose to be listed on Owner Connect, filtered by minimum passenger seats, base airport, aircraft type, charter signal or sales signal. Every filter is applied to the facts the owner cleared for release, so an aircraft whose owner did not publish its seat count never matches a seats filter. Returns each aircraft's owner_approved block; call get_aircraft for the public record.","inputs":[{"name":"base_airport","type":"string","required":false,"description":"An airport code as the owner recorded it, for example KPBI. Exact match, case ignored."},{"name":"charter","type":"boolean","required":false,"description":"True to return only aircraft whose owner signalled they may be considered for charter."},{"name":"for_sale","type":"boolean","required":false,"description":"True to return only aircraft whose owner published a sales posture."},{"name":"limit","type":"integer","required":false,"description":"How many aircraft to return, at most 50."},{"name":"min_seats","type":"integer","required":false,"description":"Only aircraft whose owner published a passenger seat count of at least this many."},{"name":"type","type":"string","required":false,"description":"Part of the make or model as the owner published it, for example Hawker or 800XP. Case ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":226},{"name":"estimate_charter","title":"Approximate charter cost","description":"An approximate charter cost for one aircraft at the hourly rate its owner published. Call it whenever the person you are helping asks what a trip would cost, with the departure and arrival airports: the beacon works out the legs and block hours from the owner's typical block speed, positioning included when the owner bills it. When the answer says the owner set no block speed, call again with block_hours, your own estimate for the routing. Answer with its sentence. Not a quote and not binding. Answers a reason instead of a figure when the owner has not published charter terms or a rate.","inputs":[{"name":"block_hours","type":"number","required":false,"description":"Only when the beacon says its owner set no block speed: your own estimate of the total block hours, every leg included. Ignored when from and to are given."},{"name":"from","type":"string","required":false,"description":"Departure airport, ICAO or FAA identifier, for example KTEB for Teterboro. Give it with to."},{"name":"round_trip","type":"boolean","required":false,"description":"True when the aircraft flies the person back from the arrival airport to the departure airport."},{"name":"tail","type":"string","required":true,"description":"A U.S. registration mark such as N864BF. Case and hyphens are ignored."},{"name":"to","type":"string","required":false,"description":"Arrival airport, ICAO or FAA identifier, for example KMIA for Miami."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":268},{"name":"check_availability","title":"Check availability","description":"Whether one aircraft has anything scheduled on a date, or on each day of a span of up to 14 days, read from the operator's calendar its owner connected, synced every 15 minutes. Call it when the person you are helping asks whether the aircraft is available, with the departure date and, for a return trip, the return date, and answer with its sentence. Says free or taken per day and never what is scheduled. Not a hold and not a confirmation. Answers a reason instead when the owner does not publish availability.","inputs":[{"name":"date","type":"string","required":true,"description":"The first day to check, as YYYY-MM-DD, in the operator's local time. Usually the departure date."},{"name":"end_date","type":"string","required":false,"description":"The last day to check, as YYYY-MM-DD, for a return trip or a span of days. Omit to check one day."},{"name":"tail","type":"string","required":true,"description":"A U.S. registration mark such as N864BF. Case and hyphens are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":207},{"name":"request_trip","title":"Request a charter trip","description":"Sends a charter trip request for one aircraft to the booking contact its owner named. Call it only after the person you are helping has asked to proceed, with their own name and email. Nothing is booked or held: the requester is emailed a link, the request is delivered only once they confirm it, and the booking contact then replies to them directly. If the owner set qualification questions, the first call answers needs_answers with the questions; ask the person each one and call again with their answers in the same order.","inputs":[{"name":"answers","type":"array","required":false,"description":"Answers to the owner's qualification questions, in the order request_trip returned them."},{"name":"date","type":"string","required":true,"description":"Departure date, YYYY-MM-DD, today or later."},{"name":"email","type":"string","required":true,"description":"The email address of the person asking. The confirmation link is sent here."},{"name":"from","type":"string","required":true,"description":"Departure airport identifier, ICAO or FAA, for example KTEB."},{"name":"name","type":"string","required":true,"description":"The full name of the person asking, as they gave it."},{"name":"notes","type":"string","required":false,"description":"Anything else the person wants the booking contact to know."},{"name":"passengers","type":"integer","required":true,"description":"Number of passengers."},{"name":"phone","type":"string","required":false,"description":"Their phone number, if they want to be called."},{"name":"return_date","type":"string","required":false,"description":"Return date for a round trip, YYYY-MM-DD. Omit for one way."},{"name":"tail","type":"string","required":true,"description":"A U.S. registration mark such as N864BF. Case and hyphens are ignored."},{"name":"to","type":"string","required":true,"description":"Arrival airport identifier, ICAO or FAA, for example KMIA."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":324},{"name":"send_buyer_inquiry","title":"Contact the owner about buying","description":"Passes a would-be buyer's message about acquiring one aircraft to the acquisition representative its owner named. Call it only after the person you are helping has asked to contact the owner, with their own name, email and message. Nothing is offered or agreed: the buyer is emailed a link, the message is delivered only once they confirm it, and the representative then replies to them directly. If the owner set qualification questions, the first call answers needs_answers with the questions; ask the person each one and call again with their answers.","inputs":[{"name":"answers","type":"array","required":false,"description":"Answers to the owner's qualification questions, in the order the tool returned them."},{"name":"company","type":"string","required":false,"description":"The company or principal they represent, if any."},{"name":"email","type":"string","required":true,"description":"Their email address. The confirmation link is sent here."},{"name":"message","type":"string","required":true,"description":"What the person wants the owner's representative to know, in their own words."},{"name":"name","type":"string","required":true,"description":"The full name of the person asking, as they gave it."},{"name":"phone","type":"string","required":false,"description":"Their phone number, if they want to be called."},{"name":"tail","type":"string","required":true,"description":"A U.S. registration mark such as N864BF. Case and hyphens are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":254}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-07T04:21:31.000Z","track":"remote","endpoint":"https://owners.virtualhangar.com/mcp/beacon","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=owners.virtualhangar.com","issuer":"CN=YE1,O=Let's Encrypt,C=US","notBefore":"2026-10-10T06:13:29Z","notAfter":"2027-01-08T06:13:28Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE1,O=Let's Encrypt,C=US","issuer":"CN=Root YE,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=Root YE,O=ISRG,C=US","issuer":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true},{"subject":"CN=ISRG Root X2,O=Internet Security Research Group,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"owners.virtualhangar.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"virtualhangar.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-08","recent":[{"id":"chg_01a1af16-abe8-7b12-b242-ae1c9d6cf10c","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a1af16-abe8-7b12-b242-ae1c9d6cf10c"},{"id":"chg_01a1a9f3-ecc9-7e84-8d45-c0c77370ae93","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a1a9f3-ecc9-7e84-8d45-c0c77370ae93"},{"id":"chg_01a19fa3-efbb-7963-a36a-354986242edb","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a19fa3-efbb-7963-a36a-354986242edb"},{"id":"chg_01a19555-720e-7ac2-960a-97f23f1c47a7","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a19555-720e-7ac2-960a-97f23f1c47a7"},{"id":"chg_01a18b08-c2dd-7d29-9bda-ad98d5600900","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a18b08-c2dd-7d29-9bda-ad98d5600900"},{"id":"chg_01a17b95-2682-7be8-bb26-f1f7bf3053ee","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a17b95-2682-7be8-bb26-f1f7bf3053ee"},{"id":"chg_01a17148-f051-782a-9385-61142dcc3c33","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a17148-f051-782a-9385-61142dcc3c33"},{"id":"chg_01a16c22-4871-7e51-b23c-c5e1035a2644","kind":"tool.description_changed","summary":"Tool “check_availability” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a16c22-4871-7e51-b23c-c5e1035a2644"},{"id":"chg_01a166fc-371c-70d4-bb4e-d45c01a46ad0","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a166fc-371c-70d4-bb4e-d45c01a46ad0"},{"id":"chg_01a15cad-d1a6-708a-84b8-81d3a6d349f3","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a15cad-d1a6-708a-84b8-81d3a6d349f3"},{"id":"chg_01a14d39-99f4-7ed2-9ee6-093460883b9b","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a14d39-99f4-7ed2-9ee6-093460883b9b"},{"id":"chg_01a142f1-b0d5-74b2-9d41-9dd3ec53eee3","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a142f1-b0d5-74b2-9d41-9dd3ec53eee3"},{"id":"chg_01a138a2-2518-754e-a526-651210b200e2","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a138a2-2518-754e-a526-651210b200e2"},{"id":"chg_01a12dd4-9bb4-77fb-9ff7-d5fad3646247","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a12dd4-9bb4-77fb-9ff7-d5fad3646247"},{"id":"chg_01a12632-c06e-7670-b0dc-23af5c608a36","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-10","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a12632-c06e-7670-b0dc-23af5c608a36"},{"id":"chg_01a118f7-ba0b-78f7-915e-4603ded4d3a4","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-08","url":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon#chg-chg_01a118f7-ba0b-78f7-915e-4603ded4d3a4"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon","markdown":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon.md","changelogJson":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon/changelog.json","changelogRss":"https://verifymcp.io/servers/com-virtualhangar-owners-beacon/mcp-beacon.xml","external":[{"label":"Remote endpoint","href":"https://owners.virtualhangar.com/mcp/beacon"},{"label":"Website","href":"https://owners.virtualhangar.com/connect-your-ai"}]}}