{"name":"dev.satrank/mcp","slug":"satrank-mcp","title":"SatRank — Lightning trust + audit oracle","description":"Lightning trust + audit oracle. Score, pay, and audit L402 endpoints with Ed25519 receipts.","url":"https://mcp.market/server/satrank-mcp","rating":null,"grade":"A","score":86,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":0,"forks":0,"downloads_week":51,"last_push_at":"2026-07-13T07:45:27.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/proofoftrust21/satrank","website":"https://satrank.dev","version":"1.0.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"satrank-mcp","version":"1.0.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Hosted SatRank API endpoint. Default https://satrank.dev for the public oracle.","format":"string","default":"https://satrank.dev","name":"SATRANK_API_BASE"}]}],"tools":[{"name":"aeps.daily_anchor","description":"Fetch the daily Merkle anchor for a UTC day. Returns operator_pubkey + root_hex + receipt_count + L1 broadcast info. Verifiers use this for receipt inclusion proofs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.evidence_receipt","description":"Fetch the Ed25519-signed evidence receipt for a fulfilled job. Same content as fulfill_evidence, addressable by job_id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.get_dispute","description":"Read the current state of an AEPS dispute. Returns dispute_id + type + multiplier + oracle_pubkeys + oracle_threshold + state + attestations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.get_multihop","description":"Read multi-hop HTLC chain state. Returns chain_id + agent_pubkey + per-leg state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.get_observations","description":"Return all observed daily anchors for a (operator, day) bucket, grouped by root_hex. distinct_roots > 1 = equivocation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.inclusion_proof","description":"Build the RFC 6962 audit path for a single evidence receipt against the day-Merkle root. Returns root_hex + audit_path[] + leaf_index + tree_size. Verifiers feed these to the AEPS Merkle verifier (TS or Rust impl) plus the L1 anchor txid to confirm the receipt is committed on-chain.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.list_forks","description":"List detected fork events (operator equivocations). Optional operator_pubkey filter.","write_action":false,"price_micros":0,"input_schema":null},{"name":"aeps.recent_anchors","description":"List the most recent N daily Merkle anchors. Default 30, max 366.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fulfill","description":"Pay an L402 endpoint via SatRank fulfill proxy with hold-invoice + auto-issued evidence receipt. Agent supplies intent + max_sats budget + max_latency_ms SLA ; SatRank picks best candidate, settles the L402 payment, returns body + body_sha256 + preimage + operator_pubkey + premium_sats + job_id. Refund on candidate failure. Use this when you want SatRank to write the post-pay evidence trail (Ed255","write_action":true,"price_micros":0,"input_schema":null},{"name":"fulfill_evidence","description":"Fetch the public Ed25519-signed evidence receipt for a fulfill_jobs row by job_id. Returns canonical_json + signature + body_sha256 + operator_pubkey + ts_started + ts_finished + sats_paid. No auth required.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_endpoint_score","description":"Read the public scoring snapshot for a specific L402 endpoint URL. Returns Bayesian p_success + ci95, 5-stage breakdown (challenge / invoice / payment / delivery / quality), median_latency_ms, last_probe_age_sec, freshness_status, source attribution. Use BEFORE calling fulfill on a specific URL to verify trust independently of the ranking.","write_action":false,"price_micros":0,"input_schema":null},{"name":"intent","description":"Resolve an intent (category + keywords + budget + latency ceiling) into a ranked list of L402 endpoint candidates from the SatRank catalogue. Returns Bayesian p_success + ci95 + 5-stage breakdown per candidate. Use this BEFORE paying any L402 endpoint to pick the most trusted candidate that fits your budget + SLA. Free to call ; pass `fresh: true` to force a sync HTTP probe (costs 2 sats via /api/","write_action":false,"price_micros":0,"input_schema":null},{"name":"mini_llm_classify","description":"SatRank-operated L402 endpoint : single-best-label classification (10 sats). Powered by Claude Haiku 4.5 server-side. Use when the public AI catalogue is over-priced (>30 sats/req) for classification. The MCP server forwards Authorization headers ; agent runtime supplies the L402 macaroon after paying the 402 challenge.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mini_llm_summarize","description":"SatRank-operated L402 endpoint : plain-prose summarization (10 sats). Powered by Claude Haiku 4.5 server-side. Use when the public AI catalogue prices summarization above your budget.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mini_llm_translate","description":"SatRank-operated L402 endpoint : translation (10 sats). POST text + target language code, get back translated text only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_assertion","description":"Verify offline a SatRank-compatible Nostr trust assertion (kind 30782) or oracle calibration (kind 30783). Validates Schnorr signature + structure + valid_until tag. No network call. Use to compose oracle output across agents without re-querying SatRank.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":86,"grade":"A","scanned_at":"2026-09-27T21:46:51.217Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:46:51.165Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 77 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"satrank-mcp","version":"1.0.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-05-08T02:13:17.953Z","repositoryUrl":"git+https://github.com/proofoftrust21/satrank.git","weeklyDownloads":51}],"repo":{"found":true,"owner":"proofoftrust21","repo":"satrank","archived":false,"pushedAt":"2026-07-13T07:45:27Z","stars":0,"forks":0,"openIssues":14,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/130238025?v=4","ownerCreatedAt":"2023-04-08T15:49:19Z","license":"AGPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/130238025?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":51,"license":"AGPL-3.0","lastPushAt":"2026-07-13T07:45:27.000Z","score":22}}}},"grade_history":[],"reviews":[]}