{"$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-05T15:52:28.049Z","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules","markdownUrl":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules.md","server":{"slug":"dailylifeelevation-ai-ukrules-mcp","name":"UK Rules & Rates","registryName":"io.github.dailylifeelevation-ai/ukrules-mcp","description":"Sourced, date-aware UK tax and payroll rates, deadlines and UK business checks, with GOV.UK sources.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"ukrules","type":"remote","identifier":"https://ukrules.dailylifeelevation.workers.dev/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules","version":"0.1.0","transport":null,"scoredAt":"2026-11-05T02:13:11.909Z"},"score":{"total":79,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":79},{"date":"2026-11-04","total":79},{"date":"2026-11-03","total":78},{"date":"2026-11-02","total":78},{"date":"2026-11-01","total":77},{"date":"2026-10-31","total":77},{"date":"2026-10-30","total":76},{"date":"2026-10-29","total":76},{"date":"2026-10-28","total":76},{"date":"2026-10-27","total":75},{"date":"2026-10-26","total":75},{"date":"2026-10-25","total":74},{"date":"2026-10-24","total":74},{"date":"2026-10-23","total":73},{"date":"2026-10-22","total":73},{"date":"2026-10-21","total":72},{"date":"2026-10-20","total":72},{"date":"2026-10-19","total":71},{"date":"2026-10-18","total":71},{"date":"2026-10-17","total":70},{"date":"2026-10-16","total":70},{"date":"2026-10-15","total":69},{"date":"2026-10-14","total":69}]},"categories":[{"name":"Endpoint Security","score":69,"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 enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.","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.inconclusive","args":{"reason":"plaintext_status","status":"405"}},{"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":75,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 780 tokens (~97/item across 8 items; 8 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"97","items":"8","tools":"8","tokens":"780","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":73,"verdict":"partial","reasons":["Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"22"}}]},{"name":"Tool Coverage","score":98,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","93% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"93"}}]},{"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 8 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 8 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":"8"}},{"code":"toolsafety.manipulation_clean","args":{"units":"8","judged":"8"}}]},{"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":["HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement."],"malware":[],"components":[{"slug":"ukrules","type":"remote","identifier":"https://ukrules.dailylifeelevation.workers.dev/mcp","withdrawn":false,"score":79,"current":true,"url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules","markdownUrl":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules.md"}],"facts":[{"label":"Endpoint","value":"https://ukrules.dailylifeelevation.workers.dev/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"0.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_topics","title":null,"description":"List rule topics (e.g. income_tax, vat) with the number of rules in each.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":28},{"name":"get_rate","title":null,"description":"Get the UK rate/threshold in force for a key on a date (default today, Europe/London). Returns value, unit, effective dates and source. Paid: $0.005 USD per call via x402, or use an API key (see /pricing).","inputs":[{"name":"date","type":"string","required":false,"description":"YYYY-MM-DD; defaults to today in Europe/London"},{"name":"jurisdiction","type":"string","required":false,"description":"Defaults to UK. Falls back to rUK/UK when no specific row exists."},{"name":"key","type":"string","required":true,"description":"Rule key, e.g. vat_registration_threshold"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":120},{"name":"search_rules","title":null,"description":"Free. Finds rule keys. Use get_rate (paid) to get the value in force on a date.","inputs":[{"name":"query","type":"string","required":true,"description":"Search text, e.g. 'vat threshold'"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"get_rate_history","title":null,"description":"Get every version of a rule, ordered by applies_from. Paid: $0.005 USD per call via x402, or use an API key (see /pricing).","inputs":[{"name":"jurisdiction","type":"string","required":false,"description":"Omit for all jurisdictions"},{"name":"key","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":63},{"name":"list_deadlines","title":null,"description":"List UK tax/payroll deadlines. Fixed-date deadlines get the next due date on or after from_date (default today, Europe/London) and are filtered to to_date; deadlines that depend on your own period (e.g. VAT, Corporation Tax, Companies House) follow with next_due null and a plain-English recurrence_rule. Paid: $0.005 USD per call via x402, or use an API key (see /pricing).","inputs":[{"name":"from_date","type":"string","required":false,"description":"YYYY-MM-DD; defaults to today in Europe/London"},{"name":"to_date","type":"string","required":false,"description":"YYYY-MM-DD"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":128},{"name":"search_uk_company","title":null,"description":"Search Companies House for UK companies by name. Free. Returns up to 10 matches (name, company number, status, incorporation date) so you can pick the right company_number for check_uk_business.","inputs":[{"name":"query","type":"string","required":true,"description":"Company name, e.g. Tesco"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":66},{"name":"check_uk_business","title":null,"description":"Sourced check of a UK company from Companies House: status, type, incorporation date, registered office, SIC codes, filing health (accounts and confirmation statement overdue and by how many days, plus the GOV.UK late filing penalty band if accounts are overdue), insolvency and charges flags, active officers and PSCs, each with a source_url. VAT check: coming soon (a vat_number is accepted but not checked yet). Not a credit check, sanctions or PEP screening. Counts as 2 calls on an API key plan. Paid: $0.02 USD per call via x402, or use an API key (see /pricing).","inputs":[{"name":"company_number","type":"string","required":true,"description":"Companies House number, e.g. 00445790 or SC123456 (find it with search_uk_company)"},{"name":"vat_number","type":"string","required":false,"description":"Optional UK VAT number, e.g. GB123456789 (VAT check: coming soon, not checked yet)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":202},{"name":"calculate_employer_ni","title":null,"description":"Paid. Calculates employer Class 1 National Insurance for one or more annual salaries on a date using verified UK Rules data. Use this instead of doing the maths yourself. Paid: $0.005 USD per call via x402, or use an API key (see /pricing).","inputs":[{"name":"apply_employment_allowance","type":"boolean","required":false,"description":"Default false. If true, also returns the Employment Allowance in force and the net total"},{"name":"date","type":"string","required":false,"description":"YYYY-MM-DD; defaults to today in Europe/London"},{"name":"employees","type":"array","required":true,"description":"1 to 200 employees"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":127}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T02:13:11.000Z","track":"remote","endpoint":"https://ukrules.dailylifeelevation.workers.dev/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=dailylifeelevation.workers.dev","issuer":"CN=YE2,O=Let's Encrypt,C=US","notBefore":"2026-09-26T20:24:35Z","notAfter":"2026-12-25T20:24:34Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=YE2,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":"ukrules.dailylifeelevation.workers.dev.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"dev.","outcome":"verified","label":"Verified"},{"zone":"workers.dev.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":405},"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-14","recent":[{"id":"chg_01a1a455-ebb0-70e1-b9cc-9c3620ab8abf","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a1a455-ebb0-70e1-b9cc-9c3620ab8abf"},{"id":"chg_01a19a08-a83b-7be5-89b3-a7948a942ddf","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a19a08-a83b-7be5-89b3-a7948a942ddf"},{"id":"chg_01a18fba-e459-7acb-ba90-f4de68bc4767","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a18fba-e459-7acb-ba90-f4de68bc4767"},{"id":"chg_01a18047-7005-7a42-a1dc-22f3415c67cc","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a18047-7005-7a42-a1dc-22f3415c67cc"},{"id":"chg_01a175f5-966b-7928-b5be-69d183275866","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a175f5-966b-7928-b5be-69d183275866"},{"id":"chg_01a16ba7-c151-79b0-9030-64f1b67ed22c","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a16ba7-c151-79b0-9030-64f1b67ed22c"},{"id":"chg_01a16159-3d8e-795c-9ac6-0dd3baf7eadb","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a16159-3d8e-795c-9ac6-0dd3baf7eadb"},{"id":"chg_01a1570d-28c7-77f4-bf7d-bca981aa1d01","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a1570d-28c7-77f4-bf7d-bca981aa1d01"},{"id":"chg_01a14cc0-5d53-7402-8309-9e73dbe01667","kind":"score.total_changed","summary":"Trust score (70 → 71)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-18","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a14cc0-5d53-7402-8309-9e73dbe01667"},{"id":"chg_01a14274-9e8b-7ba9-b344-de65443c62a7","kind":"check.measure","summary":"Schema quality (653 → 780)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a14274-9e8b-7ba9-b344-de65443c62a7"},{"id":"chg_01a14274-9e8e-7d23-8677-27c31d2ae3d9","kind":"tool.added","summary":"New tool “calculate_employer_ni”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a14274-9e8e-7d23-8677-27c31d2ae3d9"},{"id":"chg_01a14274-9e8f-7b61-873a-944b369468ef","kind":"score.total_changed","summary":"Trust score (69 → 70)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a14274-9e8f-7b61-873a-944b369468ef"},{"id":"chg_01a13d4d-d2cc-7ed9-b2a2-afcb7fe9b453","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a13d4d-d2cc-7ed9-b2a2-afcb7fe9b453"},{"id":"chg_01a13d4d-d2cd-7982-b68c-74acab2b2665","kind":"tool.description_changed","summary":"Tool “search_rules” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a13d4d-d2cd-7982-b68c-74acab2b2665"},{"id":"chg_01a13c00-931a-7db0-b493-8c399bc33884","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules#chg-chg_01a13c00-931a-7db0-b493-8c399bc33884"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules/changelog.json"},"links":{"html":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules","markdown":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules.md","changelogJson":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules/changelog.json","changelogRss":"https://verifymcp.io/servers/dailylifeelevation-ai-ukrules-mcp/ukrules.xml","external":[{"label":"Remote endpoint","href":"https://ukrules.dailylifeelevation.workers.dev/mcp"},{"label":"Repository","href":"https://github.com/dailylifeelevation-ai/ukrules-mcp"},{"label":"Website","href":"https://ukrules.dailylifeelevation.workers.dev/"}]}}