{"$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-05T18:23:41.100Z","url":"https://verifymcp.io/servers/alviso-saybooks/saybooks","markdownUrl":"https://verifymcp.io/servers/alviso-saybooks/saybooks.md","server":{"slug":"alviso-saybooks","name":"Saybooks","registryName":"io.github.alviso/saybooks","description":"Books your AI keeps from your own bank statements: cards, loans, bills, receipts and the tax year.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"saybooks","type":"remote","identifier":"https://saybooks.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/alviso-saybooks/saybooks","version":"0.4.0","transport":null,"scoredAt":"2026-11-05T00:04:15.041Z"},"score":{"total":37,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":37},{"date":"2026-11-04","total":37},{"date":"2026-11-03","total":37},{"date":"2026-11-02","total":37}]},"categories":[{"name":"Endpoint Security","score":92,"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.","HSTS check failed: the Strict-Transport-Security header is absent.","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_absent","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":"saybooks","type":"remote","identifier":"https://saybooks.io/mcp","withdrawn":false,"score":37,"current":true,"url":"https://verifymcp.io/servers/alviso-saybooks/saybooks","markdownUrl":"https://verifymcp.io/servers/alviso-saybooks/saybooks.md"}],"facts":[{"label":"Endpoint","value":"https://saybooks.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"required"},{"label":"Version","value":"0.4.0"}],"install":{"available":true,"bundleSha256":null},"tools":[],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T00:04:15.000Z","track":"remote","endpoint":"https://saybooks.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.2","cipherSuite":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=saybooks.io","issuer":"CN=YE1,O=Let's Encrypt,C=US","notBefore":"2026-10-22T08:43:30Z","notAfter":"2027-01-20T08:43:29Z","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":"saybooks.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"saybooks.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"enforced_validated","label":"Enforced and verified","gate":"connect","gateLabel":"On connection","status":401,"authorizationServers":["https://saybooks.io/"]},"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-11-02","recent":[{"id":"chg_01a19a35-fe9d-7559-aa85-76d2dc1847dd","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/alviso-saybooks/saybooks#chg-chg_01a19a35-fe9d-7559-aa85-76d2dc1847dd"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/alviso-saybooks/saybooks/changelog.json"},"links":{"html":"https://verifymcp.io/servers/alviso-saybooks/saybooks","markdown":"https://verifymcp.io/servers/alviso-saybooks/saybooks.md","changelogJson":"https://verifymcp.io/servers/alviso-saybooks/saybooks/changelog.json","changelogRss":"https://verifymcp.io/servers/alviso-saybooks/saybooks.xml","external":[{"label":"Remote endpoint","href":"https://saybooks.io/mcp"},{"label":"Repository","href":"https://github.com/alviso/saybooks"},{"label":"Website","href":"https://saybooks.io/personal"}]}}