{"$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-05T20:29:16.194Z","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse","markdownUrl":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse.md","server":{"slug":"robertoyanguas-ops-hn-pulse-mcp","name":"io.github.robertoyanguas-ops/hn-pulse-mcp","registryName":"io.github.robertoyanguas-ops/hn-pulse-mcp","description":"Queries live HackerNews discussions, front-page velocity, and developer sentiment on any framework","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"mcp-hn-pulse","type":"remote","identifier":"https://hn-pulse-72343955726.us-central1.run.app/mcp/hn-pulse","withdrawn":false,"url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse","version":"1.0.0","transport":null,"scoredAt":"2026-11-05T09:07:52.407Z"},"score":{"total":90,"tier":"high trust","status":"scored","weekDelta":4,"history":[{"date":"2026-11-05","total":90},{"date":"2026-11-04","total":89},{"date":"2026-11-03","total":89},{"date":"2026-11-02","total":88},{"date":"2026-11-01","total":88},{"date":"2026-10-31","total":87},{"date":"2026-10-30","total":87},{"date":"2026-10-29","total":86},{"date":"2026-10-28","total":86},{"date":"2026-10-27","total":85},{"date":"2026-10-26","total":85},{"date":"2026-10-25","total":84},{"date":"2026-10-24","total":84},{"date":"2026-10-23","total":83},{"date":"2026-10-22","total":83},{"date":"2026-10-21","total":83},{"date":"2026-10-20","total":82},{"date":"2026-10-19","total":82}]},"categories":[{"name":"Endpoint Security","score":94,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.","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.","The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.rfc9728_invoke","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}},{"code":"auth.registration_dcr_only","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":89,"verdict":"pass","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Tool/resource definitions use about 1027 tokens (~85/item across 12 items; 2 tools + 10 resources), lean.","Tools include usage examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"85","items":"12","tools":"2","tokens":"1027","resources":"10"}},{"code":"schema.examples","args":{}}]},{"name":"Stability & Change Management","score":57,"verdict":"partial","reasons":["Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"17"}}]},{"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.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}},{"code":"toolquality.output_present","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 2 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 4 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":"2"}},{"code":"toolsafety.manipulation_clean","args":{"units":"4","judged":"4"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28).","Supports UI / widget rendering."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}},{"code":"cap.ui_supported","args":{}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"mcp-hn-pulse","type":"remote","identifier":"https://hn-pulse-72343955726.us-central1.run.app/mcp/hn-pulse","withdrawn":false,"score":90,"current":true,"url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse","markdownUrl":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse.md"}],"facts":[{"label":"Endpoint","value":"https://hn-pulse-72343955726.us-central1.run.app/mcp/hn-pulse"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"required"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"get_hackernews_tech_pulse","title":null,"description":"Queries live HackerNews discussions, front-page velocity, and developer sentiment on any framework, startup, or AI model. WHEN TO USE: Call `get_hackernews_tech_pulse` when your task requires deterministic `hn-pulse` analysis for `query`; use `get_agent_wallet_status` to check your remaining free trial quota or prepaid balance. WHEN NOT TO USE: Do not use for unrelated domains or binary media. PARAMETER INTERACTIONS: Pass the target `query` as a non-empty string; omit `agent_id` and `tx_hash` during your 5 free trial calls, or supply `agent_id` (`agd_pass_...`) / `tx_hash` for paid execution. Read-only and idempotent; results are cached for 1 hour (<5ms cache hit). $0.01 per call. Pricing: the first 5 calls per agent_id are free and failed calls are never charged. After 5 calls, the tool returns a payment-required quote (not a fatal error) with a $2 Stripe top-up link and Base/Solana USDC addresses; complete payment, then retry with your agd_pass_ key in agent_id or pass tx_hash. Example: get_hackernews_tech_pulse(query='example')","inputs":[{"name":"agent_id","type":"string","required":false,"description":"Optional agent identifier or prepaid agd_pass_ session key. Omit during your 5 free trial calls to use an ID automatically derived from your client IP, or pass your agd_pass_ key after topping up."},{"name":"query","type":"string","required":true,"description":"Technology, startup, library, or topic keyword to analyze across HackerNews."},{"name":"tx_hash","type":"string","required":false,"description":"Optional on-chain Base Mainnet (0x...) or Solana SPL USDC transaction hash. Omit unless settling an individual call directly on-chain instead of using an agd_pass_ key in agent_id."}],"outputs":[{"name":"data","type":"object","required":false,"description":"Structured tool output payload."},{"name":"roi_proof","type":"object","required":false,"description":"Token compression and cost-savings verification metrics."},{"name":"status","type":"string","required":true,"description":"Execution status ('ok' or 'payment_required')."}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":392},{"name":"get_agent_wallet_status","title":null,"description":"Inspect an agent's account ledger: remaining free trial calls (out of 5), prepaid USD balance, cumulative spend, total API calls, and total LLM tokens saved. WHEN TO USE: Call before a batch of paid tool executions or after completing a Stripe or USDC top-up to confirm your balance. WHEN NOT TO USE: Do not use to process web content, execute marketplace tools, or submit payments; use the other tools on this server for execution. PARAMETER INTERACTIONS: Omit agent_id to inspect the default trial account derived from your client IP, or pass your explicit agent_id or agd_pass_ session key to check a specific funded wallet. Free and read-only: never charges a fee or consumes a free trial call. Example: get_agent_wallet_status(agent_id='example')","inputs":[{"name":"agent_id","type":"string","required":false,"description":"Optional Agent ID or agd_pass_ session key to inspect. Omit to check the default wallet derived from your client IP."}],"outputs":[{"name":"data","type":"object","required":false,"description":"Structured tool output payload."},{"name":"roi_proof","type":"object","required":false,"description":"Token compression and cost-savings verification metrics."},{"name":"status","type":"string","required":true,"description":"Execution status ('ok' or 'payment_required')."}],"hasOutputSchema":true,"hasExamples":true,"tokenEstimate":205}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:07:52.000Z","track":"remote","endpoint":"https://hn-pulse-72343955726.us-central1.run.app/mcp/hn-pulse","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=*.a.run.app","issuer":"CN=WR2,O=Google Trust Services,C=US","notBefore":"2026-10-07T19:07:22Z","notAfter":"2026-12-30T19:07:21Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WR2,O=Google Trust Services,C=US","issuer":"CN=GTS Root R1,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=GTS Root R1,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2020-06-19T00:00:42Z","notAfter":"2028-01-28T00:00:42Z","keyType":"RSA","keyBits":4096,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"hn-pulse-72343955726.us-central1.run.app.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"app.","outcome":"verified","label":"Verified"},{"zone":"run.app.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"enforced_validated","label":"Enforced and verified","gate":"invoke","gateLabel":"On tool calls","status":200,"authorizationServers":["https://hn-pulse-72343955726.us-central1.run.app"]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":302},"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-19","recent":[{"id":"chg_01a1aaf6-eff1-7256-a5e4-248cfa87a0b0","kind":"score.total_changed","summary":"Trust score (89 → 90)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a1aaf6-eff1-7256-a5e4-248cfa87a0b0"},{"id":"chg_01a1a0a5-f8e4-7f25-b8ad-322dceae6c05","kind":"score.total_changed","summary":"Trust score (88 → 89)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a1a0a5-f8e4-7f25-b8ad-322dceae6c05"},{"id":"chg_01a19658-5058-7b2b-93c2-026420aed02a","kind":"score.total_changed","summary":"Trust score (87 → 88)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a19658-5058-7b2b-93c2-026420aed02a"},{"id":"chg_01a18c0c-bbd3-797b-a1b4-da469ab24b24","kind":"score.total_changed","summary":"Trust score (86 → 87)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a18c0c-bbd3-797b-a1b4-da469ab24b24"},{"id":"chg_01a181c0-1db9-795b-9f55-60d32da0c256","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a181c0-1db9-795b-9f55-60d32da0c256"},{"id":"chg_01a17773-ea6c-7a16-bc4a-4ac94587d562","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a17773-ea6c-7a16-bc4a-4ac94587d562"},{"id":"chg_01a16d2b-cc2c-7379-a741-ba2f9f3f58fb","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a16d2b-cc2c-7379-a741-ba2f9f3f58fb"},{"id":"chg_01a15db7-72fe-7173-8b28-3948d194e77f","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a15db7-72fe-7173-8b28-3948d194e77f"},{"id":"chg_01a15890-d86d-7ede-a6d8-f11dae071247","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a15890-d86d-7ede-a6d8-f11dae071247"},{"id":"chg_01a15890-d86e-766e-b356-92a3a8228c83","kind":"server.version_changed","summary":"Server version (7.0.14 → 7.0.16)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-20","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a15890-d86e-766e-b356-92a3a8228c83"},{"id":"chg_01a153a2-6d74-7340-bfe4-5c3af9399705","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse#chg-chg_01a153a2-6d74-7340-bfe4-5c3af9399705"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse/changelog.json"},"links":{"html":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse","markdown":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse.md","changelogJson":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse/changelog.json","changelogRss":"https://verifymcp.io/servers/robertoyanguas-ops-hn-pulse-mcp/mcp-hn-pulse.xml","external":[{"label":"Remote endpoint","href":"https://hn-pulse-72343955726.us-central1.run.app/mcp/hn-pulse"}]}}