{"$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:24:18.820Z","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random","markdownUrl":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random.md","server":{"slug":"com-hanaprism-fair-random","name":"Fair Random","registryName":"com.hanaprism/fair-random","description":"Fair, reproducible randomness for agents: dice, coins, integers, list picks, shuffles, with seeds.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp-random","type":"remote","identifier":"https://hanaprism.com/mcp/random","withdrawn":false,"url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random","version":"1.1.0","transport":null,"scoredAt":"2026-11-05T01:35:17.246Z"},"score":{"total":66,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":66},{"date":"2026-11-04","total":66},{"date":"2026-11-03","total":65},{"date":"2026-11-02","total":65},{"date":"2026-11-01","total":64},{"date":"2026-10-31","total":64}]},"categories":[{"name":"Endpoint Security","score":63,"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.","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.inconclusive","args":{"reason":"plaintext_status","status":"405"}},{"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":70,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 795 tokens (~132/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":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"132","items":"6","tools":"6","tokens":"795","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":17,"verdict":"partial","reasons":["Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"5"}}]},{"name":"Tool Coverage","score":77,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","31% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"31"}}]},{"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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","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_none","args":{"tools":"6"}},{"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":["HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement."],"malware":[],"components":[{"slug":"mcp-random","type":"remote","identifier":"https://hanaprism.com/mcp/random","withdrawn":false,"score":66,"current":true,"url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random","markdownUrl":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random.md"}],"facts":[{"label":"Endpoint","value":"https://hanaprism.com/mcp/random"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"roll_dice","title":"Roll dice","description":"Roll 1 to 100 dice with 2 to 1000 sides each (default one six-sided die). The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.","inputs":[{"name":"count","type":"integer","required":false,"description":null},{"name":"seed","type":"string","required":false,"description":"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."},{"name":"sides","type":"integer","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":113},{"name":"flip_coin","title":"Flip a coin","description":"Flip a fair coin 1 to 100 times. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.","inputs":[{"name":"count","type":"integer","required":false,"description":null},{"name":"seed","type":"string","required":false,"description":"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"random_integer","title":"Random integers","description":"Integers from min to max inclusive, 1 to 1000 of them, with or without repeats. The range may hold at most 2^32 values. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.","inputs":[{"name":"count","type":"integer","required":false,"description":null},{"name":"max","type":"integer","required":true,"description":null},{"name":"min","type":"integer","required":true,"description":null},{"name":"seed","type":"string","required":false,"description":"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."},{"name":"unique","type":"boolean","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":137},{"name":"pick_from_list","title":"Pick from a list","description":"Pick 1 or more items from a list of up to 1000, each equally likely. Without repeats by default. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.","inputs":[{"name":"count","type":"integer","required":false,"description":null},{"name":"items","type":"array","required":true,"description":null},{"name":"seed","type":"string","required":false,"description":"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."},{"name":"unique","type":"boolean","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":122},{"name":"shuffle_list","title":"Shuffle a list","description":"Put up to 1000 items in a random order; every order is equally likely. The answer is a drawstoday.com link where the result is shown; the answer itself carries no result.","inputs":[{"name":"items","type":"array","required":true,"description":null},{"name":"seed","type":"string","required":false,"description":"Optional. 64 hex characters. Give the seed shown on an earlier result page to get the same result again (that is how a draw is checked). Leave it out for a fresh draw."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":100},{"name":"prismtect_number","title":"Prismtect number (human touch only)","description":"A personal two-digit number from the Prismtect glass prism, for a user who asks for a lucky number, a number of their own or a number for today. Only a human touch can draw it, so this tool gives no number: it gives the link your user taps themselves. Pass the link on.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":71}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T01:35:17.000Z","track":"remote","endpoint":"https://hanaprism.com/mcp/random","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=hanaprism.com","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-10-08T15:26:43Z","notAfter":"2027-01-06T16:22:45Z","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":"hanaprism.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"hanaprism.com.","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-31","recent":[{"id":"chg_01a1a431-c65a-745e-b299-b8e1af93cd12","kind":"score.total_changed","summary":"Trust score (65 → 66)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a1a431-c65a-745e-b299-b8e1af93cd12"},{"id":"chg_01a199e5-0a3a-75d1-87df-a747320271d4","kind":"score.total_changed","summary":"Trust score (64 → 65)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a199e5-0a3a-75d1-87df-a747320271d4"},{"id":"chg_01a194bf-bb35-7bd6-80aa-911489e40dd9","kind":"check.verdict","summary":"Schema quality (pass → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb35-7bd6-80aa-911489e40dd9"},{"id":"chg_01a194bf-bb36-71f0-99e2-75c86fb8973d","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb36-71f0-99e2-75c86fb8973d"},{"id":"chg_01a194bf-bb36-769d-a7d5-13100b6b344c","kind":"tool.description_changed","summary":"Tool “flip_coin” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb36-769d-a7d5-13100b6b344c"},{"id":"chg_01a194bf-bb36-7b6c-9231-f79dc2080b23","kind":"param.description_changed","summary":"“flip_coin” reworded the description of “seed”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb36-7b6c-9231-f79dc2080b23"},{"id":"chg_01a194bf-bb37-70a8-ad95-367db22db0d2","kind":"tool.description_changed","summary":"Tool “pick_from_list” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb37-70a8-ad95-367db22db0d2"},{"id":"chg_01a194bf-bb37-7500-b280-212807d10f03","kind":"param.description_changed","summary":"“pick_from_list” reworded the description of “seed”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb37-7500-b280-212807d10f03"},{"id":"chg_01a194bf-bb37-79ae-b92d-ae741b819eef","kind":"tool.description_changed","summary":"Tool “random_integer” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb37-79ae-b92d-ae741b819eef"},{"id":"chg_01a194bf-bb37-7dc4-8f26-73e0abe2dba0","kind":"param.description_changed","summary":"“random_integer” reworded the description of “seed”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb37-7dc4-8f26-73e0abe2dba0"},{"id":"chg_01a194bf-bb38-7219-8dc0-ebaabc538b00","kind":"tool.description_changed","summary":"Tool “roll_dice” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb38-7219-8dc0-ebaabc538b00"},{"id":"chg_01a194bf-bb38-767e-b011-903d5df395f3","kind":"param.description_changed","summary":"“roll_dice” reworded the description of “seed”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb38-767e-b011-903d5df395f3"},{"id":"chg_01a194bf-bb38-7a79-9f95-df56304aa217","kind":"tool.description_changed","summary":"Tool “shuffle_list” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb38-7a79-9f95-df56304aa217"},{"id":"chg_01a194bf-bb38-7e86-a8fb-27b69c114ab2","kind":"param.description_changed","summary":"“shuffle_list” reworded the description of “seed”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb38-7e86-a8fb-27b69c114ab2"},{"id":"chg_01a194bf-bb39-72c9-9d84-56aac7805d9f","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a194bf-bb39-72c9-9d84-56aac7805d9f"},{"id":"chg_01a18fcf-e12b-7c81-bbc6-64f20669bc69","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random#chg-chg_01a18fcf-e12b-7c81-bbc6-64f20669bc69"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random","markdown":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random.md","changelogJson":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random/changelog.json","changelogRss":"https://verifymcp.io/servers/com-hanaprism-fair-random/mcp-random.xml","external":[{"label":"Remote endpoint","href":"https://hanaprism.com/mcp/random"},{"label":"Website","href":"https://hanaprism.com/"}]}}