{"$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-05T19:27:58.516Z","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check","markdownUrl":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check.md","server":{"slug":"claudeisgod-wren-presign-check","name":"Wren Pre-sign Check","registryName":"io.github.claudeisgod/wren-presign-check","description":"Check a tx, EIP-712 payload, text or Base token before your agent signs. Paid per call over x402.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"wren-presign-check","type":"remote","identifier":"https://wren-presign-check.wrenonbase.workers.dev/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check","version":"1.4.0","transport":null,"scoredAt":"2026-11-05T09:36:56.047Z"},"score":{"total":69,"tier":"medium","status":"scored","weekDelta":4,"history":[{"date":"2026-11-05","total":69},{"date":"2026-11-04","total":68},{"date":"2026-11-03","total":68},{"date":"2026-11-02","total":67},{"date":"2026-11-01","total":67},{"date":"2026-10-31","total":66},{"date":"2026-10-30","total":66},{"date":"2026-10-29","total":65},{"date":"2026-10-28","total":65}]},"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":64,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 924 tokens (~231/item across 4 items; 4 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":"231","items":"4","tools":"4","tokens":"924","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":27,"verdict":"partial","reasons":["Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"8"}}]},{"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.","We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 5 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":"4"}},{"code":"toolsafety.manipulation_clean","args":{"units":"5","judged":"5"}}]},{"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":"wren-presign-check","type":"remote","identifier":"https://wren-presign-check.wrenonbase.workers.dev/mcp","withdrawn":false,"score":69,"current":true,"url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check","markdownUrl":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check.md"}],"facts":[{"label":"Endpoint","value":"https://wren-presign-check.wrenonbase.workers.dev/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.4.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"presign_check","title":"Pre-sign check","description":"Call before your agent signs anything. Send tx fields (to, data, value, chainId), or typedData (an eth_signTypedData_v4 payload), or untrusted text, with an optional wren-guard policy. Returns block, review or allow, the decoded call and every finding: unlimited approvals, permits, Permit2, setApprovalForAll, EIP-7702 delegation, deployments, injected instructions and, with a policy, unknown recipients, caps and lookalike addresses. Static check, not a simulation. Costs $0.01 USDC on Base per call, paid over x402 (MCP transport): an unpaid call returns a PaymentRequired result, and an x402 MCP client retries with the payment in _meta[\"x402/payment\"]. You sign one USDC authorisation for exactly that price to Wren's wallet: no approvals. Bad input is rejected before anything is charged.","inputs":[{"name":"chainId","type":"string","required":false,"description":"Chain id, decimal"},{"name":"data","type":"string","required":false,"description":"Calldata, 0x hex"},{"name":"policy","type":"object","required":false,"description":"Optional wren-guard config: allowlist, spenders, caps and flags"},{"name":"text","type":"string","required":false,"description":"Untrusted text that asked for this action, screened for injected instructions"},{"name":"to","type":"string","required":false,"description":"Destination contract or recipient (0x address); omit for a deployment"},{"name":"typedData","type":"object","required":false,"description":"eth_signTypedData_v4 payload (instead of a transaction)"},{"name":"value","type":"string","required":false,"description":"Native value in wei (decimal or 0x hex)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":321},{"name":"screen_text","title":"Prompt-injection screen","description":"Call before your agent acts on untrusted text (a reply, DM, web page, tool output or memory). Returns safe, suspicious or malicious with the matched patterns, after decoding base64, hex, Morse, leetspeak, ROT13, reversed and hidden Unicode. Optional known: your own addresses, to flag poisoned lookalikes. Deterministic rules, no LLM. Costs $0.003 USDC on Base per call, paid over x402 (MCP transport): an unpaid call returns a PaymentRequired result, and an x402 MCP client retries with the payment in _meta[\"x402/payment\"]. You sign one USDC authorisation for exactly that price to Wren's wallet: no approvals. Bad input is rejected before anything is charged.","inputs":[{"name":"known","type":"array","required":false,"description":"Optional: your own 0x addresses, to flag poisoned lookalikes"},{"name":"text","type":"string","required":true,"description":"The untrusted text to screen (up to 16,384 characters)"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":206},{"name":"token_facts","title":"Base token contract facts","description":"Call before your agent approves, receives or sends a Base ERC-20. Returns code size, EIP-7702 delegation, name, symbol, decimals, supply, proxy and upgrade admin, owner or renounced, and which privileged functions the bytecode has (mint, pause, blocklist, fees, limits, trading switch, upgrade). Facts only: no grades, not investment advice. If Base can't be read, nothing is charged. Costs $0.01 USDC on Base per call, paid over x402 (MCP transport): an unpaid call returns a PaymentRequired result, and an x402 MCP client retries with the payment in _meta[\"x402/payment\"]. You sign one USDC authorisation for exactly that price to Wren's wallet: no approvals. Bad input is rejected before anything is charged.","inputs":[{"name":"address","type":"string","required":true,"description":"The token contract's 0x address on Base"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":192},{"name":"presign_demo","title":"Free pre-sign example","description":"Free. Runs one fixed example (an unlimited approval, setApprovalForAll, a never-expiring permit, an EIP-7702 delegation, an injected memo or a normal x402 payment) through the same checker, so you can see the report shape before paying for presign_check.","inputs":[{"name":"name","type":"string","required":true,"description":"Which fixed example to run"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":80}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:36:56.000Z","track":"remote","endpoint":"https://wren-presign-check.wrenonbase.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=wrenonbase.workers.dev","issuer":"CN=YE1,O=Let's Encrypt,C=US","notBefore":"2026-10-20T20:59:05Z","notAfter":"2027-01-18T20:59:04Z","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":"wren-presign-check.wrenonbase.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-28","recent":[{"id":"chg_01a1ab11-8b07-78ba-8e6e-0da4d293a48d","kind":"score.total_changed","summary":"Trust score (68 → 69)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a1ab11-8b07-78ba-8e6e-0da4d293a48d"},{"id":"chg_01a1a0bc-255c-7924-9177-f8002cab7c0a","kind":"score.total_changed","summary":"Trust score (67 → 68)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a1a0bc-255c-7924-9177-f8002cab7c0a"},{"id":"chg_01a19670-1e08-7315-bd9d-167b08ec598e","kind":"score.total_changed","summary":"Trust score (66 → 67)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a19670-1e08-7315-bd9d-167b08ec598e"},{"id":"chg_01a18c24-9405-7b42-a275-c792aeda8e42","kind":"score.total_changed","summary":"Trust score (65 → 66)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a18c24-9405-7b42-a275-c792aeda8e42"},{"id":"chg_01a186ff-3d48-7d03-b6c6-771b68211408","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a186ff-3d48-7d03-b6c6-771b68211408"},{"id":"chg_01a18453-8d28-71ff-ae2a-30fa1e6ec9f2","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check#chg-chg_01a18453-8d28-71ff-ae2a-30fa1e6ec9f2"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check/changelog.json"},"links":{"html":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check","markdown":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check.md","changelogJson":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check/changelog.json","changelogRss":"https://verifymcp.io/servers/claudeisgod-wren-presign-check/wren-presign-check.xml","external":[{"label":"Remote endpoint","href":"https://wren-presign-check.wrenonbase.workers.dev/mcp"},{"label":"Website","href":"https://wren-presign-check.wrenonbase.workers.dev/"}]}}