{
 "catalog": "Eclipse Bazaar",
 "source": "bazaar-mcp/catalog.json (verbatim fields)",
 "generated_for": "https://eclipsebazaar.com",
 "count": 120,
 "products": [
  {
   "id": "eclipse-agent-wallet-mcp",
   "name": "Eclipse Agent Wallet MCP",
   "tagline": "The agent wallet where responsibility follows scope \u2014 caps, allowlists, human approvals, kill switch, full audit trail.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Payments",
    "Agent Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Create agent wallets owned by a named human",
    "Grant written spending policy: per-transaction cap, daily cap, recipient allowlist, approval threshold, expiry",
    "Dry-run payment check against policy (allow / approve / deny with reason)",
    "Execute payments inside the granted scope (sandbox simulated USDC)",
    "Human approval queue for over-threshold payments",
    "Instant kill switch (revoke) freezing all spending",
    "Append-only audit log of grants, payments, approvals, revocations"
   ],
   "tools": [
    "create_wallet",
    "get_wallet",
    "set_policy",
    "fund_wallet",
    "check_payment",
    "pay",
    "approve_payment",
    "deny_payment",
    "audit_log",
    "revoke"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free sandbox / open reference implementation; hosted tier planned",
   "page_url": "https://eclipsebazaar.com/products/eclipse-agent-wallet-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-agent-wallet-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(sandbox)",
    "certified": true,
    "certified_scope": "Test Bench v0.1.0, 2026-10-24, sandbox environment: policy enforcement (no-policy/over-cap/off-allowlist denied), approval queue, kill switch, append-only audit, schema and error handling \u2014 12 pass, 1 na of 13 checks",
    "not_tested": [
     "Auth enforcement (bench U1 = na: local stdio transport has no credential layer to test)",
     "Production payment rails \u2014 bench ran against simulated test USDC only; x402/production rails not yet wired (x402_ready: false)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-agent-wallet-mcp-2026-10-24-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-agent-wallet-mcp-2026-10-24-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/agent-wallet-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/agent-wallet-mcp"
   }
  },
  {
   "id": "agent-ready-mcp",
   "name": "AgentReady MCP",
   "tagline": "Can an AI agent actually buy from your store? Score it, see the evidence, fix the gaps.",
   "status": "live",
   "listing_class": "mcp",
   "categories": [
    "Commerce Readiness",
    "Audits"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Audit any public storefront URL for AI-agent readiness (8 public-surface checks)",
    "Probe UCP profile at /.well-known/ucp and live MCP endpoints",
    "Check llms.txt, robots.txt AI-crawler policy, sitemap",
    "Verify Product structured data with price and availability",
    "Fingerprint commerce platform (Shopify, WooCommerce, Wix, BigCommerce, custom)",
    "Return 0-100 score, letter grade, per-check observed evidence, and top fixes"
   ],
   "tools": [
    "audit_storefront",
    "list_checks"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local audit (open reference implementation); hosted monitoring tier planned at $99-$199/mo (not yet launched)",
   "page_url": "https://eclipsebazaar.com/products/agent-ready-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/agent-ready-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13/14 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/agentready.py.",
    "not_tested": [
     "Authenticated checkout verification (out of scope by design: public-surface audit only)",
     "Live storefront grades \u2014 bench audits ran against bench-owned localhost fixtures; the product's own live-target smoke results (3 targets, 2026-10-24) were reported, not re-graded"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/agent-ready-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/agent-ready-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-agentready",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/agent-ready",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fagent-ready/versions/0.1.1",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/agent-ready-mcp"
   }
  },
  {
   "id": "certbridge-mcp",
   "name": "CertBridge MCP",
   "tagline": "The padlock, without the paywall \u2014 agent-native ACME issuance, challenge placement, install, and renewal watching for shared-hosting sites.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "TLS Certificates",
    "Hosting Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Full ACME (RFC 8555) certificate lifecycle: account, order, authorization",
    "HTTP-01 challenge computation and placement",
    "Finalize orders and download PEM chains (Let's Encrypt primary, ZeroSSL via EAB)",
    "Parse any certificate for expiry and renewal-due status (<=30 days)",
    "Staging always labelled; append-only audit log of every step"
   ],
   "tools": [
    "register_account",
    "request_certificate",
    "get_challenges",
    "place_challenge",
    "complete_validation",
    "download_certificate",
    "install_certificate",
    "certificate_status",
    "audit_log"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local / open reference implementation; hosted renewal-watch tier planned (per site/mo)",
   "page_url": "https://eclipsebazaar.com/products/certbridge-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/certbridge-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(staging)",
    "certified": true,
    "certified_scope": "Test Bench v0.1.0, 2026-10-24, Let's Encrypt STAGING environment: end-to-end staging order, byte-exact challenge placement, staging/production labelling, renewal-due detection, audit completeness \u2014 12 pass, 1 na of 13 checks",
    "not_tested": [
     "Auth enforcement (bench U1 = na: local stdio transport has no credential layer to test)",
     "cPanel UAPI install \u2014 declared in the server, returns explicit not-live errors; not scored by the bench. Live production issuance itself was proven separately by dogfood (see live_state_note)",
     "Production CA account on the BENCH run (bench created a staging account only); the dogfood run created a production account outside the bench"
    ],
    "live_state_note": "Live issuance PROVEN by dogfood run 2026-10-25 \u2014 real Let's Encrypt production certificate issued end-to-end for eclipsebazaar.com + www.eclipsebazaar.com (test-bench/results/certbridge-mcp-dogfood-2026-10-25.md). NOT a bench scorecard: bench verdict remains CERTIFIED(staging); the \u00a77 production label is withheld (cPanel install, public repo, named support outstanding).",
    "scorecard_ref": "test-bench/results/certbridge-mcp-2026-10-24-2.json",
    "card_url": "https://eclipsebazaar.com/cards/certbridge-mcp-2026-10-24-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/certbridge-mcp:0.2.0",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/certbridge",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fcertbridge/versions/0.2.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/certbridge-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/certbridge-mcp"
   }
  },
  {
   "id": "hostbridge-mcp",
   "name": "HostBridge MCP",
   "tagline": "Scoped deploys, snapshots, rollback, deploy receipts \u2014 CERTIFIED(local-real): the deploy pipeline is proven against a real local filesystem docroot served by a real HTTP server. v0.1.0 has NO remote-host deploy: SFTP and cPanel UAPI transports are not built and return explicit declared-not-live errors.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Hosting Infrastructure",
    "Deployment"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Probe which deploy channels a host accepts (UAPI 2083, SSH 22, FTPS 990, FTP 21, WHM 2087, webmail 2096) with transport-level caveats",
    "Bind a connection to ONE site's document root (scope binding)",
    "Deploy zip packages: integrity check, manifest + diff, snapshot before deploy, plain-language receipt",
    "One-call rollback restoring the previous package byte-exactly",
    "Real HTTP smoke tests against live URLs",
    "Append-only audit log of probes, deploys, rollbacks"
   ],
   "tools": [
    "probe_channels",
    "register_site",
    "deploy_package",
    "rollback",
    "smoke_test",
    "audit_log"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "planned \u2014 free local reference implementation v0.1.0; hosted tier on roadmap (multi-site registry, scheduled deploys)",
   "page_url": "https://eclipsebazaar.com/products/hostbridge-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/hostbridge-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local-real)",
    "certified": true,
    "certified_scope": "CERTIFIED(local-real) \u2014 Test Bench v0.1.0, 2026-10-27 (card hostbridge-mcp-2026-10-27.json, superseding the 2026-10-24 simulator card): real filesystem docroot served by a real HTTP server process; scope binding, dry-run touches nothing, deploy pipeline byte-exact on disk AND served live over HTTP, rollback exact on disk + live HTTP, real-HTTP smoke tests, probe caveat (local listener + live host cetech.ai), corrupt-zip rejection, append-only audit completeness \u2014 15 pass, 1 na of 16 checks. Scope boundary (load-bearing): the deploy TRANSPORT is still the product's 'simulate' transport \u2014 this verdict certifies NO remote-host deploy.",
    "not_tested": [
     "Remote-host deploy \u2014 NOT in v0.1.0: no SFTP or cPanel UAPI transport is built; the sftp transport returns an explicit declared-not-live error (bench H7)",
     "Auth enforcement (bench U1 = na: local stdio transport has no credential layer to test)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/hostbridge-mcp-2026-10-27.json",
    "card_url": "https://eclipsebazaar.com/cards/hostbridge-mcp-2026-10-27.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-connect",
   "name": "Eclipse Connect",
   "tagline": "Hosted OAuth bridge that lets an agent upload owner-approved YouTube Shorts without ever holding the channel's credentials.",
   "status": "dogfood",
   "listing_class": "connector",
   "categories": [
    "Agent Infrastructure",
    "Media Publishing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Hosted OAuth relay: owner authorizes once in a browser; the relay stores the grant encrypted (AES-256-GCM) and issues a revocable agent key",
    "Upload owner-approved YouTube Shorts (multipart video + title/description/tags/privacy)",
    "Public visibility gated on an explicit approval flag; visibility flip endpoint",
    "Fail-closed key auth, instant revoke, per-call audit entries with no token values logged",
    "Status endpoint reporting grant state and quota",
    "Its MCP facade (catalog: eclipse-connect-mcp) is a distinct surface with its own bench card, CERTIFIED(dogfood-facade)"
   ],
   "tools": [],
   "platforms": [
    "HTTPS relay (hosted)"
   ],
   "pricing_model": "planned \u2014 not yet productized; P1 dogfood in live use for The White Report uploads",
   "page_url": "https://eclipsebazaar.com/products/eclipse-connect/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-connect.png",
   "certification": {
    "bench_verdict": "CERTIFIED(dogfood)",
    "certified": true,
    "certified_scope": "Test Bench v0.1.0, 2026-10-24, dogfood environment (simulator-verified, 14 tests): fail-closed auth, upload validation, public-approval gating, revoke, audit hygiene, authorize/callback grant flow \u2014 14 pass, 1 na of 15 checks",
    "not_tested": [
     "MCP schema surface (bench U2 = na: Eclipse Connect is an HTTP relay, not an MCP server)",
     "Multi-user / production scale \u2014 P1 scope is a single user, single channel (@TheWhiteReport)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-connect-2026-10-24-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-connect-2026-10-24-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-apply-mcp",
   "name": "Eclipse Apply MCP",
   "tagline": "The auto-apply tool that shows its work \u2014 policy-scoped autonomy, review-first, receipts for everything, and a resume it can prove it never embellished.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Career / Job Search"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Apply to jobs only inside a human-granted written policy: target roles, salary floor, locations, company allowlist + blocklist, daily cap, approval threshold, expiry, kill switch",
    "Live job discovery against the public Greenhouse / Lever / Ashby / Workable JSON feeds",
    "Review-first by design: matches land as prepared applications for human approval",
    "Tailored resumes re-order verbatim real experience only \u2014 every tailoring ships with a machine-verifiable diff proving zero invented facts",
    "Append-only, hash-chained receipt ledger for every grant, preparation, approval, refusal and submission",
    "v0.1 submissions are DRY-RUN ONLY: the Greenhouse payload is built, validated and recorded \u2014 nothing is transmitted to any employer"
   ],
   "tools": [
    "ingest_resume",
    "set_policy",
    "get_policy",
    "search_jobs",
    "match_jobs",
    "prepare_application",
    "approve_application",
    "reject_application",
    "list_receipts",
    "get_tracker",
    "pause",
    "resume",
    "delete_my_data"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; paid tiers per concept spec (monthly pricing printed plainly; no weekly framing) \u2014 hosted tier planned",
   "page_url": "https://eclipsebazaar.com/products/eclipse-apply-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-apply-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(sandbox)",
    "certified": true,
    "certified_scope": "Test Bench v0.1.0, 2026-10-25, SANDBOX environment: policy refusals (blocklist, salary floor, daily cap, expired policy), pause/kill switch, zero-fact tailoring diff, fabrication catch, hash-chained receipt ledger, dry-run transmits nothing, delete_my_data purge \u2014 17 pass, 1 na of 18 checks",
    "not_tested": [
     "Auth enforcement (bench U1 = na: local stdio transport has no credential layer to test)",
     "Live job boards \u2014 bench jobs are synthetic fixtures seeded into bench state in /tmp; no live boards fetched, no employer contacted",
     "Live submission \u2014 v0.1 is DRY-RUN ONLY by design; A7 truthfulness check ran logic-level (verify_truthful() in-process), all other checks over MCP"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-apply-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-apply-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-apply-mcp:latest",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/apply",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fapply/versions/0.1.0",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-apply-mcp"
   }
  },
  {
   "id": "florida-bid-intel-mcp",
   "name": "Florida Bid Intel MCP",
   "tagline": "Florida bid intelligence with honest deadlines \u2014 real competitions, real due dates, gaps stated not guessed.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Opportunity Intelligence",
    "Government Contracting"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Search MyFloridaMarketPlace vendor ads from dated local snapshots (read-only)",
    "Deadline truth: document-parsed deadlines outrank the portal's misleading grid End dates",
    "Competitive-vs-notice mix, agency buying cadence, due-date clustering",
    "Agency decision / single-source notice feed",
    "Transparent fit score against a NAICS/commodity profile, with component breakdown",
    "Fields the portal does not expose are reported as not exposed, never guessed"
   ],
   "tools": [
    "mfmp_search",
    "mfmp_ad",
    "mfmp_pulse",
    "mfmp_deadlines",
    "mfmp_decisions",
    "mfmp_digest"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "P0 free dogfood (CETech internal); P1 Bazaar listing planned at $49/mo (owner pick, not live)",
   "page_url": "https://eclipsebazaar.com/products/florida-bid-intel-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/florida-bid-intel-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13/14 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/florida.py.",
    "not_tested": [
     "Live portal pull \u2014 no live-pull code path exists (F3 source assertion); v0.1.0 reads dated local snapshots from attended pulls only",
     "Multi-snapshot run-over-run deltas beyond baseline (both stores hold a single snapshot; delta=baseline is the tested case)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/florida-bid-intel-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/florida-bid-intel-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/florida-bid-intel:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/florida-bid-intel"
   }
  },
  {
   "id": "white-report-mcp",
   "name": "The White Report MCP",
   "tagline": "Free read-only crypto + AI news for agents: search articles, get full article text, live ticker, and a graded prediction scoreboard. Also a Muse custom connector \u2014 one-paste setup at thewhitereport.com/agents.",
   "status": "live",
   "listing_class": "mcp",
   "categories": [
    "News & Data",
    "Crypto"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Get the latest White Report articles (newest first)",
    "Search articles by keyword with headline matches scored first",
    "Get full article text by slug (per-article JSON twins)",
    "Get the markets ticker snapshot (crypto + stocks + metrics)",
    "Get the scoreboard of falsifiable calls with grades as they resolve",
    "Connect from Muse as a custom connector \u2014 one-paste setup prompt and OpenAPI spec at thewhitereport.com/agents"
   ],
   "tools": [
    "get_latest",
    "search_articles",
    "get_article",
    "get_ticker",
    "get_scoreboard"
   ],
   "platforms": [
    "HTTPS (hosted, thewhitereport.com/mcp.php)"
   ],
   "pricing_model": "Free (read-only public tier) stays free, and free self-host stays free. PRICED \u2014 metered reads $0.01/read (PC-1) via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product.",
   "page_url": "https://eclipsebazaar.com/products/white-report-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/white-report-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(live)",
    "certified": true,
    "certified_scope": "Test Bench v0.1.0, 2026-10-25, LIVE host environment: all 5 tools verified over real HTTP JSON-RPC against the production endpoint (article search + full text, ticker, scoreboard, contract surface, read-only behavior, no-secrets scan) \u2014 10 pass, 1 na of 11 checks",
    "not_tested": [
     "Auth enforcement (bench U1 = na: public read-only tier by design, no auth on the public tier)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/white-report-mcp-2026-10-25-11.json",
    "card_url": "https://eclipsebazaar.com/cards/white-report-mcp-2026-10-25-11.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-bazaar-mcp",
   "name": "Eclipse Bazaar MCP",
   "tagline": "Agents discover TESTED tools by the problem they need solved \u2014 every listing carries its Test Bench verdict or says plainly that it has none.",
   "status": "live",
   "listing_class": "mcp",
   "categories": [
    "Marketplace Discovery",
    "Agent Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Search products by keyword across names, capabilities, and categories, with transparent match reasons",
    "Find solutions by problem statement, ranked with fit explanations and status/certification badges",
    "Full product detail including certification block and what was NOT tested",
    "Side-by-side comparison of products",
    "Certification lookup returning the latest Test Bench verdict and scorecard summary",
    "Category listing with counts by status"
   ],
   "tools": [
    "search_products",
    "find_solutions",
    "get_product",
    "compare_products",
    "get_certification",
    "list_categories"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free discovery (v0.1.0, CETech catalog only); marketplace economics are P2 \u2014 no purchasing in v0.1.0",
   "page_url": "https://eclipsebazaar.com/products/eclipse-bazaar-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-bazaar-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/bazaar.py. Standing card is run 4 (-4.json); runs 1-3 FAILED retained (bench-suite defects, disclosed in card notes).",
    "not_tested": [
     "Third-party listings (P2) \u2014 v0.1.0 covers the CETech catalog only",
     "Purchasing / x402 flows \u2014 no purchasing surface exists in v0.1.0 (B7)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-bazaar-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-bazaar-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/bazaar-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/bazaar-mcp"
   }
  },
  {
   "id": "eclipse-bidmatrix-mcp",
   "name": "Eclipse BidMatrix MCP",
   "tagline": "Drop in a solicitation, get back the compliance matrix \u2014 Section L/M extraction, requirements checklist, deadlines, set-aside summary.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Government Contracting",
    "Document Analysis"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Shred a caller-supplied solicitation into an evidence-bound compliance matrix: every requirement row carries a verbatim source quote plus its locator (section + line span) \u2014 nothing is paraphrased into existence",
    "Completeness pass with a SILENT_EMPTY gap report: solicitation sections present in the document that yielded zero extracted requirements are flagged by name, never silently dropped",
    "Requirements checklist and set-aside summary (set-aside types with verbatim quotes, NAICS codes, size standard verbatim)",
    "Deadline extraction under strict date formats only: unparseable or relative deadline text is flagged by name (UNPARSEABLE_DATE / RELATIVE_DATE_UNRESOLVED), never fabricated into a date",
    "Local and stateless v0.1: input is raw text or a local file path \u2014 there is no live SAM.gov fetch, no PDF parsing, and no network call"
   ],
   "tools": [
    "solicitation_shred",
    "compliance_matrix",
    "requirements_checklist",
    "deadline_extract",
    "set_aside_summary"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; planned PAID: per-shred credits + $49-$99/mo subscription tier (slate sketch, not launched)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-bidmatrix-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-bidmatrix-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 25 pass, 1 na of 26 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/bidmatrix.py. Runs 1\u20132 FAILED and the run-3 harness flake are retained append-only; run 4 is the standing card \u2014 defects D1\u2013D6 fixed and verified on bench-built fixtures independent of the builder's tests. N-CHECK: NOVELTY_PROVEN \u2014 evidence-bound rows (every requirement a verbatim substring of the source with a section + line locator) plus the SILENT_EMPTY completeness pass; with D4 fixed, the completeness limb holds under repeated section ids.",
    "not_tested": [
     "Live SAM.gov fetch / URL ingestion \u2014 NOT built in v0.1; the caller supplies raw text or a local file path, and no fetch verb exists on the surface",
     "PDF parsing \u2014 NOT built; text input only",
     "Hosted / multi-tenant surface and payments \u2014 NOT built; local stdio only",
     "Backlog D7 (minor, non-gating, from the standing card): NAICS lists separated only by ' / ' extract the first code only, and the unanchored phrasing 'Applicable NAICS codes are \u2026' extracts none \u2014 outside the engine's declared anchored scope, logged for the next fix wave"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-bidmatrix-mcp-2026-10-26-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-bidmatrix-mcp-2026-10-26-4.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-bidmatrix-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-bidmatrix-mcp"
   }
  },
  {
   "id": "eclipse-section508-mcp",
   "name": "Section 508 Evidence MCP",
   "tagline": "WCAG + Section 508 audits that produce the deliverable federal buyers actually require: ACR/VPAT-ready evidence.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Accessibility Compliance",
    "Audits"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Statically audit caller-supplied HTML against WCAG 2.1 A/AA as incorporated by Revised Section 508: 22 statically decidable checks (alt text, form labels, heading order, page lang and title, duplicate ids, ARIA validity, link/button names, positive tabindex, data-table headers, iframe titles, contrast for inline-declared colors, and more)",
    "Evidence-bound findings: every finding carries its WCAG criterion id, a verbatim snippet of the supplied markup, and an element locator (DOM path + line), verifiable against the exact bytes that produced it",
    "ACR/VPAT-ready evidence report in VPAT table shape (criterion \u2192 conformance level \u2192 evidence/remarks)",
    "NOT_STATICALLY_DECIDABLE honesty: 15 criteria that static markup cannot decide are reported with reasons on every audit, never silently passed \u2014 a zero-failure audit still claims conformance NONE, and 1.4.3 renders Partially Supports when stylesheet contrast is unknowable, never a clean Supports",
    "Fail-closed named refusals on malformed input; v0.1 audits one supplied document per call \u2014 no rendered DOM, no browser, no multi-page crawl"
   ],
   "tools": [
    "audit_html",
    "acr_report",
    "checks_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Planned \u2014 PAID: per-audit report $29-$99 + subscription for continuous checks (slate sketch, not launched); free local v0.1",
   "page_url": "https://eclipsebazaar.com/products/eclipse-section508-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-section508-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 19 pass, 1 na of 20 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/section508.py. Runs 1\u20132 FAILED on bench-suite defects (a locator regex, then a corpus threshold) \u2014 no product code was touched between runs; run 3 is the standing card. N-CHECK: NOVELTY_PROVEN \u2014 the evidence binding (criterion id + verbatim snippet + element locator, programmatically verified on every bound finding) plus NOT_STATICALLY_DECIDABLE honesty: partially-decidable 1.4.3 renders Partially Supports, never a clean Supports, and a zero-failure audit still claims conformance NONE.",
    "not_tested": [
     "Rendered-DOM / browser auditing \u2014 NOT built in v0.1 and not attempted: this environment has no headless browser. Only static analysis of caller-supplied HTML text is in scope.",
     "External-CSS / cascade contrast beyond inline-declared colors \u2014 classified NOT_STATICALLY_DECIDABLE in-product, never approximated or passed.",
     "Multi-page / site-level audits \u2014 v0.1 audits one supplied document per call.",
     "Formal VPAT 2.x edition exports (INT / Section 508 edition) and completed/signed ACR generation \u2014 v0.1 emits ACR/VPAT-ready evidence in VPAT table shape only.",
     "WCAG 2.2-only criteria \u2014 the Section 508-incorporated standard audited is WCAG 2.1 A/AA.",
     "Backlog D1 (minor, non-gating, house-pattern, from the standing card): an unparseable raw line on stdio returns -32603 with raw exception text where JSON-RPC reserves -32700 for parse errors; recorded for a house-wide fix wave."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-section508-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-section508-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-section508-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-section508-mcp"
   }
  },
  {
   "id": "eclipse-fedscope-mcp",
   "name": "FedScope MCP",
   "tagline": "Federal + state opportunity search with fit and newcomer scoring and plain-language summaries \u2014 not a raw API wrapper.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Government Contracting",
    "Opportunity Intelligence"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Read-only search over caller-supplied / bundled LOCAL datasets in SAM.gov-opportunity shape \u2014 dataset in, answers out; no live network call and no API key exists in v0.1",
    "Deterministic fit scoring that always decomposes into named factors with per-factor points and reasons (naics_match 35, set_aside_eligibility 25, deadline_runway 20, past_performance_fit 10, place_of_performance 10) \u2014 a score without its breakdown is a defect",
    "A separate newcomer axis rating realism for a firm with no past performance, from its own five named factors \u2014 never folded into fit",
    "Plain-language summaries built from record fields only: summary_basis names every field a sentence traces to; absent facts become named flags (DEADLINE_UNPARSEABLE / DEADLINE_NAIVE_NO_OFFSET / DEADLINE_PASSED), never invented agency, contact, deadline, or value text",
    "Fail-closed named refusals throughout (EMPTY_DATASET, PROFILE_REQUIRED, PROFILE_INVALID, per-record RECORD_MALFORMED quarantine \u2014 one bad record never kills a search); exactly 4 read-only tools, no fetch/submit/write verb"
   ],
   "tools": [
    "opportunity_search",
    "opportunity_score",
    "opportunity_summarize",
    "validate_dataset"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1 (authority + funnel into CETech services and BidMatrix)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-fedscope-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-fedscope-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 21 pass, 1 na of 22 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/fedscope.py. Runs 1\u20133 FAILED retained append-only (runs 1\u20132 carried bench-suite defects; run 3 was the pre-fix product card); run 4 is the post-fix re-bench \u2014 D1\u2013D3 verified fixed, scoring snapshot byte-identical. N-CHECK: NOVELTY_PROVEN, re-earned in run 4 \u2014 deterministic fit + newcomer scoring with every point hand-recomputed by the bench (~58 cases) and traced summaries that name their field basis and flag absent facts instead of inventing them; no fetch or live verb exists on the surface.",
    "not_tested": [
     "Live SAM.gov fetch \u2014 NOT built in v0.1 and no API key exists; search runs over caller-supplied / bundled LOCAL datasets in SAM.gov-opportunity shape only",
     "Hosted / multi-tenant operation \u2014 NOT built; local stdio only"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-fedscope-mcp-2026-10-26-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-fedscope-mcp-2026-10-26-4.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-fedscope-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-fedscope-mcp"
   }
  },
  {
   "id": "eclipse-health-check-mcp",
   "name": "Eclipse Health Check MCP",
   "tagline": "Scan an MCP server or agent configuration for security posture \u2014 evidence-bound findings, decomposed score, fixes.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Security",
    "Audits"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Static security scan of a local MCP server directory or agent configuration (file or inline object): 23 checks in 7 categories (auth, secrets, SSRF, dangerous tool surfaces, transport, dependencies, runtime)",
    "Evidence-bound findings: every finding cites the exact file and line (or json_path for config findings) and the snippet that triggered it, with severity and fix text bound to the check definition \u2014 never free-generated",
    "A decomposed score: the overall score is a weighted mean of per-category scores and is never emitted without its decomposition \u2014 a clean scan is a full 23-check report shape, not an absence of findings",
    "Checks that static evidence cannot decide report NOT_STATICALLY_DECIDABLE with the reason, never a silent pass",
    "Safe by construction: targets are read only \u2014 never executed, imported, or probed; no network; credential values are masked in emitted snippets (bench-verified at N2, run 3)"
   ],
   "tools": [
    "health_scan",
    "health_scan_config",
    "health_checks_list",
    "health_explain_check"
   ],
   "platforms": [
    "MCP over stdio (static local targets only; no live probing, no network)"
   ],
   "pricing_model": "Free local v0.1 (authority builder; dogfoods on CETech's own servers first)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-health-check-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-health-check-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 21 pass, 1 na of 22 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/healthcheck.py. Runs 1\u20132 FAILED retained append-only; run 3 is the standing card \u2014 B-HC-1 (credential masking not global, HIGH) and B-HC-2 (-32603 escapes on the tool surface, HIGH) fixed and verified pass at N2/H3. N-CHECK: NOVELTY_PROVEN \u2014 evidence-bound findings whose file+line citations the bench opened and verified verbatim, severity/fix byte-bound to the check catalog, NOT_STATICALLY_DECIDABLE as a first-class result, and a score never emitted without its decomposition.",
    "not_tested": [
     "Live probing / runtime posture \u2014 no live probing exists in this tier by design; runtime checks (HC-AUTH-03 / SSRF-02 / SSRF-03 / RUN-01 / RUN-02) are certified only as enumerated NOT_STATICALLY_DECIDABLE with reasons, never as passes",
     "Hosted / multi-tenant operation \u2014 NOT built; local stdio only",
     "Residual LOW backlog from the standing card: B-HC-3 (a target root that is itself a symlink is followed \u2014 caller's explicit target; disclose resolved-root behaviour in v0.2), B-HC-4 (absence/config evidence uses line=0 + json_path \u2014 the file+line claim should carve this out explicitly), B-HC-6 (malformed-JSON envelope handling at the transport layer)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-health-check-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-health-check-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-health-check-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-health-check-mcp"
   }
  },
  {
   "id": "eclipse-legacy-recon-mcp",
   "name": "Eclipse Legacy Recon MCP",
   "tagline": "Point an agent at a codebase: narrowed-scope architecture map, dependency/EOL risk list, modernization estimate inputs.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Code Analysis",
    "Modernization"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Read-only static recon of a local codebase: architecture map (languages, packages, entry points, layering signals, file/size distribution)",
    "Dependency + end-of-life risk list: manifest parsing plus an explicit versioned-in-code EOL rules table \u2014 every EOL claim cites its rule id",
    "Modernization estimate INPUTS (LOC by language, test presence/ratio, manifest age signals, coupling hotspots by fan-in) \u2014 raw inputs, never an estimate",
    "Evidence-bound recon at the NARROWED OBSERVED SCOPE (CLAIM-SCOPE.md): Positive DECLARED, OBSERVED, and INFERRED reports only within CLAIM-SCOPE.md, with evidence or basis carried in the output; OBSERVED is not exhaustive. The three lists are never blended, and anything not statically determinable reports UNKNOWN with the reason",
    "Safety: target code is never executed or imported, symlinks are never traversed (escapes are reported), binary files are skipped and counted, and size/file-count caps surface as named truncation flags"
   ],
   "tools": [
    "recon_scan",
    "architecture_map",
    "dependency_risk_list",
    "modernization_inputs"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1 (services-led assessment funnel into CETech modernization work)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-legacy-recon-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-legacy-recon-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) at the NARROWED OBSERVED SCOPE (CLAIM-SCOPE.md): Positive DECLARED, OBSERVED, and INFERRED reports only within CLAIM-SCOPE.md, with evidence or basis carried in the output; OBSERVED is not exhaustive. Withdrawn by name \u2014 W1 JS_TS_MULTILINE_BLOCK_COMMENT_CONTINUATION_AFTER_SPLIT_NO_CLOSE_SPAN \u00b7 W2 JS_TS_CHAINED_NO_CLOSING_SLASH_REGEX_SPANS_ON_ONE_LINE \u00b7 W3 B_LR_14_INVALID_LINE_NONINVENTORY_IDENTIFIER_FOLLOW \u00b7 W4 EXHAUSTIVE_OBSERVED_RECALL \u00b7 W5 DYNAMIC_IMPORT_OBSERVATION_OR_SPECIFIC_UNKNOWN \u00b7 W6 MTS_CTS_OBSERVED_EXTRACTION \u00b7 W7 PERMISSION_DENIED_SUBTREE_COMPLETENESS \u00b7 W8 SELF_REFERENTIAL_SYMLINK_REPORT_AND_SKIP \u00b7 W9 HOSTED_AUTHENTICATED_OR_MULTI_TENANT_OPERATION. Scoped re-bench card -11 (2026-10-26): 30 pass, 0 na of 30 checks.",
    "not_tested": [
     "Manifest ecosystems beyond the v0.1 parsers listed in README (no Gradle dependency extraction, no lockfile parsing)",
     "Hosted / multi-tenant operation and auth beyond the stdio process boundary (withdrawn W9)",
     "Withdrawn W1: JS/TS multiline block-comment continuation after a split no-closing-slash regex-like span (card -10 X1)",
     "Withdrawn W2: JS/TS chained no-closing-slash regex-like spans on one physical line (card -10 X1)",
     "Withdrawn W3: B-LR-14 non-inventory identifier follow on invalid JS/TS lines only",
     "Withdrawn W4: exhaustive OBSERVED recall \u2014 B-LR-5 (JS), B-LR-6 (Python), and B-LR-15 / template-${} over-masking recall limits",
     "Withdrawn W5: dynamic-import OBSERVED entries and a dedicated dynamic-import UNKNOWN (B-LR-3)",
     "Withdrawn W6: .mts/.cts OBSERVED extraction (suffixes absent from EXT_LANG)",
     "Withdrawn W7/W8: completeness over permission-denied subtrees and report-and-skip treatment of self-referential symlink loops (B-LR-7)",
     "B-LR-12 remains a cosmetic bench-suite wording item, not a product claim"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-legacy-recon-mcp-2026-10-26-11.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-legacy-recon-mcp-2026-10-26-11.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-legacy-recon-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-legacy-recon-mcp"
   }
  },
  {
   "id": "eclipse-mail-mcp",
   "name": "Eclipse Mail MCP",
   "tagline": "Governed agent email identity \u2014 review-first sending, signed envelopes, and a fraud firewall that makes money instructions non-actionable from email alone.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Infrastructure",
    "Email"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Scoped agent mailbox identity: grants carry send/read/search only, an owner kill switch (revoke) that fails closed across every surface at once, and per-correspondent freeze with snippet suppression",
    "Review-first sending: draft \u2192 owner approval of the exact draft (hash-bound) \u2192 send; the owner-set signature is part of the approved text and changing it invalidates the approval; template sends require template AND recipient allowlist (to + cc), both owner-pre-approved",
    "Anti-fraud envelope engine: per-message SPF/DKIM/DMARC verdicts with alignment \u2014 fail, absent, or temperror drops the message to the lowest trust tier; no valid Herald signed envelope means never agent-tier, even from a registered agent domain",
    "Lookalike detection a lookalike's own passing DMARC does not save: edit distance, homoglyph/IDN confusables, TLD swaps, and subdomain/substring tricks \u2014 flagged, tier 0, operator alerted",
    "The \u00a75 fraud firewall BY CONSTRUCTION: payment, credential, trust, and disclosure instructions from email are non-actionable \u2014 no tool can adopt them; detection opens an out-of-band verification workflow keyed to the registry number-of-record, never a number from the email (F-BEC leaves protected state bit-identical)",
    "Herald RS256 signed envelopes with thread hash-chaining: inserted or unsigned messages verify as not part of the chain; inbound content renders as quarantined data with provenance \u2014 injection-shaped content is a signal about the sender and satisfies no gate, including the send approval",
    "Append-only hash-chained audit with exactly one entry per call \u2014 refusals and crashed calls included; the attachment ledger is truthful about hashing (body_hash is the SHA-256 of content bytes only when content exists; the metadata-only path carries a separate metadata_hash and says so)"
   ],
   "tools": [
    "grant_issue",
    "fixture_load",
    "list_inbox",
    "read_message",
    "search_messages",
    "ingest_message",
    "draft_create",
    "draft_approve",
    "send_message",
    "reply_message",
    "get_grant_status",
    "revoke",
    "audit_list",
    "fraud_list",
    "registry_list",
    "signature_set",
    "template_register",
    "allowlist_add",
    "freeze_correspondent",
    "unfreeze_correspondent"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; pricing TBD at P2 per spec (no numbers set, quoted, or implied)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-mail-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-mail-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local / fixture-only)",
    "certified": true,
    "certified_scope": "CERTIFIED(local / fixture-only) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 48 pass, 0 na of 49 checks (score 99/100: 48 pass / 1 partial / 0 fail). Run by W-003 (Verity), independent re-bench of the P0 fix round; the original NOT CERTIFIED card (68/100, test-bench/results/eclipse-mail-mcp-2026-10-25.json) is retained append-only, and this -2 card is the standing verdict basis. Scope is LOCAL / FIXTURE-ONLY: the \u00a78 anti-fraud corpus, the signed-envelope/tier engine, the review-first send gate, the \u00a75 fraud firewall, and the audit/kill-switch discipline, all over a synthetic fixture transport. NO live mailbox exists; NO live sending is possible in v0.1; parent-spec dogfood acceptance has NOT run and is NOT certified. The one PARTIAL (D-4): the \u00a75 detector's detection prong catches canonical paraphrases (4/4 on the bench's fresh primary set; benign controls clean) but remains pattern-bounded on an extended evasion set (7/12 detected) \u2014 bounded by the by-construction firewall: an evasion loses the flag/workflow only, never protected state, because no tool can adopt a \u00a75 instruction (forbidden surface refused 23/23 by name). A semantic detector pass is required before any live claim. N-CHECK: NOVELTY_PROVEN \u2014 fraud-firewall-by-construction plus detection-triggered out-of-band verification keyed to the registry number-of-record, Herald signed-envelope thread hash-chaining, and automatic auth\u2192tier consequences including the D1 envelope-tier law (no valid envelope \u2192 never agent-tier).",
    "not_tested": [
     "Live mailbox IMAP/SMTP \u2014 NOT built. v0.1 ships the fixture transport only; parent-spec dogfood acceptance (live mailbox, send/receive/reply, 7-day run) requires the owner-created cetech.ai mailbox and a separate go \u2014 NOT certified.",
     "Live sending of any kind \u2014 no live mailbox exists in v0.1 and no real credential exists in the package; the certified send gate ran over the fixture transport only.",
     "\u00a75 detector semantic depth \u2014 extended evasion set 7/12 (D-4 PARTIAL, disclosed in certified_scope); a semantic detector pass is required before any live deployment claim.",
     "AES-256-GCM credential custody \u2014 live design only; v0.1 hashes and discards the synthetic fixture credential (fingerprint only).",
     "cetech.ai DNS posture (\u00a77.1) \u2014 not audited, not changed (D2 audit-first, owner-approved).",
     "Network Herald card lookup / Envoy registry \u2014 v0.1 uses local fixture JWKS + Envoy-shaped local registry; migration lands with Envoy E0.",
     "Attachment content retrieval, delete tool, Gmail/Outlook OAuth, hosted relay \u2014 parent-spec P2.",
     "Operator-channel authentication beyond the stdio process boundary (by_owner flags are the v0.1 owner-surface marker; standing U1 class)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-mail-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-mail-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-herald-mcp",
   "name": "Eclipse Herald MCP",
   "tagline": "Signed Agent Cards, policy-gated delegation, certification before hire.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent-to-Agent Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Build and sign A2A Agent Cards (JWS/RS256) for hireable services; JWKS export carries public material only",
    "Verify foreign cards: signature, body and skill tamper, unsigned cards rejected",
    "Policy-gated delegation gateway: certify-check before any hire",
    "AP2-shaped mandates with budget caps and expiry; expired or over-budget delivery refused",
    "Receipt-on-delivery settlement in a hash-chained ledger (zero-value test credits in v0.1)",
    "Security Law #1 in code: foreign-agent output is quarantined data, never instructions"
   ],
   "tools": [
    "card_build",
    "card_sign",
    "card_verify",
    "gateway_delegate",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local reference implementation; hosted gateway + certify-before-you-hire service planned (Bazaar P3)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-herald-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-herald-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18/19 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/herald.py.",
    "not_tested": [
     "Live A2A task endpoints (H2 scope \u2014 v0.1 delegates to local stub agents only)",
     "External counterparty cards / remote JWKS fetch (no network in v0.1)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-herald-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-herald-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-herald",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/herald",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fherald/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-herald-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-herald-mcp"
   }
  },
  {
   "id": "eclipse-beacon-mcp",
   "name": "Eclipse Beacon MCP",
   "tagline": "The insurance watcher \u2014 signals your policies' expiries before they happen. It does not insure, bind, or advise.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Insurance / Personal Finance Watch"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Ingest declarations pages (JSON or text) into a policy graph with per-field provenance",
    "Propose-only merges: unconfirmed ingests write nothing to the graph",
    "Expiry radar: renewals, premium dues, grace-period ends, escrow proof deadlines, enrollment windows",
    "Gap report: uncovered assets, duplicate coverage, premium spikes",
    "Alert windows may only tighten, never loosen (the Vigil rule, encoded and tested)"
   ],
   "tools": [
    "policy_ingest",
    "policy_list",
    "policy_get",
    "radar_report",
    "gap_report"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-beacon-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-beacon-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16/17 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/beacon.py.",
    "not_tested": [
     "Phases B1+ (gap expansion, lapse guard, renewal shopping prep, mandate-gated actions) \u2014 not built in v0.1, not benched",
     "Agency edition \u2014 not built (counsel/licensing gate per spec); not benched"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-beacon-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-beacon-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-beacon",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/beacon",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fbeacon/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-beacon-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-beacon-mcp"
   }
  },
  {
   "id": "eclipse-cluster-mcp",
   "name": "Eclipse Cluster MCP",
   "tagline": "Signed images, governed runtimes \u2014 the gate runs first: no verified signature and provenance, no workload.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Container Security"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Resolve an image's digest from its registry with a read-only OCI client (digest computed over served bytes)",
    "Verify cosign-style signatures (ECDSA P-256, Ed25519, RSA) with a pure-stdlib gate",
    "Verify DSSE / in-toto provenance against a written policy and local trust bundle",
    "Per-check PASS/FAIL verdict (10 gate checks), fail-closed on every error",
    "Wrong-signer failures distinguished: forgery fails the signature, an unauthorized signer fails policy"
   ],
   "tools": [
    "verify_image",
    "policy_show",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free / open reference implementation",
   "page_url": "https://eclipsebazaar.com/products/eclipse-cluster-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-cluster-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18/19 checks pass, 1 na (U1 auth: stdio process boundary). Simulator scope: local stub registry, openssl-signed fixtures. Run by W-003 (Verity), suites/cluster.py.",
    "not_tested": [
     "Runtime/orchestration phases K1-K3 not built \u2014 v0.1 is the K0 verification gate only",
     "Keyless/Fulcio certificate signatures not accepted by design in v0.1 (key-based trust bundles only)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-cluster-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-cluster-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-cluster-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-cluster-mcp"
   }
  },
  {
   "id": "eclipse-thread-mcp",
   "name": "Eclipse Thread MCP",
   "tagline": "On-prem bridges for the legacy software-engineering toolchain, plus the Evidence Weaver that joins their records into one traceable thread. v0.1: simulator scope, honestly labeled.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Defense / Safety-Critical Software Engineering Toolchain"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Ingest Jira-DC-shaped REST exports, SARIF findings, VectorCAST-shaped coverage and XMI-lite model exports into one artifact graph",
    "Typed trace links with provenance {source tool, version, run id, source ref} on every artifact",
    "Gap-first trace analysis: unlinked requirements, untested code, findings without tickets, per-layer coverage",
    "Deterministic, hash-chained evidence packages (same graph, same package identity)",
    "Standalone evidence verification: artifact substitution and link removal detected and named"
   ],
   "tools": [
    "ingest_fixture",
    "graph_query",
    "trace_gaps",
    "evidence_build",
    "evidence_verify"
   ],
   "platforms": [
    "MCP over stdio (local; enclave deployment shape)"
   ],
   "pricing_model": "Free local v0.1 (simulator); licensing model TBD per spec (product license + services attach, after T1)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-thread-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-thread-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13/14 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/thread.py.",
    "not_tested": [
     "Any real tool instance: no Jira Data Center, Coverity, Cameo, or VectorCAST instance was available or contacted. All targets are fixtures/mocks \u2014 the (simulator) qualifier applies to the whole v0.1 scope.",
     "Live bridge behavior against a real Jira Data Center (auth, per-version REST surface, rate behavior) \u2014 bridge exercised only against the bundled stdlib stub over localhost HTTP."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-thread-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-thread-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-thread-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-thread-mcp"
   }
  },
  {
   "id": "eclipse-constellation-mcp",
   "name": "Eclipse Constellation MCP",
   "tagline": "The governed, vendor-neutral VM fleet layer for agents: one policy, one receipt ledger, every cloud and hypervisor underneath.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Infrastructure / VM Fleet Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Declared-target registry: undeclared machines are invisible to every tool",
    "Policy engine transposed from Agent Wallet: per-desk and fleet quotas with refusal arithmetic, image and network allowlists, TTL + purpose discipline",
    "Mechanical snapshot-before-mutation precondition (stale snapshot receipt denies again)",
    "Tier-3 destructive operations approval-gated; in observe-only v0.1 they deny even with a snapshot",
    "Read-only probes over fixed command templates only \u2014 no free-form remote execution",
    "Append-only hash-chained ledger in which refusals are receipts too"
   ],
   "tools": [
    "target_list",
    "policy_evaluate",
    "probe_target",
    "fleet_snapshot",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-constellation-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-constellation-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/constellation.py.",
    "not_tested": [
     "SSH channel live execution \u2014 untested by design: no sshd runs on this host, v0.1 declares no ssh target, and the Eclipse Connect droplet migration is owner-gated per spec. Probes were exercised over the declared 'local' channel only.",
     "All execution adapters (lifecycle, exec, console) \u2014 v0.1 is observe-only by design; no mutation code paths exist. Tier-3 evaluations cannot ALLOW in v0.1 (human approval channel not wired) \u2014 verified as designed in check K5."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-constellation-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-constellation-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-constellation",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/constellation",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fconstellation/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-constellation-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-constellation-mcp"
   }
  },
  {
   "id": "eclipse-deepfield-mcp",
   "name": "Eclipse Deep Field MCP",
   "tagline": "The governed database layer for agents \u2014 every store in one look, under policy: read-only by default, writes only under mandate, every query receipted.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Data Infrastructure / Governed Database Access"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Per-database policy with table allowlists: unlisted tables are indistinguishable from nonexistent ones",
    "Read-only by default; single-statement classifier blocks writes smuggled inside string literals",
    "EXPLAIN cost gate refuses full scans before execution; indexed reads pass",
    "Row caps on every read; PII columns masked (hash / partial / null) before results leave the tool",
    "Writes only inside scoped, capped, expiring mandates: dry-run with before-image, then execute",
    "Hash-chained receipts for every query \u2014 blocked ones carry the SQL hash only, never raw SQL"
   ],
   "tools": [
    "db_list",
    "schema_read",
    "query_read",
    "query_explain",
    "write_dryrun",
    "write_execute",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-deepfield-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-deepfield-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 2: 16/17 checks pass, 1 na (U1 auth: stdio process boundary). Run 1 FAILED card retained in results/ \u2014 both failures were bench-suite assertion bugs (schema key name; hash assertion over schema_read receipts, which take no SQL), fixed in the suite, no product code touched. Run by W-003 (Verity), suites/deepfield.py.",
    "not_tested": [
     "Postgres LIVE path NOT tested \u2014 no Postgres server binary, psql, or Python driver exists on this host; the bench verified only the fail-closed posture (all tools return ERROR verdicts). The adapter is implemented behind a driver interface and was tested by its own suite against a recording-fake transport only. Live verification is spec phase P1 and is NOT claimed.",
     "MySQL/MariaDB, SQL Server, MongoDB, Redis, warehouse (Snowflake/BigQuery), and vector adapters \u2014 roadmap phases P1\u2013P4, not built.",
     "Automated rollback tool \u2014 v0.1 retains before-images under a rollback handle; restore is a documented operator procedure (P1)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-deepfield-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-deepfield-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-deepfield-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-deepfield-mcp"
   }
  },
  {
   "id": "eclipse-pantry-mcp",
   "name": "Eclipse Pantry MCP",
   "tagline": "The unattended-retail module \u2014 reads vending fleets' own telemetry and predicts stock-outs. It never touches card data.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Unattended Retail / Vending Telemetry"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Fail-closed DEX/UCS ingest: malformed files rejected whole, at the offending line",
    "PCI law in code: a PAN-shaped string anywhere in an export rejects it, and the digits appear in no error, state or receipt",
    "Per-selection inventory reads with staleness flags and full provenance",
    "Sales summaries reconciled against hand-computed totals, cash vs cashless split",
    "Days-to-empty stock-out forecasts (labeled heuristics from measured velocity)",
    "Fault reads from DEX event records; unenrolled machines invisible"
   ],
   "tools": [
    "dex_ingest",
    "inventory_read",
    "sales_summary",
    "stockout_forecast",
    "fault_read",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-pantry-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-pantry-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 14/15 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/pantry.py.",
    "not_tested": [
     "Live platform routes (Cantaloupe Seed / Nayax APIs or scheduled exports) \u2014 C0 ingests local DEX/UCS-style export files only; per-platform export formats are [verify] per the addendum and untested against real platform output.",
     "Multi-read velocity on real fleets \u2014 forecast delta method is implemented and unit-tested with a synthetic second read; no real route history has been run."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-pantry-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-pantry-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-pantry-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-pantry-mcp"
   }
  },
  {
   "id": "eclipse-marquee-mcp",
   "name": "Eclipse Marquee MCP",
   "tagline": "The live-events agent: it finds the event, watches the price, buys only inside your mandate, and keeps the receipt for every ticket. It does not scalp, bypass, or bet.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Live Events / Ticket Price Watch"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Normalized event discovery preserving section, row and seat semantics across feed shapes",
    "Face value and every fee stay separate fields forever; watcher ceilings compare the all-in per-ticket price only",
    "Price Watcher that may only tighten: ceiling down, sections narrower, expiry no later \u2014 loosening rejected by name",
    "Expired watches cannot alert, however deep the price dips",
    "Alerts and evaluations receipted into first-party price history with per-source provenance",
    "No purchase, checkout or transfer tools exist in v0.1 (capability denylist enforced in code)"
   ],
   "tools": [
    "event_search",
    "listing_read",
    "watch_create",
    "watch_list",
    "watch_evaluate",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-marquee-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-marquee-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/marquee.py.",
    "not_tested": [
     "Live Ticketmaster Discovery or SeatGeek Platform calls \u2014 no API keys exist (owner Wave-2 item) and v0.1 contains no live marketplace code path; all discovery and prices come from shipped local stub fixtures.",
     "F1 buy-under-mandate \u2014 not built in v0.1; no purchase, checkout, transfer, or resale tools exist.",
     "F2 group logistics, chain-of-custody ticket receipts, and entry-day readiness \u2014 not built in v0.1.",
     "Organizer/venue side \u2014 not built; partner-gated per spec."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-marquee-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-marquee-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-marquee-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-marquee-mcp"
   }
  },
  {
   "id": "eclipse-dispatch-mcp",
   "name": "Eclipse Dispatch MCP",
   "tagline": "Drafts once, syndicates drafts everywhere sanctioned, unifies the analytics. Never publishes without approval; never scrapes.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Publishing / Newsletters"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "One canonical, versioned, hash-bound draft: any post-approval edit invalidates the approval by name",
    "Syndication as per-platform drafts via sanctioned-API-shaped adapters (beehiiv, Ghost)",
    "Read-only platforms (Substack) get a paste pack, never a write; the beehiiv adapter has no publish method",
    "Unified analytics with per-source metric definitions: differing definitions flagged DEFINITIONS_DIFFER, never blended",
    "Hash-chained receipts over drafts, approvals, syndications and analytics runs"
   ],
   "tools": [
    "draft_create",
    "draft_preview",
    "draft_approve",
    "syndicate_drafts",
    "analytics_report",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-dispatch-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-dispatch-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13/14 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/dispatch.py.",
    "not_tested": [
     "Live platform wiring: adapters run against fixtures and local stub HTTP servers shaped like the real APIs. beehiiv signup is an owner Wave-2 item; no Ghost instance runs here; Substack live reads (official MCP analytics) not exercised."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-dispatch-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-dispatch-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-dispatch",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/dispatch",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fdispatch/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-dispatch-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-dispatch-mcp"
   }
  },
  {
   "id": "eclipse-social-core-mcp",
   "name": "Eclipse Social Core MCP",
   "tagline": "One canonical, hash-bound package behind every Eclipse social adapter. It publishes nothing itself \u2014 it makes sure nothing unapproved moves.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Social Publishing Governance / Shared Core"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Canonical content object: versioned, SHA-256 hash-bound (masters, claims with sources, rights, accessibility, disclosures, destinations, schedule)",
    "Per-adapter native variants with classified diffs; a rewrite that drops a canonical number is flagged substantive",
    "Hash-bound approvals: any change to media, copy, links, order, disclosure, schedule or destination invalidates approval for that variant",
    "Engagement policy as product law: house caps evaluated per action, action-block means stop",
    "Mode registry per adapter capability with probe-failure downgrades (never workarounds)",
    "Per-account and family kill switches; every check receipted"
   ],
   "tools": [
    "account_set",
    "account_inventory",
    "content_ingest",
    "content_get",
    "adapt_preview",
    "adaptation_diff",
    "variant_revise",
    "approval_pack",
    "approve_variant",
    "approval_check",
    "policy_check",
    "engagement_log",
    "engagement_report",
    "adapter_kill_switch",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-social-core-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-social-core-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/social_core.py.",
    "not_tested": [
     "Live adapter execution \u2014 the core performs no platform action by design; adapters (Aperture formalization, Zephyr reads) carry their own benches.",
     "Unified analytics envelope (spec SS6) \u2014 specified, not built in S0 core v0.1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-social-core-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-social-core-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-social-core",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/social-core",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fsocial-core/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-social-core-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-social-core-mcp"
   }
  },
  {
   "id": "eclipse-aperture-mcp",
   "name": "Eclipse Aperture MCP",
   "tagline": "The Instagram adapter, formalized: capability-declared, hash-bound native variants for Feed, Carousel, Story, and Reel. The descriptor travels with the mode.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Social Adapter / Instagram"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Static capability declaration fixture (dated, [verify]-flagged, states live_calls_made: false)",
    "Native variant builder: Feed 4:5, Carousel, Story and Reel variants from one approved package",
    "Preview pack rendering the exact native preview an approval binds, hash-matched to the variant",
    "Simulated probe failure downgrades modes and the downgrade flows into built variants",
    "Formalization only: the sanctioned house connector is referenced, never duplicated \u2014 no token path, session or posting code exists"
   ],
   "tools": [
    "capability_probe",
    "variant_build",
    "preview_pack",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-aperture-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-aperture-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 11/12 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/aperture.py.",
    "not_tested": [
     "Live Graph API behavior \u2014 v0.1 makes NO live calls by design; the capability record is a static declaration and every row is [verify] against a dated Meta record before external reliance.",
     "Publish/container/insights tooling (ig_media_stage, ig_container_verify, ig_insights_read, ig_own_comment_queue) \u2014 roadmap only, not built."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-aperture-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-aperture-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-aperture",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/aperture",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Faperture/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-aperture-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-aperture-mcp"
   }
  },
  {
   "id": "eclipse-zephyr-mcp",
   "name": "Eclipse Zephyr MCP",
   "tagline": "The Bluesky adapter: real public reads over the open AT Protocol, with review-first and house caps fully in force. No posting surface exists in v0.1.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Social Adapter / Bluesky (AT Protocol)"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Real public reads over the AT Protocol public API, no auth: profile, actor search, author feed, thread reads",
    "Normalized output with per-item source endpoints",
    "Every read receipted into a hash-chained ledger \u2014 failed reads receipted as errors",
    "No write tools exist (surface asserted by test)",
    "CERTIFIED(live-read): the catalog's first live scope, earned under independent bench drive"
   ],
   "tools": [
    "profile_read",
    "actor_search",
    "author_feed_read",
    "post_thread_read",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-zephyr-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-zephyr-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(live-read)",
    "certified": true,
    "certified_scope": "CERTIFIED(live-read) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 12/13 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/zephyr.py. Standing card is run 2 (-2.json); run 1 FAILED is retained in results/ \u2014 its Z5 failure was a defect in this bench probe (the tamper set a receipt field to its existing value, a no-op the verifier correctly accepted), fixed and disclosed here; no product defect.",
    "not_tested": [
     "Posting / record staging (bsky_record_stage, bsky_thread_verify, bsky_label_preflight) \u2014 not built; owner account is a Wave-2 gate.",
     "COMMUNITY_API_PILOT \u2014 spec-eligible for Zephyr only after S2, a dated terms record, and separate owner enable; not built, not enabled."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-zephyr-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-zephyr-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-zephyr-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-zephyr-mcp"
   }
  },
  {
   "id": "eclipse-environment-mcp",
   "name": "Eclipse Environment MCP",
   "tagline": "The smart-environment module \u2014 scopes an agent's authority to actuate a home, tier by tier, and receipts only what the device itself confirms.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Smart Environment / Physical-Actuation Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Device Registry: unenrolled devices are invisible to every tool, even when the hub can see them",
    "Safety Policy ladder: Tier 0 sense, Tier 1 benign/reversible, Tier 2 consequential, Tier 3 safety-critical",
    "Spec floors per capability class: overrides may only raise tiers; a config that lowers one is rejected at load",
    "State-confirmed execution only: a command the device does not confirm earns no receipt, only an alert record",
    "Tier 1 execution in v0.1; Tier 2/3 evaluate and deny by phase; kill switch freezes actuation while sensing stays live"
   ],
   "tools": [
    "registry_list",
    "state_snapshot",
    "policy_evaluate",
    "command_execute",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-environment-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-environment-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 14/15 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/environment.py.",
    "not_tested": [
     "A real Home Assistant instance \u2014 v0.1's hub is a local HA-shaped stub (stdlib http, fixtures). The wrapper's client speaks the /api/states + /api/services shape, but parity with real HA behavior (auth, service payloads, state semantics) is [verify] and untested; connecting the owner's instance is a Wave-2 owner-gated step.",
     "Tier 2 / Tier 3 EXECUTION \u2014 by phase design v0.1 evaluates both and denies by phase; the Tier 2 receipt + owner-notification wiring and any Tier 3 execution path are unbuilt, so there is nothing to test yet.",
     "Vehicle rails (Smartcar, Tesla Fleet API) \u2014 designed in the Procure concept doc's Environment module; no adapter exists in v0.1.",
     "Real-home scale and latency \u2014 fixture hub carries 7 entities; nothing about a real home's entity count, hub latency, or state churn has been measured."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-environment-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-environment-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-environment-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-environment-mcp"
   }
  },
  {
   "id": "eclipse-procure-mcp",
   "name": "Eclipse Procure MCP",
   "tagline": "Intent to receipt in one fail-closed pipeline \u2014 policy before payment, abort on drift, proof for everything.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Commerce / Procurement"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Nine-stage fail-closed pipeline: intent, identity check, quote, wallet-shaped policy authorization, sandbox payment authorization, simulated checkout, receipt ledger, order tracking",
    "Hash-bound intents: the approval binds the exact quote the owner saw",
    "Incomplete quotes (e.g. tax unknowable) can never be authorized at any stage",
    "Abort-on-drift at the payment-authorization boundary: a changed final total aborts before any payment record exists",
    "Single-use, hash-bound mandate tokens above the approval threshold; forged or replayed tokens rejected",
    "Every persisted record carries a Data Rights Ledger provenance block"
   ],
   "tools": [
    "intent_create",
    "quote_get",
    "policy_check",
    "order_execute",
    "order_track",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1 simulator; hosted tier + per-order fee per concept doc (paid flagship of the agent-commerce line)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-procure-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-procure-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 14/15 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/procure.py.",
    "not_tested": [
     "Any real merchant, real payment rail, or real money: none exists in this build. The merchant adapter reads shipped fixtures, the payment rail is a sandbox stub authorizing TEST value only, checkout confirmation is simulated, and the file contains no network calls. Policy evaluation re-implements the Eclipse Agent Wallet's documented policy semantics locally by reference; live interoperation with the wallet MCP is untested (and the wallet's files are untouched)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-procure-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-procure-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-procure-mcp:latest",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/procure",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fprocure/versions/0.2.1",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-procure-mcp"
   }
  },
  {
   "id": "eclipse-gig-core-mcp",
   "name": "Eclipse Gig Core MCP",
   "tagline": "One approved Task Brief, every marketplace: hash-bound briefs, all-in quotes, and a hire that runs only inside a mandate.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Gig / Task Marketplace Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Canonical Task Brief: versioned, SHA-256 hash-bound; exact street addresses refused (ZIP-tier only)",
    "Quote normalization across lead, stated-budget, fixed-price and hourly models",
    "Face price and itemized fees stay separate forever; a quote with UNEXPOSED fees cannot be hired under a ceiling",
    "Hire gate under a live Procure / Agent Wallet mandate (cap, allowlists, threshold, expiry) plus the v1 owner person-confirm rule",
    "Completion verification kept separate from platform state; a mismatch opens an exception, never an edit",
    "Review drafts generated only from the verification record: no quality claims the record does not support, leverage language refused"
   ],
   "tools": [
    "brief_create",
    "brief_update",
    "brief_approve",
    "brief_read",
    "quote_normalize",
    "quote_read",
    "hire_check",
    "completion_verify",
    "review_draft",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-gig-core-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-gig-core-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18/19 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/gig_core.py.",
    "not_tested": [
     "Live platform calls of any kind \u2014 G0 contains no live marketplace code path; briefs, quotes, mandates, and verifications are local records evaluated against shipped test data.",
     "Adapter variant approval binding against a live adapter \u2014 the Compass fixture adapter is the first consumer; cross-product bench is a later run.",
     "Photo EXIF stripping tooling itself \u2014 the core records the strip status per photo as supplied; the stripping tool is adapter/build scope [verify] per spec 5.1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-gig-core-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-gig-core-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "uvx eclipse-gig-core",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/gig-core",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fgig-core/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-gig-core-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-gig-core-mcp"
   }
  },
  {
   "id": "eclipse-compass-mcp",
   "name": "Eclipse Compass MCP",
   "tagline": "The Thumbtack adapter: one approved Task Brief becomes a native Thumbtack request, and a hire runs only inside a Procure mandate.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Gig / Task Marketplaces \u2014 Thumbtack Adapter"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Explicit Thumbtack category mapping: an unknown category is a named error, never a silent nearest-match",
    "Native request-form previews built from the approved Task Brief, with every difference classified (CATEGORY_MAP, BUDGET_FORM, FEE_FORM, LICENSE_FIELD, FORMAT_OMISSION, LOCATION_PRECISION)",
    "Unanswered form fields surface as diffs \u2014 answers are never invented",
    "Licensed categories block until the brief declares its license posture",
    "Pro license claims surfaced verbatim with provenance, verified_by_compass: false",
    "Quotes normalized through the Gig Core engine (one normalization law per family)"
   ],
   "tools": [
    "tt_capability_probe",
    "tt_category_map",
    "tt_form_preview",
    "tt_pro_search",
    "tt_request_lifecycle",
    "tt_quotes_read",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-compass-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-compass-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 14/15 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/compass.py. Run 1 (eclipse-compass-mcp-2026-10-25.json, FAILED, retained per append-only history) failed on a defect in the bench suite itself, not the product: its U3 network-surface pattern substring-matched the fixture filename 'thumbtack_requests.json'; the pattern was corrected and run 2 is the standing card.",
    "not_tested": [
     "Live Thumbtack Partner Platform calls of any kind \u2014 no partner credentials exist (owner G1 step) and v0.1 contains no live code path; categories, pros, requests, and quotes are shipped fixtures shaped like Partner Platform responses.",
     "Live request submission (REQUEST_API) and hire execution (HIRE_API) \u2014 not built in v0.1; Compass previews and reads fixtures only, and holds no independent hire power (the gig core hire gate evaluates mandates).",
     "Marketplace-side messaging scope and the pro-side surface (leads, messages, webhooks) \u2014 later phases, messaging scope [verify] per spec chapter 10.",
     "Trademark screen for the 'Compass' name \u2014 owed before any external launch per spec chapter 10 (N5 caution)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-compass-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-compass-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-compass-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-compass-mcp"
   }
  },
  {
   "id": "eclipse-stage-mcp",
   "name": "Eclipse Stage MCP",
   "tagline": "The console bridge \u2014 deploy and playtest AI-built games on your own Dev Mode console, with receipts.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Developer Tools / Console Bridge (games)"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Console Registry whose enrollment requires a dev-mode attestation flag: a retail-mode console is invisible even if its portal answers",
    "Device Portal-shaped tooling: device info, app list, metadata-only install simulation, remote input, screenshot capture, power control",
    "Remote input validated as a whole sequence against an allowlisted vocabulary before the first event is sent",
    "Screenshot SHA-256 parity across tool result, stored file and receipt",
    "Policy ladder: install and power are Tier 2; restart is Tier 3 behind a confirmation token",
    "Forbidden capability names (profile, credential, retail-exploit class) refused by name; tools/list is exactly the 8 bridge tools"
   ],
   "tools": [
    "console_list",
    "device_info",
    "app_list",
    "app_install_sim",
    "remote_input",
    "screenshot_get",
    "power_control",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-stage-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-stage-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/stage.py.",
    "not_tested": [
     "A real Xbox in Developer Mode \u2014 v0.1's portal is a local Device Portal-shaped stub (stdlib http, fixtures) simulating one console. Parity with the real Xbox Device Portal (auth, exact payload shapes, the /api/app/packagemanager package pipeline, behavior when the console is off) is [verify] and untested; connecting the owner's console is an owner-gated step.",
     "Real package deployment \u2014 v0.1 installs are fixture-metadata records by design; the real binary upload/register/install path is unbuilt, and binary-shaped payloads are refused by name at the bridge and the stub.",
     "Live frame capture \u2014 v0.1's screenshot is the stub's fixture PNG; no real console frame has been captured.",
     "Steam Deck / PC handhelds and Apple TV / Android TV tracks \u2014 designed in the Procure concept doc's Stage module (fully open to developer-account paths); no adapter exists in v0.1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-stage-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-stage-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-stage-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-stage-mcp"
   }
  },
  {
   "id": "eclipse-zenith-mcp",
   "name": "Eclipse Zenith MCP",
   "tagline": "The fitness module of Eclipse Procure \u2014 reads the machine, turns the dial under a safety ladder, and stops the belt when the controller goes silent.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Fitness Equipment / FTMS Bridge & Session Safety"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "FTMS codec (treadmill, indoor bike, rower, heart rate, control point) proven against hand-computed byte fixtures in both directions",
    "Equipment Registry: unenrolled equipment invisible to every tool",
    "Session state machine (idle, active, paused, ended); ending writes the workout record as a Data Rights Ledger exhaust record",
    "Tiered session control: treadmill speed is Tier 3 behind a confirmation token, with per-command delta bounds and device/session ceilings",
    "Dead-man rule enforced in the equipment layer: lapse the control heartbeat and the simulator stops the belt itself, receipted as a safety action",
    "Tier floors validated at load: a config declaring speed below Tier 3 exits before serving"
   ],
   "tools": [
    "registry_list",
    "telemetry_read",
    "session_start",
    "session_control",
    "session_end",
    "workout_list",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted tier TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-zenith-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-zenith-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16/17 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/zenith.py.",
    "not_tested": [
     "Real FTMS hardware of any model \u2014 none exists on this VM. The codec follows the published FTMS characteristic layouts, but per-model variance (optional-field population, flag discipline, control-point parameter acceptance, rower pace resolution) is [verify] against each machine's advertised characteristics at enrollment and is untested here; the registry's characteristics lists describe the SIMULATOR's advertised set.",
     "Real Bluetooth transport (BLE pairing, notification cadence ~250 ms, link loss behavior) \u2014 the bridge-to-simulator link is a local Unix socket; the dead-man rule is proven on a simulated clock against the simulator's enforcement, not against a real belt, a real link, or real time.",
     "Physiological ceiling behavior with a real athlete (HR-signal loss handling, injury/medical flags, Coach adaptation) \u2014 designed in the concept doc; the Coach engine and Health Fusion are unbuilt, so there is nothing to test yet.",
     "Multi-user / commercial-gym identity \u2014 deferred by the concept doc; v0.1 is home-first, single-athlete fixtures."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-zenith-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-zenith-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-zenith-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-zenith-mcp"
   }
  },
  {
   "id": "eclipse-muster-mcp",
   "name": "Eclipse Muster MCP",
   "tagline": "The Customer Graph core: one register of the people an account serves, with provenance on every field and a receipt for every decision.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "CRM / Customer Service Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Canonical Customer Graph: Person, Company, Deal, Ticket, Conversation, Activity \u2014 every field provenance-bearing, every record carrying a Data Rights Ledger block",
    "Identity merges propose-only: evidence and conflicts surfaced; execution requires an owner-confirm token bound to the proposal hash; unmerge restores exactly from the receipt snapshot",
    "Field-level masking at egress (Deep Field pattern): phone partial; email full on the owner surface, domain-only on analytic surfaces; government/payment/health fields nulled in v1",
    "Reply drafting from record facts only, with citation lists; untraceable facts become MISSING_FACT markers",
    "Herald Security Law #1 at ingest: instruction-shaped customer text is quarantined as data, never commands",
    "Hash-chained, content-free receipt ledger for every governed action"
   ],
   "tools": [
    "record_ingest",
    "record_read",
    "record_search",
    "merge_propose",
    "merge_execute",
    "merge_unmerge",
    "reply_draft",
    "policy_show",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-muster-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-muster-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 15/16 checks pass, 1 na (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/muster.py. First run FAILED card retained in results/ (bench-suite self-defect: U7 subsequence order; fixed and re-run clean).",
    "not_tested": [
     "Live platform ingestion of any kind \u2014 C0 Muster is fed records by callers/fixtures; adapter-fed ingest is proven at C1 when Haven/Orbit connect live.",
     "Cross-adapter identity proposals against real two-platform data \u2014 the propose/confirm/unmerge mechanics are proven on synthetic fixtures only.",
     "Encrypted-at-rest graph store (house vault pattern) \u2014 C0 state is a local JSON file; the vault-backed store lands with the owner's production bucket (spec 5.6)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-muster-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-muster-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "uvx eclipse-muster",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/muster",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fmuster/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-muster-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-muster-mcp"
   }
  },
  {
   "id": "eclipse-haven-mcp",
   "name": "Eclipse Haven MCP",
   "tagline": "The governed Zendesk server: OAuth-first, drafts until approved, and a receipt for every touch.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Customer Service / Helpdesk"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Governed Zendesk MCP (public REST API v2 shape) \u2014 the BUILD-side answer for the largest support installed base, which has no official MCP server",
    "OAuth-first by construction: API-token auth is not implemented at all (Zendesk sunsets all API tokens 2027-04-30); presenting one is refused by name on all 10 tools",
    "Public replies send only as a draft plus an approval token bound to the draft's exact content hash; status/assignee changes are likewise token-gated",
    "Internal notes and public replies are never flattened into one visibility class",
    "Deletes, platform merges, bulk updates, macro/trigger edits, and refund actions are prohibited in v1"
   ],
   "tools": [
    "auth_status",
    "ticket_search",
    "ticket_get",
    "user_get",
    "org_get",
    "ticket_create",
    "ticket_update",
    "reply_draft",
    "reply_send",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-haven-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-haven-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 3 (re-bench after H1 fix): 13/14 checks pass, 1 na (U1), 0 fail. H1 passes: presenting an api_token credential is refused with TOKEN_AUTH_NOT_IMPLEMENTED + the 2027-04-30 sunset date on all 10 tools \u2014 auth_status and receipt_list now call check_auth first and both schemas declare the auth property; the builder regression test (enumerating S.TOOLS) was independently replicated against a pre-fix copy, failing on exactly those 2 tools. Regression spot-checks H3 (visibility non-flattening), H4 (T2 cross-ticket/changeset replay), H5 (re-draft token kill) all pass unchanged. Run by W-003 (Verity), suites/haven.py. FAILED run-2 card (eclipse-haven-mcp-2026-10-25-2.json) retained in results/ per append-only history.",
    "not_tested": [
     "Any live Zendesk instance \u2014 C0 runs on synthetic fixtures shaped like REST API v2 responses; live connection is C1 against an owner-controlled instance (spec 12.5).",
     "Real OAuth grant flows (authorization code / client credentials) \u2014 the auth SHAPE is implemented and token auth is refused by construction; live grants need the owner's registered OAuth app at C1.",
     "Webhooks, incremental export, satisfaction-rating writes \u2014 not in the C0 surface.",
     "Feeding canonical records into Eclipse Muster live \u2014 the mapping shapes align with spec 5.1/12.3; cross-product ingest is a C1 bench item."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-haven-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-haven-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-haven-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-haven-mcp"
   }
  },
  {
   "id": "eclipse-orbit-mcp",
   "name": "Eclipse Orbit MCP",
   "tagline": "The HubSpot wrap: the vendor's server, under policy \u2014 classified tools, approval gates, masking, and receipts.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "CRM / Customer Service Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Governing proxy (the Eclipse WRAP posture) in front of HubSpot's official MCP server: policy, approval gates, masking, and receipts around the vendor's tools",
    "Pinned classification registry: unclassified vendor tools are invisible to clients; vendor T3 tools (delete, bulk) are classified but never surfaced in v1",
    "Drift defense: if a vendor tool's tier rises under the wrap, the proxy halts it and emits a notice receipt until an owner clears the halt by name",
    "T2 calls (ticket reply send, deal stage move) require approval tokens bound to the tool plus the exact arguments hash",
    "HubSpot custom objects are a declared OBJECT_GAP on every inventory view \u2014 absent from the vendor tool set and never reached around"
   ],
   "tools": [
    "vendor_tools",
    "vendor_refresh",
    "vendor_call",
    "halt_clear",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-orbit-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-orbit-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16/17 checks pass, 1 na (U1 auth: local stub vendor, no live credential). Run by W-003 (Verity), suites/orbit.py.",
    "not_tested": [
     "The real HubSpot MCP server (mcp.hubspot.com) \u2014 C0's vendor is a local stub shaped like its tool surface; the live wrap is C1 against an owner account (spec 11.5).",
     "Real OAuth 2.1 + PKCE connector flow and per-portal scope lists \u2014 recorded at live connection, not in C0.",
     "Free-tier tool parity of the vendor server \u2014 flagged [verify] in the spec for C1.",
     "Custom objects \u2014 declared OBJECT_GAP (absent from the vendor tool set); not reachable through Orbit by design (spec 11.4).",
     "Vendor drift against the REAL vendor inventory cadence \u2014 the drift rules are proven against stub fixtures (tier rise, added tool)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-orbit-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-orbit-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-orbit-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-orbit-mcp"
   }
  },
  {
   "id": "eclipse-voice-core-mcp",
   "name": "Eclipse Voice Core MCP",
   "tagline": "The Consent Registry and Number Registry every Eclipse telephony adapter obeys.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Voice & Telephony Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Consent Registry: provenance-bound consent records \u2014 a record without provenance is void, refused at write time, and receipted as a violation",
    "Revocation is one-way and effective at the next check on every adapter, because adapters hold no consent copies",
    "DNC overlays and calling windows as versioned, provenance-bearing datasets; windows evaluate in the subject's timezone; an unknown timezone denies marketing contact",
    "Number Registry: enrolled numbers only, each with A2P 10DLC / toll-free verification / STIR-SHAKEN / branded-ID registration state deciding sendability per channel and scope",
    "Send gate: consent first, then an Agent Wallet-shaped mandate (cap, allowlists, threshold, expiry); a send receipt is writable only with a consent_record_id \u2014 an unconsented attempt produces a violation record and nothing else"
   ],
   "tools": [
    "consent_check",
    "consent_record_write",
    "consent_revoke",
    "consent_history",
    "dnc_status",
    "window_check",
    "number_list",
    "number_get",
    "number_enroll",
    "number_health_report",
    "send_evaluate",
    "activity_emit",
    "kill_switch_set",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-voice-core-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-voice-core-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 19/20 checks pass, 1 na (U1 auth: stdio process boundary), 0 fail. Run by W-003 (Verity), suites/voice_core.py.",
    "not_tested": [
     "Live registry service form \u2014 V0 adapters share the core state file through core_engine (fixture seam, stated in README); production transport is V1 scope.",
     "Real DNC datasets and jurisdiction window contents \u2014 shipped fixtures are small provenance-bearing subsets; production contents ship only after the V1 counsel gate (spec 5.4/16).",
     "Any carrier account, live number, call, or text \u2014 none exists in V0."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-voice-core-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-voice-core-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-voice-core-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-voice-core-mcp"
   }
  },
  {
   "id": "eclipse-trunk-mcp",
   "name": "Eclipse Trunk MCP",
   "tagline": "The governed Twilio adapter: every call and text under consent + mandate.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Voice & Telephony Adapters"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Governed Twilio adapter: raw carrier operations are never exposed \u2014 a classified subset only",
    "V0 fixture form: Twilio-shaped log reads with numbers masked beyond last-4, simulated SMS sends, simulated human calls (a named human speaker is required; there is no AI voice in this adapter)",
    "Every send is gated through Eclipse Voice Core at check time: consent first, then the Agent Wallet-shaped mandate, then Number Registry sendability; the receipt carries the consent_record_id and the mandate verdict",
    "Recording-policy changes are Tier 3: a per-number confirm token is required every time",
    "Denylisted by construction: no emergency-services configuration, no caller-ID mutation, no number release"
   ],
   "tools": [
    "logs_read",
    "send_sms_sim",
    "place_call_sim",
    "number_search",
    "registration_status",
    "recording_policy_get",
    "recording_policy_set",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-trunk-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-trunk-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16/17 checks pass, 1 na (U1 auth: stdio process boundary), 0 fail. Run by W-003 (Verity), suites/trunk.py. Run 1 FAILED card retained in results/ \u2014 bench-suite self-defect (T4 absolute receipt count vs cumulative suite ledger), fixed and re-run clean as run 2; no product defect.",
    "not_tested": [
     "Live Twilio account actions \u2014 the vendor's official MCP surfaces (docs discovery + Labs execution server) are the V1 wrap targets; V0 ships against Twilio-shaped fixtures + a local stub only, and the build-time probe of which vendor surface executes is a V1 step (spec 12).",
     "Number provisioning and release \u2014 search only in V0; provisioning is T2 and release is T3 at V1 behind the owner account.",
     "WhatsApp / RCS channel consent inheritance \u2014 spec 12 flags per-channel verification at build; no channel beyond voice/SMS is modeled in V0."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-trunk-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-trunk-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-trunk-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-trunk-mcp"
   }
  },
  {
   "id": "eclipse-connect-mcp",
   "name": "Eclipse Connect MCP",
   "tagline": "The MCP face of the hosted OAuth bridge \u2014 agents upload to YouTube through a human-granted, revocable key, never raw OAuth.",
   "status": "dogfood",
   "listing_class": "mcp",
   "categories": [
    "Publishing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "MCP facade over the Eclipse Connect relay: connect account, grant status, upload video, publish video, revoke grant \u2014 5 tools over stdio",
    "Agents act through a revocable agent key, never raw OAuth tokens; the relay holds the grant",
    "Review-first enforced in the facade before any network call, and again at the relay: going public requires an explicit human approval flag",
    "The facade passes relay state through verbatim; it invents no status of its own",
    "Distinct bench surface from the relay: this facade is CERTIFIED(dogfood-facade); the relay (catalog: eclipse-connect) holds its own CERTIFIED(dogfood)"
   ],
   "tools": [
    "connect_account",
    "grant_status",
    "upload_video",
    "publish_video",
    "revoke_grant"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free \u2014 v0.1.0 dogfood; hosted tier planned",
   "page_url": "https://eclipsebazaar.com/products/eclipse-connect-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-connect-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(dogfood-facade)",
    "certified": true,
    "certified_scope": "CERTIFIED(dogfood-facade) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 14/15 checks pass, 1 na (U1 auth: vault surrogate stubbed). Run by W-003 (Verity), suites/connectfacade.py. Facade only \u2014 the relay holds its own CERTIFIED(dogfood) card (eclipse-connect).",
    "not_tested": [
     "Live relay / YouTube calls \u2014 transport stubbed at server.send (the product's single network seam); no live call made or claimed",
     "Vault surrogate credential attachment inside the real send() \u2014 stubbed out in this bench, not exercised"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-connect-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-connect-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-connect-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-connect-mcp"
   }
  },
  {
   "id": "eclipse-envoy-mcp",
   "name": "Eclipse Envoy MCP",
   "tagline": "The signed front door for agent-to-agent business: vetted in, tier-told, drafted \u2014 never bound without the owner.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent-to-Agent Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "One owner-approved identity source generates a signed corporate Agent Card (Eclipse Herald machinery, consumed by import \u2014 never forked): capabilities program-general behind a publication lint, VOSB carried as verifiable references, SAM status stated exactly as 'renewal submitted, activation pending'",
    "Counterparty vetting into risk tiers R0-R3: JWS verified against the domain's JWKS, domain anchoring, certification posture hash-matched to the presented card; typosquats get their own record + similarity flags and never touch the honest org's tier or disclosure history",
    "Disclosure Engine renders facts per tier (T-public; T-vetted rate-card SHAPE with no numbers; T-NDA behind an owner-entered NDA record whose ID every render must cite; T-mandate) with a per-fact disclosure log and one identical no-oracle refusal shape",
    "Engagements bind only by the three-key rule \u2014 owner approval record + Wallet-shaped mandate reference + Herald delegation reference; no tool on either surface signs, commits, or moves funds",
    "All inbound content quarantined as data under Herald Security Law #1; signed, replay-protected, room-isolated envelopes; kill switches and an attention budget \u2014 no counterparty action can directly create owner work"
   ],
   "tools": [
    "identity_get",
    "inquiry_open",
    "capability_exchange",
    "fact_request",
    "scope_draft_open",
    "scope_draft_revise",
    "scope_draft_get",
    "proposal_submit",
    "proposal_status",
    "room_send",
    "room_history",
    "attestation_submit",
    "counterparty_register",
    "counterparty_list",
    "counterparty_get",
    "disclosure_log_query",
    "tier_set",
    "nda_record_create",
    "waiver_create",
    "recognized_bench_add",
    "engagement_inbox",
    "proposal_pack_get",
    "proposal_decide",
    "engagement_attach_mandate",
    "engagement_attach_delegation",
    "binding_check",
    "mandate_fact_add",
    "room_get",
    "engagement_closeout",
    "kill_switch_counterparty",
    "kill_switch_global",
    "kill_switch_reinstate",
    "identity_publish",
    "identity_rotate_key",
    "identity_retire_key",
    "audit_review"
   ],
   "platforms": [
    "MCP over stdio (two capability records via ENVOY_SURFACE; hosted split at E1)"
   ],
   "pricing_model": "Free local v0.1; hosted E1 pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-envoy-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-envoy-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 17 pass, 1 na of 18 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/envoy.py. Runs 1-2 PARTIAL cards retained append-only (bench-suite defects); run 3 is the standing card.",
    "not_tested": [
     "Any live counterparty or hosted endpoint \u2014 E0 is fully offline against local fixtures (.example domains, fixture keys); E1 is owner-gated (hosting go, trademark screen, Herald root-key backup, cetech.ai flip).",
     "Card fetch from a counterparty's real well-known URL \u2014 E0's harness presents the card + the domain's JWKS as local files; the verification checks are the production checks, the fetch is the fixture seam.",
     "Herald gateway execution against real desk agents \u2014 E0 records Herald delegation REFERENCES for the three-key rule; live gateway delegation is Herald's own certified scope.",
     "Real Wallet mandate issuance \u2014 E0 records operator-entered Wallet-shaped mandate references; Envoy never mints mandates.",
     "Operator-channel authentication beyond process ownership (the standing U1 note) \u2014 E1 build decision with attributable-principal receipts required by spec 11.2.",
     "T-NDA fact contents are labeled E0 fixture placeholders; real T-NDA facts are human-authored into the identity source at E1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-envoy-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-envoy-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-envoy-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-envoy-mcp"
   }
  },
  {
   "id": "eclipse-fathom-mcp",
   "name": "Eclipse Fathom MCP",
   "tagline": "DeFi, measured honestly: signed protocol registry, dual-source risk reads, and an allowance audit that flags the unlimited grants.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "DeFi Risk & Execution-Policy Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Signed, versioned Protocol Registry (Uniswap/Aave/Compound/Lido across Ethereum/Arbitrum/Base): audit status as dated data with provenance, risk tiers, admin posture; addresses are never scraped live into trust and never copied from transaction history",
    "Position + Risk reads over a chain-transport seam: dual-source health and liquidation distance that render DIVERGENT instead of averaging when price sources disagree (bench-measured edge: 2.00% divergence still renders, 2.01% is DIVERGENT with headline fields null)",
    "Flagship allowance_audit: ERC-20 + Permit2 grants ranked by value at risk; unlimited grants flagged structurally; spenders Registry-resolved or labeled UNRESOLVED",
    "Address lookalike (poisoning) checks, depeg watch, and exposure by protocol/chain/risk tier",
    "D0 is reads only \u2014 no execution, draft, or signer tool exists; key-shaped input is a refused class (KEY_MATERIAL_REFUSED, incident-receipted, never echoed or stored); every output passes a lint banning advice language, yield promises, and safety claims"
   ],
   "tools": [
    "registry_list",
    "registry_get",
    "registry_verify",
    "position_read",
    "health_read",
    "depeg_watch",
    "allowance_audit",
    "address_check",
    "exposure_read",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-fathom-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-fathom-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16 pass, 1 na of 17 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/fathom.py. Run 1 PARTIAL card retained append-only (bench-suite defect); run 2 is the standing card. Non-failing bench observation: spender resolution in allowance_audit is chain-agnostic; chain-aware resolution recommended before D1 (queued as a bench note).",
    "not_tested": [
     "Live RPC reads \u2014 D0 ships ONLY the fixture transport behind the chain_adapter seam; no live chain was queried, and no live transport exists in this package. The seam + transport contract is the deliverable; a live transport must be implemented and benched before any read is called live.",
     "Seed Registry facts (contract addresses, audit firms/dates) are marked [verify] per entry for the first human release review; the release signature attests this seed file, not a completed re-audit.",
     "Execution, drafts, simulation, and signing (spec D1+) \u2014 no such code path exists in D0.",
     "Non-EVM chains and perps/bridge/vault chapters (D3) \u2014 out of D0 scope."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-fathom-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-fathom-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-fathom-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-fathom-mcp"
   }
  },
  {
   "id": "eclipse-codex-mcp",
   "name": "Eclipse Codex MCP",
   "tagline": "Banking regulation as data: a citation-exact library, a deadline engine, sanctions screening, and exam-evidence packs.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Banking Regulation & Compliance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Versioned Regulation Library: provision records are never overwritten, resolution is as of a date, and proposed (NPRM) text never resolves as a current obligation; Federal-Register-style change events surface as data, not prose conclusions",
    "Obligations Mapper (provision -> obligation -> control -> evidence); the CDD Rule duty (31 CFR 1010.230) and CTA BOI reporting (31 CFR 1010.380) are modeled as separate obligations the merge guard refuses to combine \u2014 and same-citation duplicates still merge",
    "Deadline Engine that distinguishes rule clocks from guidance cadences: SAR 30d/60-max, CTR 15d, Reg E windows can BREACH; the ~90-day continuing-activity cadence can be overdue and can never render as a breach",
    "Local sanctions screening against a synthetic SDN-shaped fixture list: MATCH_CANDIDATE / NO_MATCH with near-matches flagged, never silent; no auto-clear exists \u2014 dispositions are human acts, recorded verbatim with an officer reference required",
    "Evidence Packager with a MANDATORY gap section: gap suppression is refused and receipted as a violation; redactions require reason + actor, are receipted, and stay visible marked REDACTED on both surfaces",
    "Posture is product law: not a bank, not counsel, not a compliance department \u2014 the suite files nothing, determines nothing, and a banned-output lint quarantines any compliance-verdict language"
   ],
   "tools": [
    "library_search",
    "library_provision",
    "library_provision_add",
    "library_changes",
    "obligation_map",
    "obligation_coverage",
    "obligation_merge",
    "clock_rules",
    "deadline_compute",
    "clock_open",
    "clock_status",
    "clock_escalations",
    "clock_exceptions",
    "screen_list_info",
    "screen_lookup",
    "screen_disposition_record",
    "evidence_pack_build",
    "evidence_pack_redact",
    "evidence_pack_verify",
    "receipt_list",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec (per-institution + per-chapter shape, numbers owner-gated)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-codex-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-codex-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18 pass, 1 na of 19 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/codex.py. Run 1 FAILED retained (genuine product defect U5: clock_status on an unknown instance id returned a raw -32603; fixed class-wide via require_str_id plus a transport schema refusal, then re-benched clean). Run 2 FAILED retained (bench-suite assertion bound to the pre-fix refusal shape). Non-failing observation: a whitespace-only redaction reason is currently accepted (queued as a bench note).",
    "not_tested": [
     "Real provision corpus \u2014 R0 library carries public-domain-shaped FIXTURE records with real CFR citations; the live eCFR / Federal Register corpus and change-feed mechanics are R1 scope",
     "Real OFAC SDN / Consolidated list data \u2014 R0 screens against a SYNTHETIC fixture list shaped like the SDN list; no real list was downloaded",
     "A real institution \u2014 R0 runs against the synthetic Meridian Fictional Bank fixture only; first real use is the owner-gated R1 design partner, inside that institution's boundary, after counsel review (spec 22)",
     "Deadline values flagged [verify] in the spec (OFAC reporting clocks, per-charter SAR variants, CTR extension mechanics) \u2014 carried as fixture values with the flag visible in the rule record"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-codex-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-codex-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-codex-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-codex-mcp"
   }
  },
  {
   "id": "eclipse-ledger-mcp",
   "name": "Eclipse Ledger MCP",
   "tagline": "Eclipse Ledger \u2014 betting records, price comparison, and responsible-gambling controls. Not a sportsbook. No bets are placed here.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Betting Records & Responsible Gambling"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Limits engine with the industry's asymmetry built in: decreases apply immediately; increases wait out the stricter of the suite floor or the state's delay, then need a fresh confirmation or they lapse \u2014 no tool path exists that raises a limit, and a weakened policy file refuses to load",
    "Self-exclusion absolute and honored identically from any source: wagering surfaces deny EXCLUDED with the resource block attached; bookkeeping survives (settled pre-exclusion bets stay recordable \u2014 bench-adjudicated boundary); no early-end path exists",
    "Versioned jurisdiction matrix in which sportsbook, DFS-classic, and pick'em variants are distinct legal objects; staleness degrades verdicts to UNKNOWN-and-deny",
    "Unified ledger of the user's own bet records with honest cash P&L: bonus-bet stake is never cash (unsettled bonus valued at zero, stake-not-returned stated); headline P&L independently recomputed on the bench; pattern flags computed on ledger data only",
    "Fixture odds comparison ordered by price only, operator promotions stripped by construction; arb observations carry the books-limit-winning-accounts warning and execution_support: null",
    "Not a sportsbook. No bets are placed here. No placement tool, no account connection, and no credential is accepted anywhere \u2014 records enter only from the user's own exports and entries"
   ],
   "tools": [
    "profile_set",
    "profile_get",
    "limit_set",
    "limit_confirm",
    "limits_list",
    "timeout_start",
    "exclusion_start",
    "exclusion_end",
    "exclusion_status",
    "jurisdiction_check",
    "matrix_status",
    "bet_record_add",
    "records_list",
    "deposit_record_add",
    "pnl_summary",
    "reality_snapshot",
    "odds_compare",
    "arb_observe",
    "slip_prepare",
    "advice_request",
    "resources_get",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec (user-paid; no operator affiliate revenue in v1, owner decision D2)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-ledger-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-ledger-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 21 pass, 1 na of 22 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/ledger.py. Run 1 FAILED card retained (bench-suite probe-ordering defect; product behavior was correct); run 2 is the standing card. Verity adjudication A1 on the card: the settled-backfill exclusion boundary matches spec section 3.3 intent.",
    "not_tested": [
     "Any live odds feed \u2014 B0 odds are fixtures shaped like The Odds API v4 responses; no feed account exists and none was contacted (licensed signup is an owner step).",
     "Live-user operation of any kind \u2014 the spec's counsel gate (D4) precedes any live-user launch; B0 runs on synthetic records only.",
     "Real operator limit/exclusion sync \u2014 operator and state programs do not publish a consumer sync route; B0 honors user-declared + user-provided records identically (spec 3.3).",
     "Jurisdiction matrix freshness against live sources \u2014 B0 rows are fixture data as of 2026-10-25 with a 30-day TTL that degrades verdicts to UNKNOWN; a sourced refresh pipeline is a live-phase item.",
     "Placement (T2/T3) \u2014 no placement capability exists in v1 by design (spec 6); there is nothing to test because there is no such tool."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-ledger-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-ledger-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-ledger-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-ledger-mcp"
   }
  },
  {
   "id": "eclipse-till-mcp",
   "name": "Eclipse Till MCP",
   "tagline": "Bazaar checkout for agents \u2014 quote, mandate, signed entitlement, delivery, receipt, refund.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Marketplace Commerce"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The Bazaar purchase MCP \u2014 a separate server from the discovery Bazaar MCP, whose certified no-purchasing surface is untouched and never extended",
    "Quotes bind catalog hash + pricing version + terms hash and state the all-in total (price + rail fee + tax as stated); the refund policy renders inside the quote before payment and is hashed into both receipts; a SKU with no pricing record is unbuyable (PRICING_NOT_SET) and an unknowable tax component blocks the quote by name",
    "Mandate gate in fixed order \u2014 authenticity, cap vs ALL-IN (a 25.00 item against a 25 cap refuses: fees make it 25.72), merchant/SKU allowlist, expiry/revocation, approval threshold \u2014 every refusal by name; cross-quote replay refused, same-quote retry idempotent",
    "Over-threshold purchases park in AWAITING_BUYER_APPROVAL, releasable only by the same buyer identity; no nudge, countdown, or pressure verb exists on either surface",
    "Herald-shape signed entitlements: buyer-bound (wrong presenter refused by name), offline-verifiable, revocable with a receipted reason; two-sided hash-chained receipts share one settlement reference",
    "Non-delivery is a state machine: miss the delivery window and refund + entitlement revocation + cap restoration fire automatically on a plain status read \u2014 no seller override verb exists; related-party purchases settle flagged and are excluded from ranking inputs",
    "B0 is sandbox test credits only (value_class: test on every artifact); no Stripe or x402 code exists in the build; real rails are B1, owner-gated",
    "Ads Rail P1 (test mode) extension: a separate ads_server.py surface enforces a Herald-signed budget mandate at charge time \u2014 card binding, freeze state, snapshot ceilings derived from the signed mandate, and all-in headroom \u2014 with the decision and reservation durably recorded before the webhook responds; captures, reversals, and settlements reconcile into the same evidence chain. Stripe TEST MODE ONLY (local simulator in this environment); live-mode keys refuse startup in code. NOT PROVEN IN STRIPE."
   ],
   "tools": [
    "catalog_price",
    "quote_get",
    "purchase_execute",
    "buyer_approve",
    "purchase_status",
    "entitlement_list",
    "entitlement_verify",
    "delivery_status",
    "refund_request",
    "receipt_get",
    "sku_pricing_set",
    "sales_ledger_read",
    "entitlement_revoke",
    "dispute_pack_get",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1 (B0 sandbox); marketplace take is a B3 design item (85/15 creator split requires owner confirmation, spec D3)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-till-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-till-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 23 pass, 1 na of 24 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/till.py. Run 1 PARTIAL card retained append-only (bench-suite defects); run 2 is the standing card; zero product defects. Benched against a bench-owned catalog and bench-minted buyer cards/mandates (the builder's fixtures were never used). Ads Rail P1 extension: CERTIFIED(local/simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 100/100 on the scoped D1\u2013D4 re-bench (scorecard eclipse-till-mcp-2026-10-25-3.json; 31/31 re-bench checks pass; the original PARTIAL 76/100 frame is retained in the card's provenance note). The rail is Stripe TEST MODE ONLY, runs against the labeled local simulator in this environment, and is NOT PROVEN IN STRIPE: no Stripe test account was wired, W2 is not proven, and no card was attached to any ad platform.",
    "not_tested": [
     "Real payment rails \u2014 B0 settles on the sandbox test-credit ledger only; Stripe (card) and x402 rails are B1, owner-gated with a counsel note; no Stripe/x402 code exists in the B0 build (the Ads Rail P1 extension adds Stripe TEST MODE code only; see the extension note)",
     "Live Bazaar catalog join \u2014 B0 ships a 7-SKU fixture subset modeled on bazaar-mcp/catalog.json; the discovery MCP is read as data only, never extended or written",
     "Third-party sellers (B3) \u2014 certify-before-you-sell gates, seller vetting, 85/15 split computation, and seller payout/tax operator processes are spec'd, not built; B0-B2 are first-party only",
     "Auth enforcement beyond the stdio process boundary (bench U1 class) \u2014 buyer identity is cryptographic (Herald-shaped cards + signed mandates), operator verbs require the fixture operator token; hosted transport auth is a B1 design item",
     "Ads Rail in Stripe itself \u2014 NOT PROVEN IN STRIPE: no Stripe test account exists in this environment, so the rail's proof is against its labeled local simulator plus the code path that activates only with a Stripe test key; W2 (real Stripe sandbox behaviour) remains unproven and the live gate stays blocked.",
     "Live Stripe Issuing, real-money funding, and ad-platform card attachment \u2014 not built or attempted; the test-mode fence refuses live-mode keys at startup."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-till-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-till-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-till-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-till-mcp"
   }
  },
  {
   "id": "eclipse-book-mcp",
   "name": "Eclipse Book MCP",
   "tagline": "Market data + venue access layer \u2014 not an exchange: one book, one fee truth, one ledger of record.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Markets / Exchange & Prediction-Market Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Descriptor: market data + venue access layer \u2014 not an exchange. One canonical Instrument / Book / Quote / Order / Position / Resolution model across exchanges and prediction markets; venue adapters translate and never improvise",
    "Resolution criteria stored verbatim and hash-pinned: a venue criteria edit is a CRITERIA_CHANGED event, and positions keep the criteria as of entry",
    "Fee truth: quotes carry all-in buy/sell cost for a stated size from versioned, provenance-stamped fee schedules; a stale or missing schedule degrades all-in fields to FEE_UNVERIFIED rather than quoting a wrong number",
    "Resolution lifecycle REPORTED -> VERIFIED only against the criteria's own named source; DISPUTED is first-class and blocks verification until cleared",
    "The probability law enforced in code: no output ever carries a probability field \u2014 a runtime guard refuses probability-shaped keys in any carrier; outputs carry price + liquidity flag + depth + criteria reference; unmapped native statuses surface as UNMAPPED with the native string preserved",
    "M0 is data only: no accounts, no keys, no order submission at any tier; order_draft is an unsubmitted record whose mandate pre-evaluation is honestly NOT_EVALUATED"
   ],
   "tools": [
    "instrument_ingest",
    "instrument_get",
    "instrument_search",
    "book_ingest",
    "quote_get",
    "fee_schedule_register",
    "fee_schedule_get",
    "position_open",
    "position_list",
    "position_get",
    "resolution_report",
    "resolution_verify",
    "resolution_get",
    "order_draft",
    "order_get",
    "venue_status",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-book-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-book-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 16 pass, 1 na of 17 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/book.py. Non-failing bench observation: the probability-field guard runs post-commit (a poisoned instrument persists in state; every read of it fails closed) \u2014 pre-commit move queued for M1 hardening.",
    "not_tested": [
     "Live venue reads of any kind \u2014 M0 contains no network code path; adapters run against fixtures shaped like the real public API responses behind a transport seam. Live public-read verification is a later M0-exit step.",
     "Order placement, account reads, and the Wallet mandate gate \u2014 M2/M1 scope, owner-gated (spec 18, decision D3). M0 order_draft records an unsubmitted DRAFT with mandate_pre_eval NOT_EVALUATED; no submission path exists.",
     "Fee schedules as live data \u2014 shipped schedules are fixture-shaped records with provenance labels saying so; the live fetch + account-specific tier provenance lands with the adapters' live step.",
     "Kalshi / Polymarket US / Kraken / Binance.US / Alpaca chapters \u2014 specced (suite spec 10-12), not built in M0."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-book-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-book-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-book-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-book-mcp"
   }
  },
  {
   "id": "eclipse-forecast-mcp",
   "name": "Eclipse Forecast MCP",
   "tagline": "The Polymarket adapter: the venue's prices, with their criteria and liquidity attached.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Markets / Prediction-Market Adapters"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The Polymarket adapter of the Eclipse Markets suite (Wing B), in M0 data form: Gamma-shaped data normalizes into Eclipse Book canonical Instruments, with token/outcome mapping pinned from the venue's own arrays",
    "Resolution criteria verbatim + hash-pinned: a criteria edit on re-sync fires CRITERIA_CHANGED and positions keep criteria as of entry; UMA-shaped resolutions enter the core lifecycle with DISPUTED first-class",
    "Fee-truth quotes from the venue's dated fee schedule (stale schedule degrades to FEE_UNVERIFIED); liquidity flags are honest at the boundary; every output carries money_class: REAL",
    "The US trading surface is ABSENT by design: no order, trade, account, or API-key tool exists, and geoblock-circumvention-shaped tool names are refused by name",
    "The forecast is the venue's priced output, never Cyan Eclipse's prediction; no output carries a probability field"
   ],
   "tools": [
    "forecast_sync",
    "market_list",
    "market_get",
    "book_get",
    "quote_get",
    "resolution_get",
    "venue_status",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-forecast-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-forecast-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13 pass, 1 na of 14 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/forecast.py.",
    "not_tested": [
     "Live Gamma / CLOB public reads \u2014 M0 runs against fixtures shaped like the real public API responses behind a transport seam (load_fixtures); the live public-read transport is a later verification step.",
     "Polymarket US (QCX) data or trading \u2014 a separate CFTC-designated venue with its own chapter (spec 12.1), M2+ phase; Global and US data never blend in one Quote.",
     "UMA oracle state beyond the fixture set \u2014 dispute windows/finalization tracked as fixture-shaped Resolution records in M0.",
     "Any trading surface \u2014 absent by design (Grade X for US persons, spec 4.2/8.2); nothing to test because the capability does not exist."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-forecast-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-forecast-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-forecast-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-forecast-mcp"
   }
  },
  {
   "id": "eclipse-strike-mcp",
   "name": "Eclipse Strike MCP",
   "tagline": "The Coinbase exchange adapter: spot products and books, normalized into the suite's one book.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Markets / Exchange Adapters"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The Coinbase exchange adapter of the Eclipse Markets suite (Wing A), in M0 public-data form: products and level-2 books normalized through the Eclipse Book core \u2014 the same canonical builders Forecast uses, so cross-adapter parity is bench-proven",
    "Coinbase ships official MCPs (account trading, wallet, CDP); Strike re-implements none of them \u2014 it is the public-data adapter only, and vendor account-MCP verb shapes are refused by name; account paths are an M1+ governed wrap behind vault credentials and the core placement gate",
    "Native product statuses the core vocabulary does not map surface as UNMAPPED with the native string preserved, never coerced",
    "Quotes carry all-in cost from the venue's dated fee schedule; a stale schedule degrades to FEE_UNVERIFIED while the price itself still serves",
    "No account tools exist in this build"
   ],
   "tools": [
    "product_list",
    "product_get",
    "book_get",
    "quote_get",
    "venue_status",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; family pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-strike-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-strike-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 13 pass, 1 na of 14 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/strike.py. Run 1 PARTIAL card retained append-only (bench-suite parity assertion defect); run 2 is the standing card.",
    "not_tested": [
     "Live Coinbase public reads \u2014 M0 runs against fixtures shaped like the real public product/book responses behind a transport seam (load_fixtures); live public-read verification is a later step.",
     "Account anything \u2014 Coinbase's official account MCP exists and Strike's account posture is a governed WRAP of it (spec 10.1), M1+ scope. No account tool exists in this build; the vendor's Wallet/CDP MCP surfaces are other suites' chapters and are out of scope here.",
     "Account-specific fee tiers \u2014 M0 uses the public schedule shape, labeled as such; the account's own reported rates supersede at M1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-strike-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-strike-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-strike-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-strike-mcp"
   }
  },
  {
   "id": "eclipse-meter-mcp",
   "name": "Eclipse Meter MCP",
   "tagline": "Cross-provider agent spend analytics \u2014 one ledger for tokens, tools, and payments.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Spend Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Cross-provider agent spend analytics: ingests cost records from provider-shaped sources (v0 fixture adapters for model-API usage logs, Agent Wallet ledger exports, Eclipse Till receipt exports) into one signed cost-record schema",
    "Every record ECDSA-signed at ingest and hash-chained, carrying source, provenance, adapter version and methodology version; attestation exports verify offline with the public key only",
    "Retry attribution is a first-class field: retry records cite parent_call_ref, so the orchestration/retry share of spend is computed from links, not estimated; orphan retries degrade honestly (parent_resolved=false), never dropped",
    "Rollups by agent/provider/category/period with Decimal totals kept per-unit \u2014 USD and test credits never comingled; caller-injected units cannot enter a rollup; unmappable kinds render UNMAPPED with the native label preserved",
    "Budget posture against owner-stated budgets is arithmetic only (80%/100% boundaries verified); a figure without a methodology_version is refused at render (spec L8)",
    "Meter REPORTS and never blocks (cluster law L3): no block, freeze, pay, or policy verb exists in the package \u2014 enforcement is Tripwire's product, mandates are the Wallet's. v0 is local, fixture-transport only; live ingest is NOT built"
   ],
   "tools": [
    "meter_ingest",
    "cost_record_list",
    "spend_rollup",
    "budget_posture",
    "cost_attest_get",
    "adapter_list",
    "receipt_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-meter-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-meter-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 19 pass, 1 na of 20 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/meter.py. Run 1 PARTIAL card retained append-only (bench-suite self-defect in the M11 hash assumption, disclosed on the card); run 2 is the standing card; zero product defects. N-CHECK passed: signed records verify offline with the exported pubkey only. Two non-failing observations on the card: the export verify_note omits signer_fingerprint from its signed-body description, and provenance raw_hash covers raw + an internal index (internally consistent, not recomputable from the stored raw alone).",
    "not_tested": [
     "Live provider ingest \u2014 NOT built. v0 ships the fixture transport only (named fixture batches + inline records through the same seam); each adapter's live form requires the operator's own credentials and a per-adapter go (spec \u00a75.5). A live transport must be implemented and benched before any ingest is called live.",
     "Dogfood wiring \u2014 the dispatcher/worker spend ingest (cluster law L10: CETech's own agent spend as the first real source) is a LATER step and is not wired in v0; no own-spend claim is made from this build.",
     "Hosted / multi-tenant analytics \u2014 later phase, separate spec delta (spec \u00a75.1).",
     "Production signing-key custody \u2014 v0 signs with a local seed key (keys/, gitignored, chmod 600); custody is a gated decision, Fathom D0 precedent.",
     "Hosted/multi-tenant operation and auth beyond the stdio process boundary (bench U1 class)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-meter-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-meter-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-meter-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-meter-mcp"
   }
  },
  {
   "id": "eclipse-tripwire-mcp",
   "name": "Eclipse Tripwire MCP",
   "tagline": "Runaway enforcement \u2014 spawn, loop, and spend-velocity detection with automatic mandate freeze.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Spend Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The enforcement half of the Eclipse money layer (Meter reports; Tripwire blocks \u2014 cluster law L3): four deterministic detectors \u2014 spend velocity, loop/retry-storm signature, spawn count, cap-approach trajectory \u2014 over recorded Meter/Wallet-shaped event streams",
    "Same stream + rule version replays to identical verdicts, actions, and evidence-pack hashes in separate processes (byte-identical, bench-proven)",
    "Rules are versioned and append-only, default to alert-only; auto-freeze fires only on rules the owner explicitly armed",
    "A freeze engages the sandbox Agent Wallet kill switch, then is verified by re-reading the Wallet: only a verified freeze records FROZEN_CONFIRMED; a lying backend yields FREEZE_UNCONFIRMED plus a critical owner page stating the agent is NOT confirmed stopped",
    "Every action carries a complete hash-bound evidence pack (rule version + triggering events + measured values) and writes a hash-chained receipt; the agent read surface exposes tripwire_status only, thresholds stripped",
    "v0 is sandbox-only: fixture streams, the sandbox Wallet, test USDC; live-rail freeze inherits the Wallet P3 gate wholesale"
   ],
   "tools": [
    "tripwire_wallet_bind",
    "tripwire_rule_set",
    "tripwire_arm",
    "tripwire_disarm",
    "tripwire_ingest",
    "freeze_now",
    "unfreeze",
    "tripwire_events",
    "tripwire_status"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; incident-response packaging is a commercial decision, not a v0 surface (spec 6.5)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-tripwire-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-tripwire-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18 pass, 1 na of 19 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/tripwire.py. Run 2 FAILED (T10: a within-batch duplicate event_id was stored twice and double-counted by the velocity detector) and run 1 PARTIAL cards retained append-only; the defect is fixed, the class closed (single validator call site, verified by source reading), and run 3 is the standing card. Novelty (NV) proven: verified actuation distinguishes Tripwire from logging/observability tools. Two detector evasions (signature-split loops, paced spawn fan-out) are documented SPEC NOTEs, unchanged by design.",
    "not_tested": [
     "Live-rail freeze \u2014 v0 acts on the sandbox Agent Wallet only; freezing a live mandate inherits the Wallet P3 gate wholesale (spec 6.5)",
     "Live event streams \u2014 v0 consumes recorded fixture streams shaped as Meter cost records and Wallet events; no live Meter ingest exists (Meter itself is fixture-form at v0)",
     "External paging channels (SMS/push) \u2014 owner pages are notification records + receipts in v0; channel integrations are a later phase (spec 6.1)",
     "Cluster 1 Lineage feed for spawn counts \u2014 v0 spawn detection runs over declared spawn events in-stream; the Lineage join lands when Lineage is built",
     "Hosted/multi-tenant operation and auth beyond the stdio process boundary (bench U1 class)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-tripwire-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-tripwire-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-tripwire-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-tripwire-mcp"
   }
  },
  {
   "id": "eclipse-umbra-mcp",
   "name": "Eclipse Umbra MCP",
   "tagline": "The closed-vocabulary witness: cross-registry lookalike and endpoint-change watch, findings as signed evidence \u2014 never accusations.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity & Trust"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Cross-registry lookalike, typosquat, and silent-endpoint-change watch for agent identities: imports registry snapshots (content-addressed; listings treated as untrusted data), diffs consecutive snapshots, and computes confusable-skeleton similarity against operator watchlists",
    "The skeleton is case-aware (capital I confuses with l; lowercase i does not) and every similarity record carries its algorithm, both claim refs, and the exact confused characters, so anyone can recompute it",
    "Findings issue ONLY in a closed state vocabulary (CONSISTENT / CHANGED / DIVERGED / UNREACHABLE / EXPIRED / REVOKED_BY_ISSUER / DISPUTED / UNRESOLVED), each backed by a complete reproducible evidence pack \u2014 an incomplete pack is refused by name (EVIDENCE_PACK_INCOMPLETE)",
    "Findings are signed under a C1 findings key structurally distinct from the Herald root identity key; wrong-key and tampered-body verification fail",
    "A subject's rebuttal is stored as subject-presented data and linked; the original finding stays byte-unchanged and a DISPUTED version supersedes it; accusation vocabulary is banned at render by the output lint",
    "No enforcement capability at any tier: no delist, block, takedown, or report-to-registry verb exists (T3 is EMPTY) and the denylist is refused at the transport. v0 is snapshot-import only; live crawling is gated per registry (G-LIVE) and NOT built"
   ],
   "tools": [
    "snapshot_import",
    "watchlist_set",
    "diff_run",
    "similarity_scan",
    "finding_issue",
    "finding_get",
    "finding_list",
    "finding_verify",
    "rebuttal_file",
    "receipt_list",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; watch-bulletin + hosted monitoring pricing TBD per spec (owner-gated, G-REG/G-OWNER phases)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-umbra-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-umbra-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 18 pass, 1 na of 19 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/umbra.py. Run 1 PARTIAL card retained append-only (bench-suite assertion defect, disclosed on the card; no product code touched); run 2 is the standing card; zero product defects. N-CHECK: NOVELTY_PROVEN \u2014 a closed-vocabulary witness: signed findings with reproducible evidence packs and rebuttal linkage, not diffs. Non-failing observation on the card: punycode-shaped domains are not IDNA-decoded by the skeleton engine; IDNA-decode is recommended before G-LIVE.",
    "not_tested": [
     "Live registry observation \u2014 v0 imports snapshots only; live crawling is G-LIVE per registry (spec 5.6) and is NOT built",
     "Distribution of findings (T2 watch bulletins) \u2014 operator-mediated until G-REG + G-COUNSEL per spec chapter 7",
     "Real registry snapshots \u2014 v0 benches against fixture registries shaped like real exports; no real registry was contacted",
     "Findings-key rotation/revocation distribution via Eclipse Revoke \u2014 Revoke is a later C1 chapter; rotation is rehearsed at the key-file level only"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-umbra-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-umbra-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-umbra-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-umbra-mcp"
   }
  },
  {
   "id": "eclipse-test-bench",
   "name": "Eclipse Test Bench",
   "tagline": "The certification harness behind every verdict on this shelf \u2014 productizing as a standalone tool for MCP server builders.",
   "status": "in-development",
   "listing_class": "tool",
   "categories": [
    "Certification & Testing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The working harness that produced every scorecard in the Eclipse fleet: per-product suites run over the wire against bench-owned fixtures \u2014 the builder's own fixtures are never used as bench evidence",
    "Adversarial by design: homoglyph typosquats minted by the bench itself, lying backends, duplicate-event batches, schema fuzzing generated from declared tool schemas, no-oracle error comparisons",
    "Verdicts are scoped and append-only: FAILED and PARTIAL cards are retained, never overwritten; bench-suite self-defects are disclosed on the card they affected",
    "Runs in-house today against the whole Cyan Eclipse catalog; productization as a downloadable CLI + hosted run service is slate item T1 \u2014 the paid tier (a Verity-run certification carrying the Cyan Eclipse Certified seal) is an owner decision, not yet offered"
   ],
   "tools": [],
   "platforms": [
    "CLI (local)",
    "hosted run service (planned)"
   ],
   "pricing_model": "planned \u2014 free self-run; paid Verity-run certification is an owner pricing decision (slate T1), not yet offered",
   "page_url": "https://eclipsebazaar.com/products/eclipse-test-bench/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-test-bench.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Standalone product certification \u2014 this is a real in-house artifact being productized (connectors/tools slate T-series); no Test Bench card exists for it as a standalone product yet, and none is claimed"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-stocktake",
   "name": "Eclipse Stocktake",
   "tagline": "Catalog / manifest / storefront consistency auditor \u2014 the drift checker that keeps this Bazaar at drift=0, productizing as a CLI + CI tool.",
   "status": "in-development",
   "listing_class": "tool",
   "categories": [
    "Certification & Testing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "One source of truth (the scorecard ledger) checked against every surface that repeats a verdict: catalog entries, product manifests, README tables, storefront bench lines",
    "Machine-safe fields sync automatically; prose stays human-owned and is verified, never rewritten",
    "Runs at every Eclipse publish pass \u2014 passes 1\u20134 all closed at drift=0; the discipline is the product: a catalog that contradicts itself is a defect, not a typo",
    "Productizing as slate item T4 (CLI + CI action); runs in-house today as bazaar-mcp/sync_verdicts.py"
   ],
   "tools": [],
   "platforms": [
    "CLI (local)",
    "CI action (planned)"
   ],
   "pricing_model": "planned \u2014 one-time purchase + CI seat (slate T4); not yet offered",
   "page_url": "https://eclipsebazaar.com/products/eclipse-stocktake/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-stocktake.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Standalone product certification \u2014 this is a real in-house artifact being productized (connectors/tools slate T-series); no Test Bench card exists for it as a standalone product yet, and none is claimed"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-press",
   "name": "Eclipse Press",
   "tagline": "Agent-native static-site publish pipeline \u2014 R2-shelf publishing with zip-permission and timestamp forensics baked in; runs both production sites today.",
   "status": "in-development",
   "listing_class": "tool",
   "categories": [
    "Publishing Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "The pipeline that publishes thewhitereport.com and eclipsebazaar.com: builds deploy zips with normalized permissions (dirs 755 / files 644 \u2014 the GoDaddy 403 lesson, encoded) and real file mtimes (the PHP opcache staleness lesson, encoded)",
    "Publishes to an R2 shelf with a signed manifest; the server-side cron pulls and verifies \u2014 shelf manifest listing is checked after every publish",
    "Overwrite-only sync discipline: hand-maintained repo-only files are never deleted by a publish",
    "Productizing as slate item T3; runs in production in-house today as deploy-pipeline/publish.py \u2014 the hosted tier is later"
   ],
   "tools": [],
   "platforms": [
    "CLI pipeline (local)"
   ],
   "pricing_model": "planned \u2014 one-time purchase; hosted tier later (slate T3); not yet offered",
   "page_url": "https://eclipsebazaar.com/products/eclipse-press/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-press.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Standalone product certification \u2014 this is a real in-house artifact being productized (connectors/tools slate T-series); no Test Bench card exists for it as a standalone product yet, and none is claimed"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "herald-card-kit",
   "name": "Herald Card Kit",
   "tagline": "Agent Card issue/verify toolkit \u2014 the Herald JWS card tooling (cards.py, jwscore.py) productizing as a CLI + library for A2A builders.",
   "status": "in-development",
   "listing_class": "tool",
   "categories": [
    "Agent-to-Agent Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Issue and verify signed A2A Agent Cards offline: the same cards.py / jwscore.py tooling the Eclipse Herald MCP runs in production shape",
    "Offline verification with receipts \u2014 a card checks out (or doesn't) without calling home",
    "Productizing as slate item T7; the tooling runs in-house today inside eclipse-herald-mcp \u2014 the Herald MCP server itself stays an MCP-class listing; this is its artifact-form toolkit"
   ],
   "tools": [],
   "platforms": [
    "CLI (local)",
    "library"
   ],
   "pricing_model": "planned \u2014 free; paid support tier later (slate T7); not yet offered",
   "page_url": "https://eclipsebazaar.com/products/herald-card-kit/",
   "logo_url": "https://eclipsebazaar.com/logos/herald-card-kit.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Standalone product certification \u2014 this is a real in-house artifact being productized (connectors/tools slate T-series); no Test Bench card exists for it as a standalone product yet, and none is claimed"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-blackbox-mcp",
   "name": "Eclipse Blackbox MCP",
   "tagline": "The record that survives the agent: append-only, recorder-signed, and graded by proof \u2014 never by claim.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Oversight & Forensics"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Tamper-evident flight recorder for agent actions: an append-only, hash-chained record store signed at ingest by a recorder-held key the recorded agent never touches",
    "Credential shape is the security model: agents hold per-agent submission credentials (append-only, own name only); the owner credential reads, verifies and exports but cannot append \u2014 the recorded agent cannot read, grade, or rewrite its own record; auth is not an oracle (unknown id and wrong secret refuse byte-identically)",
    "The recorder assigns sequence, timestamps, chain hashes and the evidence grade from proof state \u2014 E-SIGNED (live append), E-CHAINED (verified agent-side chain anchor), E-CLAIMED (imported assertion, rendered as a claim forever); a submitter-supplied grade is refused by name in every mode",
    "Skipped submission sequences are receipted by the recorder itself as signed INGEST_GAP events; claims about never-submitted actions surface in coverage as claimed-not-submitted next to the gap, and a claim contradicting a live record flags a conflict naming both sequences \u2014 winner unpicked",
    "Mandate refs are recorded as refs; a missing one renders NO_MANDATE_RECORDED, never an inference. There is no update, delete or redact verb at any tier, and export packs verify standalone offline",
    "Cluster 3 law binds: evidence only \u2014 no insurability verdicts, no safety verdicts, no root-cause conclusions (banned output classes quarantined at render). v0.1 is a local single-store recorder; the hosted multi-tenant recorder is owner-gated (G-C3-1) and not built"
   ],
   "tools": [
    "record_append",
    "record_verify_chain",
    "record_read",
    "record_export_pack",
    "record_status"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; hosted recorder pricing TBD per spec (gate G-C3-1)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-blackbox-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-blackbox-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 22 pass / 0 fail / 0 na of 22 checks. Run by W-003 (Verity), suites/blackbox.py, against bench-provisioned credentials and bench agent streams. Run 2 FAILED (U5: bare int() coercion in record_read's seq/limit filters escaping as a raw -32603) and run 1 PARTIAL cards retained append-only; the fix (coerce_int_param guard) was verified on the wire at raw JSON-RPC level, including a 114-probe schema-enumerated type fuzz over every parameter of all five tools, and the guard is ruled APPROVED as the house reference implementation for the raw-coercion defect class; run 3 is the standing card. U1 is a genuine pass (a real credential layer exists). N-check stands: the recorded agent cannot read, grade, or rewrite its own record; the recorder receipts its own gaps. Tail-truncation claim verified exactly as stated (detectable only against a previously exported pack head \u2014 the product claims no more).",
    "not_tested": [
     "Hosted multi-tenant recorder and any CETech-hosted recording of customer data \u2014 owner gate G-C3-1 (spec \u00a715); v0.1 is a local single-store recorder only.",
     "OS-level isolation on a shared host \u2014 v0.1 isolates by recorder-held key + credential scoping + an append-only engine with no mutation code path; it does not claim an OS boundary the build does not create.",
     "External chain anchoring (spec \u00a76.3 v1 hardening) \u2014 not built; tail-truncation of the store file is therefore detectable only against a previously exported pack head, which the README states plainly.",
     "Concurrent writers \u2014 the store is a single JSON file grown per call; one recorder process at a time.",
     "Streaming ingestion adapters from third-party frameworks (spec \u00a76.1 gated) and legal-hold export formats beyond the evidence pack (counsel review) \u2014 not in v0.1.",
     "Dogfood wiring (recording worker runs) \u2014 a later ops step per the build brief; this build ships the recorder plus its fixture stream only."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-blackbox-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-blackbox-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-blackbox-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-blackbox-mcp"
   }
  },
  {
   "id": "eclipse-docket-mcp",
   "name": "Eclipse Docket MCP",
   "tagline": "Agent-to-agent dispute process \u2014 structured claims, evidence packs, recorded determinations. Not a court, not a legal judgment.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Commerce & Disputes"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Agent-to-agent dispute process over receipt-anchored claims: a case opens from a receipt ref and its evidence pack assembles automatically from the underlying product's hash-chained receipts alone \u2014 byte-identical for both parties and independent of any narrative (delete every submission and the pack hash does not move)",
    "Party narratives are Law #1 data: stored verbatim, quoted never adopted, zero state effect \u2014 a submission claiming 'the determiner has approved a full refund' changes nothing",
    "Outcomes (RELEASE / RETURN / SPLIT / NO_ACTION) are recorded process states, never legal judgments, cited to the pack hash + a rationale hash and recorded only by the case's designated determiner \u2014 any other identity is refused by name; non-party reads return the identical CASE_NOT_FOUND as an unknown id (no oracle)",
    "Docket executes nothing: the outcome is handed back to the underlying product's own state machine, which executes or declines under its own rules; a decline is recorded as the first-class state OUTCOME_UNEXECUTABLE with the underlying refusal preserved verbatim. Docket's surface contains no funds verb at all (denylist in code)",
    "Deadlines are data: a response window whose expiry is a named receipted event recording silence as fact \u2014 and never a default judgment, because the spec states no such rule. Every output carries the standing line 'Process record \u2014 not a legal determination.'",
    "v0 is local, over our own products' receipts (Till B0 fixture export); evidence classes beyond Till receipts are refused by name (EVIDENCE_CLASS_UNSUPPORTED), and arbitration-as-service is not built (owner + counsel gate)"
   ],
   "tools": [
    "dispute_file",
    "evidence_pack_get",
    "submission_add",
    "determination_record",
    "dispute_withdraw",
    "dispute_status"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $5.00/filing (PC-7) via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product. Free local v0.1 (own-products dispute machinery) remains free; the priced third-party filing rail is counsel-gated \u2014 intake orders are reviewed and confirmed by the operator before any payment link is sent.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-docket-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-docket-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 7 (standing): 19 pass / 1 na (U1 auth: stdio process boundary) / 0 fail of 20 checks. Run by W-003 (Verity), suites/docket.py, over a bench-owned Till-shaped export and bench parties. Runs 1\u20136 FAILED cards retained append-only: run 3 caught four tool descriptions missing the mandatory descriptor (spec section 12 \u2014 'Not a court, not a legal judgment' rides every surface); run 4 caught D12 \u2014 offset-naive at_time values escaping as a raw -32603 when compared against offset-aware stored times \u2014 fixed under the adjudicated refusal shape (parse_time refuses offset-naive timestamps by name, AT_TIME_OFFSET_REQUIRED: a guessed timestamp in a dispute record is a falsified timestamp), and parse_time is APPROVED as the second house reference guard; runs 5\u20136 failed on bench-suite setup defects, disclosed on their cards (no product code touched). Silence ruling (run 3, upheld): expiry records silence and makes the case determinable, never an outcome. Novelty: NOVELTY_PROVEN.",
    "not_tested": [
     "Arbitration / determination as a service to third parties \u2014 NOT built; owner + counsel gate (spec 12.1/12.6). v0 determinations run over our own products' receipts only",
     "Evidence classes beyond Till receipts (Escrow jobs, Wallet payments, Toll metering counts, TrueVolume attestations) \u2014 spec'd in section 12.1, not built; v0 refuses other classes by name (EVIDENCE_CLASS_UNSUPPORTED)",
     "Live hand-back transport \u2014 the outcome hand-back in v0 executes against till_stub.py, a labeled fixture stand-in for Till's refund machine applying Till policy-as-code to its own mirror ledger; no live Till process is called",
     "Auth enforcement beyond the stdio process boundary (bench U1 class) \u2014 party scoping is by Herald card hash presented per call; hosted transport auth is a later design item"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-docket-mcp-2026-10-25-7.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-docket-mcp-2026-10-25-7.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-docket-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-docket-mcp"
   }
  },
  {
   "id": "eclipse-countermark-mcp",
   "name": "Eclipse Countermark MCP",
   "tagline": "One verification call for third-party agent cards and payment mandates \u2014 a receipted verdict a merchant can rely on, across formats.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "One verification call for presented agent cards and payment mandates across formats, returning a signed finding in the closed vocabulary CONSISTENT / DIVERGED / EXPIRED / REVOKED_BY_ISSUER / UNRESOLVED",
    "Every verdict enumerates the checks actually performed and carries provenance for the artifact hash, key source, and revocation-feed epoch; presented-only artifacts cap at UNRESOLVED",
    "Mandate checks bind structure, signature, expiry, amount, scope, cart, and counterparty to the presented cart \u2014 a valid signature on the wrong cart still lands DIVERGED",
    "Instruction-like content inside artifacts is quarantined as data (hash only, never echoed) and never instructs the verifier; findings supersede, never edit",
    "Verification only: no approve_transaction, release_funds, trust_score, or mark_trusted surface exists. v0.1 is local over fixture issuers and a fixture revocation feed; live issuer discovery is not built"
   ],
   "tools": [
    "verify_card",
    "verify_mandate",
    "verify_revocation_status",
    "verification_receipt"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; hosted per-call merchant API pricing TBD per spec (owner-gated, G-OWNER phase)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-countermark-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-countermark-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 23 pass, 1 na of 24 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/countermark.py. Run 2 is the standing card; run 1 is retained append-only. N-CHECK: NOVELTY_PROVEN \u2014 one neutral verification call across card and mandate formats returns a signed finding envelope enumerating the checks actually performed, with presented-only artifacts capped at UNRESOLVED.",
    "not_tested": [
     "Live issuer-key discovery \u2014 NOT built (G-LIVE per format, spec ch.13). v0 verifies over fixture issuers only; an unknown domain caps at UNRESOLVED with the ceiling stated in provenance.",
     "Hosted per-call merchant API \u2014 NOT built (T2 + G-OWNER); pricing is Till/x402 territory, consumed not built.",
     "Production findings-key custody \u2014 v0 signs with a local seed key (keys/, gitignored, chmod 600), distinct from any identity key (\u00a75.7); custody is a gated decision."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-countermark-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-countermark-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-countermark-mcp:latest",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/countermark",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fcountermark/versions/0.1.0",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-countermark-mcp"
   }
  },
  {
   "id": "eclipse-census-mcp",
   "name": "Eclipse Census MCP",
   "tagline": "Agent discovery & inventory of record.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance, Provenance & the Builder Economy"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Agent discovery and inventory of record from authorized sources only, with a per-source authorization record carried through the inventory",
    "Receipt-chained discovery events {source, method, observed_at, observer}; the render path refuses any item that cannot cite its discovery event",
    "Discovered-unregistered (shadow) agents are a reconciliation state, never an accusation; stale items render with last-seen instead of disappearing",
    "Mandatory coverage in every export \u2014 sources authorized, available-but-unauthorized, and not yet adapted; suppressing the gap section refuses by name and is receipted",
    "Source-native claims stay attributed per source and are never promoted to Census fields; reconciliation is propose-only until a named human accepts. v0.1 is local over fixture sources; tenant connectors are gated and not built"
   ],
   "tools": [
    "census_sources",
    "census_discover",
    "census_list",
    "census_get",
    "census_shadow",
    "census_reconcile",
    "census_export",
    "census_diff",
    "receipt_list",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-census-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-census-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 23 pass, 1 na of 24 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/census.py. Run 2 is the standing card; run 1 FAILED card is retained append-only. N-CHECK: NOVELTY_PROVEN \u2014 the render path itself enforces discovery law: an item that cannot cite a receipted discovery event cannot render, and source claims stay attributed per source and are never promoted to Census fields.",
    "not_tested": [
     "Tenant connectors (Microsoft Entra Agent ID, Google, cloud agent services) \u2014 NOT built. Gate N1: each adapter requires the customer's admin authorization record per tenant plus owner approval. Those families render in every coverage section as available-but-unauthorized.",
     "Endpoint / manifest collectors and any network discovery \u2014 held by spec \u00a77.7 (later phase, own spec). Discovery of systems the customer does not administer is T3-permanent: no probe/scan/enumerate capability exists in this package and there is no network code in v0.",
     "CETech fleet live dogfood export (\u00a77.6/\u00a715) \u2014 a CETech-fleet SEED FIXTURE ships as dogfood-shaped data; the standing live fleet inventory export as the first real Census artifact follows the dogfood loop after bench, and is not claimed from this build.",
     "Hosted / multi-tenant operation and auth beyond the stdio process boundary."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-census-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-census-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-census-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-census-mcp"
   }
  },
  {
   "id": "eclipse-crosswalk-mcp",
   "name": "Eclipse Crosswalk MCP",
   "tagline": "Multi-regime AI-obligation mapping \u2014 which AI laws bind your systems, what evidence satisfies each.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance, Provenance & the Builder Economy"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Versioned, machine-consumable AI-obligation library (EU AI Act, Colorado AI Act, and Texas TRAIGA seed chapters) with as-of resolution and provider/deployer/importer/distributor roles",
    "Maps provision \u2192 obligation \u2192 system \u2192 control \u2192 evidence artifact, with provenance on every link and no blending across regimes",
    "Candidate classifications cite the exact fact-set hash, stale-flag when facts change, and keep the determination field permanently empty and customer-owned; incomplete facts never become a guessed tier",
    "Deadline engine keeps legal rule clocks and guidance cadences distinct, with the computation shown \u2014 a past-due cadence never renders as a legal breach",
    "Evidence packs carry a mandatory gap section and a hash-chained receipt. Evidence machinery only: no filing, submission, regulator-channel, or determination tool exists. v0.1 uses a synthetic fixture deployer only"
   ],
   "tools": [
    "library_search",
    "library_provision",
    "library_changes",
    "obligation_map",
    "classification_candidates",
    "obligation_coverage",
    "clock_rules",
    "clock_open",
    "clock_status",
    "clock_exceptions",
    "evidence_pack_build",
    "evidence_pack_verify",
    "receipt_list",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-crosswalk-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-crosswalk-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 21 pass, 1 na of 22 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/crosswalk.py. Run 3 is the standing card; runs 1\u20132 FAILED cards are retained append-only. N-CHECK: NOVELTY_PROVEN \u2014 a versioned obligation library with as-of resolution and a role dimension produces fact-hash-bound candidates whose determination stays permanently empty and customer-owned, with mandatory evidence-pack gaps.",
    "not_tested": [
     "Live customer data (gate X1) \u2014 not built/run: counsel review of claims/output language + design-partner deployer required first (spec \u00a76.8).",
     "Remaining regime chapters (California, New York, Illinois) \u2014 later data chapters per \u00a76.1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-crosswalk-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-crosswalk-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-crosswalk-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-crosswalk-mcp"
   }
  },
  {
   "id": "eclipse-redteam-mcp",
   "name": "Eclipse Redteam MCP",
   "tagline": "Adversarial simulation for AI agents \u2014 sandboxed twins only.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts: Oversight, Forensics & Insurance Readiness"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Adversarial simulation against a sandboxed twin of an agent \u2014 never the production agent \u2014 covering prompt injection, mandate escape, simulated wallet drain, card-confusion, and recorder-reach probes",
    "Authorization is enforced as surface absence plus a signed record: no tool accepts a free-form URL, host, or endpoint, and an unregistered or expired authorization refuses before any probe is constructed",
    "Outcomes are measured per scenario (resisted / escaped-at-step-N / not-applicable), never rendered as verdicts about a third party; reports are signed and verify offline with the public key only",
    "Simulated funds stay simulated on a hash-chained ledger with value class marked on every entry; probe traffic itself is receipted",
    "v0.1 is local, fixtures only, with three fixture twins and five fixture suites; live twins, hosted arenas, and external runs are not built"
   ],
   "tools": [
    "rt_register_target",
    "rt_suites_list",
    "rt_run_suite",
    "rt_report"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "PRICED \u2014 $2.00/run (PC-8) via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product. Free local v0.1 (fixture twins) remains free; external runs are counsel-gated \u2014 intake orders are reviewed and confirmed by the operator before any payment link is sent.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-redteam-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-redteam-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 26 pass, 1 na of 27 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/redteam.py. Run 3 is the standing card; runs 1\u20132 FAILED cards are retained append-only. N-CHECK: NOVELTY_PROVEN \u2014 probe construction is downstream of a signed, in-date authorization record plus arena or harness registration proof; with neither, no probe object is constructed at all.",
    "not_tested": [
     "External runs \u2014 none performed or built for. First external run requires counsel review of the authorization instrument (spec \u00a79.6) and a named owner decision on services posture.",
     "Live twins / hosted arenas \u2014 NOT built. v0.1 loads in-repo fixture twin config artifacts into the local harness; fixture transports only; no network egress exists in the package.",
     "Continuous/recurring simulation subscriptions \u2014 gated post-v0.1 (spec \u00a79.1).",
     "Benchmark publication / cross-customer data use \u2014 absent by cluster law \u00a72.6; no cross-customer data flow of any kind in v0.1.",
     "Production signing-key custody \u2014 v0.1 signs with a local seed key (keys/, gitignored, chmod 600); custody is a gated decision.",
     "Hosted/multi-tenant operation and auth beyond the stdio process boundary."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-redteam-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-redteam-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-redteam-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-redteam-mcp"
   }
  },
  {
   "id": "eclipse-span-mcp",
   "name": "Eclipse Span MCP",
   "tagline": "Delegation-chain governance: spawn limits, depth caps, mandate attenuation",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Delegation & Multi-Agent Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Delegation-chain keeper for agent spawns: root mandate refs, chain links, spawn records, ancestry, subtree, and effective-mandate queries",
    "Every proposed spawn is checked against a total componentwise attenuation order \u2014 six mandate components plus max_children, max_subtree, and spawn_rate budgets \u2014 and every amplification refuses by name",
    "Subtree budgets are enforced at every ancestor, making chain-laundering by splitting spawns across children arithmetically impossible",
    "Effective mandate is computed as the componentwise path minimum, never stored; presented chains must walk to an owner-signed root or land CHAIN_UNVERIFIED",
    "Unchecked spawns are flagged UNCHECKED_SPAWN and reported, never hidden. Span issues no mandates, dispatches nothing, and has no override verb. v0 posture is check-and-record, not blocking enforcement in external frameworks"
   ],
   "tools": [
    "root_register",
    "root_revoke",
    "budget_set",
    "chain_view",
    "node_effective_mandate",
    "spawn_check",
    "spawn_record",
    "spawn_close",
    "chain_verify",
    "ancestry",
    "subtree"
   ],
   "platforms": [
    "MCP over stdio (HTTP transport on roadmap)"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-span-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-span-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 23 pass, 1 na of 24 checks (U1 auth: stdio process boundary). Run by W-003 (Verity), suites/span.py. Run 5 is the standing card; runs 1\u20134 FAILED cards are retained append-only. N-CHECK: NOVELTY_PROVEN \u2014 a proposed spawn is checked against a total componentwise attenuation order walked to an owner-signed root, with subtree budgets enforced at every ancestor.",
    "not_tested": [
     "Blocking enforcement inside external frameworks \u2014 gated on framework hook availability per framework (spec \u00a75.5); v0 claims check-and-record only, NOT a blocking gate.",
     "Cross-organization chains \u2014 gated on Envoy counterparty vetting tiers; v0 verifies foreign chains as evidence only (T1 verdict on presented artifacts), never registers foreign roots as trusted.",
     "Production signing-key custody \u2014 v0 signs with a local seed key (keys/, gitignored, chmod 600); custody is a gated decision.",
     "Hosted / multi-tenant operation and auth beyond the stdio process boundary."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-span-mcp-2026-10-26-5.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-span-mcp-2026-10-26-5.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-span-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-span-mcp"
   }
  },
  {
   "id": "eclipse-airtime-mcp",
   "name": "Eclipse Airtime MCP",
   "tagline": "Eclipse Airtime \u2014 mandate-bound ad operations.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Marketing & Ads Governance"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Spend enforcement pre-call: every campaign mutation passes a gate against a Herald-signed mandate (account \u00d7 platform ceilings, geo/audience bounds, and flight windows) before any platform call; a refusal makes zero platform calls",
    "Claims binding at the publish path: copy may publish only from a signed claims record, with paraphrase screening, special-category classification, implied-attribute screening, crypto permission classes, and political verification as versioned policy data",
    "Advertiser-held evidence that survives the account: mutations and refusals seal into an append-only, hash-chained, signed ledger and export as an offline-verifiable appeal pack",
    "A closed refusal vocabulary and no override tool at any tier \u2014 more spend requires a new signed mandate, never an exception path",
    "P0 is Meta-first and local/simulator only: the transport is a simulator/test-double, no live spend exists, and no campaign activates for real"
   ],
   "tools": [
    "mandate_issue",
    "mandate_get",
    "mandate_check",
    "mandate_revoke",
    "claims_record_upsert",
    "claims_record_get",
    "copy_screen",
    "ad_account_list",
    "campaign_list",
    "campaign_get",
    "insights_get",
    "campaign_create_draft",
    "campaign_update",
    "campaign_set_status",
    "audience_attach",
    "ledger_get",
    "appeal_pack_export"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; governed-seat + per-screen pricing TBD per spec section 13 (Evidence Verifier free/unmetered by design)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-airtime-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-airtime-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local/simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(local/simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 23/23 checks. Run by W-003 (Verity), suites/airtime.py. The original PARTIAL card (20/23; D1 MEDIUM + D2 HIGH) is retained append-only; the scoped re-bench card -2 closed both defects and is the standing verdict basis. N-CHECK: NOVELTY_PROVEN \u2014 spend enforcement happens pre-call, ad copy is bound to a signed claims record at the publish path, and every mutation or refusal seals into an advertiser-held evidence ledger. Simulator/test-double only; no live transport, campaign, or spend was tested.",
    "not_tested": [
     "Live Meta transport \u2014 NOT built and out of P0 scope: simulator/test-double only; no live spend exists.",
     "Standalone Claims Checker as a separate Bazaar Tool \u2014 P1 per spec \u00a73.3; P0 ships the internal harness form (tools/claims_checker.py), exercised as part of the benched product surface.",
     "Google/TikTok/X/LinkedIn/Reddit phases (P1/P3), hosted connector + CASA posture (P2), and Till billing composition (P2).",
     "Production Herald custody for the signing key \u2014 P0 uses a local seed key (keys/, gitignored, chmod 600); production custody is a hard gate before any P2/live scope."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-airtime-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-airtime-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-airtime-mcp:latest",
    "registry_name": "ai.cetech/eclipse-airtime",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.cetech%2Feclipse-airtime/versions/0.1.0",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-airtime-mcp"
   }
  },
  {
   "id": "eclipse-friction-mcp",
   "name": "Eclipse Friction MCP",
   "tagline": "Signed agent-only friction board \u2014 findings backed by verified trace packs, in a closed vocabulary.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Infrastructure",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Signed, agent-only friction findings backed by hash-chained trace packs that the board verifies before a finding surfaces \u2014 faking a filing means executing the calls",
    "A closed 15-class vocabulary (Emic-12, CC0, plus house classes SCHEMA_LIE, SILENT_EMPTY, and AUTH_WALL) and structured claims only \u2014 a filing is a finding, never a free-text post",
    "16 P0 tools across four disjoint surfaces (6 filer, 6 vendor, 1 gate, 3 operator); findings supersede, never edit, and no score, ranking, or leaderboard surface exists",
    "A vendor lifecycle from acknowledgement and rebuttal to FIX_VERIFIED only after a clean replay; the board recomputes packs offline and never re-executes a vendor's production tools",
    "Per-filing consent controls (PUBLIC | VENDOR_ONLY listing; AGGREGATE | NO_MINE mining) with cohort suppression below 5 identities / 3 operators; Friction Radar mines the board internally for product patterns"
   ],
   "tools": [
    "friction_file",
    "friction_import",
    "friction_get",
    "friction_list",
    "friction_verify",
    "friction_supersede",
    "friction_subject_register",
    "friction_feed_read",
    "friction_acknowledge",
    "friction_rebut",
    "friction_fix_claim",
    "friction_fix_submit",
    "friction_gate_check",
    "friction_radar_digest",
    "friction_board_status",
    "friction_receipt_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (filing is quota-only, no fee path in P0). Vendor findings feed \u2014 $499/mo per the approved price book \u2014 INTEREST ONLY: not yet sold, no checkout and no order path is open; feed publication is a separate owner decision.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-friction-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-friction-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 41 pass, 0 na of 41 checks. Run by W-003 (Verity), scoped re-bench of the D1\u2013D7 fix round; the original PARTIAL card (34/41) is retained append-only and this -2 card is the standing verdict basis. N-CHECK: NOVELTY_PROVEN \u2014 a friction filing surfaces only after the board recomputes its Herald-signed, hash-chained trace pack, so faking a filing requires actually executing the calls and holding the identity key; fixes surface only the same way (clean recompute plus a CLEAN bench replay receipt).",
    "not_tested": [
     "Hosted/public board (P1) \u2014 NOT built; P0 is local stdio only, scope local.",
     "Live Herald service integration \u2014 P0 consumes Herald-shaped signed cards/JWKS presented per call and a local Revoke record list; no network calls exist.",
     "Test Bench REPLAY execution \u2014 Friction consumes Bench replay receipts registered out-of-band in local state; the Bench harness itself is a separate product and the board never executes vendor tools."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-friction-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-friction-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-friction-mcp:0.1.1",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/friction",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Ffriction/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-friction-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-steward-mcp",
   "name": "Eclipse Steward MCP",
   "tagline": "Team-chat agent governance \u2014 the signed mandate, verified disclosure, review-first posting and receipts that govern an AI agent inside Slack, Teams and Discord. It governs the agent \u2014 it never monitors the people.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Governance",
    "Team Chat"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Governance CORE for agents in team chat (Slack / Teams / Discord) \u2014 not a bridge and not chat scraping: a signed, version-chained mandate (agent \u00d7 channels \u00d7 action classes \u00d7 approval rules \u00d7 caps \u00d7 time window, bound to the agent's Herald card) is the whole authority",
    "The agent surface holds no dispatch verb and no platform credential \u2014 the agent can only propose; Steward's gate holds the only dispatch path and re-checks mandate, kill state, disclosure state, quiet windows, caps, and platform grant at dispatch",
    "Kill is checked at proposal, at approval, AND at dispatch: an approval earned before a kill does not dispatch after it; multi-part acts halt between parts and an in-flight part is evidenced as KILL_RACE_ACT, never hidden",
    "Chat content never governs: an in-chat mandate amendment \u2014 even from the workspace owner \u2014 refuses MANDATE_AMENDMENT_FROM_CHAT_REFUSED and the mandate hash stays byte-identical; mandates change only as owner-signed chained versions on the operator surface",
    "Disclosure is verified data (VERIFIED / DEGRADED / ABSENT / UNVERIFIABLE, named per platform): DEGRADED suspends auto-approvals, ABSENT closes outbound; every read, draft, approval, dispatch, refusal, kill, and disclosure event \u2014 including READ receipts with ids + content hashes \u2014 seals into a per-workspace Blackbox-form hash chain",
    "Custody defaults to none (stores contain zero message-content strings, canary-scanned in tests) and surveillance is absent as architecture: no member-subject record type exists and the spec \u00a77.3 T3 set is denylisted at the transport. It governs the agent \u2014 it never monitors the people"
   ],
   "tools": [
    "workspace_bind",
    "mandate_issue",
    "mandate_amend",
    "mandate_status",
    "draft_approve",
    "draft_reject",
    "gate_dispatch",
    "kill_issue",
    "kill_resume",
    "disclosure_check",
    "disclosure_restore",
    "platform_interaction_simulate",
    "chat_message_simulate",
    "platform_fixture_set_presentation",
    "platform_fixture_set_grant",
    "receipt_list",
    "receipt_verify",
    "custody_export",
    "read",
    "draft_propose",
    "act_status",
    "draft_withdraw"
   ],
   "platforms": [
    "MCP over stdio \u2014 two disjoint surfaces selected by ECLIPSE_STEWARD_SURFACE (operator | agent); simulated route fixtures, no live platform"
   ],
   "pricing_model": "Free local v0.1 (governance core + simulator fixtures); hosted venue service is a separate, unbuilt phase gated on Eclipse Connect P2 decisions",
   "page_url": "https://eclipsebazaar.com/products/eclipse-steward-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-steward-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, 27 pass, 1 na of 28 checks (U1 auth: stdio process boundary; surface disjointness scored as product checks in S8). Run by W-003 (Verity), suites/steward.py. Runs 1\u20133 FAILED retained append-only; run 4 is the standing card \u2014 S11 (approval content-hash re-verification at dispatch), S12 (draft-TTL re-check at dispatch), S19 (expiry bookkeeping kept out of the signed canonical form), S7, and S10 fixed and verified. N-CHECK: NOVELTY_PROVEN \u2014 the only-dispatch-path governance core: the agent surface holds no dispatch verb and no credential, the gate re-checks mandate/kill/disclosure/caps/grant at dispatch, disclosure is verified data that drives posture, and every read is receipted; 0 of 20 chat-API-shaped verbs exist on either surface. Local/simulator scope only.",
    "not_tested": [
     "Live platform adapters (Slack / Teams / Discord) \u2014 NOT built in v0.1; simulator route fixtures only, no credentials, no real messages sent",
     "Herald JWS mandate signatures \u2014 v0.1 signs with a local HMAC operator key, the spec's local stand-in; production key custody is a gated phase",
     "Hosted venue service \u2014 a separate, unbuilt phase gated on Eclipse Connect P2 decisions",
     "Name: 'Eclipse Steward' is CONDITIONAL under brand system \u00a73 \u2014 trademark/confusion screen pending before any public surface; fallback name Eclipse Usher"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-steward-mcp-2026-10-26-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-steward-mcp-2026-10-26-4.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-steward-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-steward-mcp"
   }
  },
  {
   "id": "eclipse-proof-mcp",
   "name": "Eclipse Proof MCP",
   "tagline": "Governed video production \u2014 Herald-signed approval pins over exact edit states, hash-pinned templates, render evidence for every export.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Media Production",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Export executes only against a Herald-signed approval pinning the canonical edit-decision fingerprint (integer-frame canonical JSON, RESOLVE_COV_V1), preset hash, principal and expiry \u2014 post-approval drift refuses TIMELINE_CHANGED_SINCE_APPROVAL with a localized DriftReport",
    "Every adapter mutation is read-back-verified because the Resolve API fails silently; an unverified mutation refuses ADAPTER_MUTATION_UNVERIFIED and auto-files a Friction finding",
    "Templates are hash-pinned signed artifacts filled by slots only; no code-exec tool exists on any surface (raw control refused by design)",
    "Proof Print verifies renders against the approved record \u2014 caption text verbatim (fail-closed), duration, loudness, format \u2014 into a VerificationPack; Proof Trace fingerprints FCPXML (detective-only)",
    "P0 dogfoods on The White Report reels under the pinned HOUSE_REEL_V1 template; 15 agent tools + 6 operator tools on a separate process"
   ],
   "tools": [
    "project_open",
    "project_attest",
    "timeline_read",
    "timeline_fingerprint",
    "export_presets_list",
    "template_list",
    "media_import",
    "clip_place",
    "clip_trim",
    "text_set",
    "template_instantiate",
    "marker_set",
    "approval_request",
    "export_execute",
    "session_close",
    "proof_print_verify",
    "proof_trace_fingerprint",
    "proof_trace_diff"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-proof-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-proof-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25 (bench clock UTC 2026-10-26; run 2 standing), 35 pass, 2 na of 37 checks. Run by W-003 (Verity). Run 1 FAILED card retained append-only: its sole failure (NC-2) was a bench-suite self-defect, fixed in the suite \u2014 no product code touched. Scope of certification: the governance core, Proof Print and Proof Trace benched against a declared SIMULATED Resolve-shaped adapter \u2014 P0 makes NO live-Resolve claim (no Resolve Studio seat exists on the build VM; the Studio license, spec LG-1/D3, is an owner purchase). N-CHECK: NOVELTY_PROVEN \u2014 export executes only against a Herald-signed approval pinning the canonical edit-decision fingerprint; incumbent-shaped fixture exports a drifted cut, and the vendor-verb census is 6/15 = 40% renamed (<80%).",
    "not_tested": [
     "Live DaVinci Resolve Studio adapter \u2014 not built; P0 adapter is simulated (spec LG-1/D3 Studio license is an owner purchase).",
     "Frame.io connector (spec \u00a710) \u2014 specced, built P2.",
     "Proof Trace OTIO/AAF/EDL \u2014 P2; FCPXML only at P0.",
     "Print OCR/ASR extraction \u2014 embedded text track at P0; low-confidence path fail-closed and benched via fixture.",
     "Premiere UXP adapter \u2014 P1."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-proof-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-proof-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-charter-mcp",
   "name": "Eclipse Charter MCP",
   "tagline": "Your broker watches its own account. Charter watches your rules \u2014 across all of your accounts.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Personal Finance Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Policy-of-record drift checking across all of the owner's accounts \u2014 drift is named with both values (actual vs band), never a bare flag",
    "Cross-account wash-sale watch including the IRA trap (IRC \u00a71091 + Rev. Rul. 2008-5), caught pre-settlement \u2014 including silent scheduled-contribution triggers and spouse-supplied activity with provenance",
    "Permanent in-house grant-keeper (owner-ratified D1) behind GrantKeeperPort: Schwab grants go AGING at day 5 and EXPIRED_FAIL_CLOSED at day 7 with guided re-auth; no dead-grant reads pass silently",
    "401(k) permanently fenced to the participant's own reads, fees and drift; T3 classes (tax determinations, order submission) refused even inside a valid mandate, with byte-identical state after every refusal",
    "The descriptor \u2014 'Not a bank. Not an investment adviser. Charter checks your rules \u2014 it never writes them.' \u2014 rides every envelope, refusals included; fee math checked against policy ceilings"
   ],
   "tools": [
    "policy_upsert",
    "policy_get",
    "accounts_snapshot",
    "positions_get",
    "lots_get",
    "activity_get",
    "drift_check",
    "wash_scan",
    "fee_report",
    "grant_status",
    "document_ingest"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; per-household subscription shape recorded in spec \u00a714, not a v0 surface",
   "page_url": "https://eclipsebazaar.com/products/eclipse-charter-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-charter-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 3 (standing): 24 pass, 0 fail of 24 checks. Independent Verity bench with own fixtures; runs 1\u20132 PARTIAL cards retained append-only \u2014 both failures were re-derived as bench-harness defects (2dp expectation; fuzz predicate), product code unchanged. Scope: local / P0 only \u2014 the adapter is a local Plaid-shaped fixture form and the dogfood run is fixture-form; NO live Plaid claim is made. Descriptor-bearing product: the descriptor was verified on 100% of envelopes including refusals over stdio (T15/T15b). N-CHECK: NOVELTY_PROVEN \u2014 27.3% renamed vendor verbs; policy-of-record + cross-account wash-sale watch + grant-keeper is a mechanism no incumbent ships.",
    "not_tested": [
     "Live Plaid pull \u2014 P0 adapter is local Plaid-shaped fixture form; live connector run is a separate gate.",
     "P1 grant-keeper GA (real Schwab OAuth choreography) \u2014 P0 bench uses the simulated Schwab clock fixture per spec \u00a715.1.4.",
     "P2 order submission \u2014 no live/paper broker rail at P0; mandate leg benched at engine level (prepare-check only, PREPARED never implies submittable).",
     "Hosted/multi-tenant operation beyond the stdio boundary."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-charter-mcp-2026-10-25-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-charter-mcp-2026-10-25-3.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-colophon-mcp",
   "name": "Eclipse Colophon MCP",
   "tagline": "Catalog of record for books: signed titles, rights, prices & royalties, checked everywhere they sell.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Publishing",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "A signed TitleRecord is the catalog of record per title \u2014 only SIGNED versions enforce; a tampered record refuses RECORD_UNSIGNED-class and never quietly applies",
    "Royalties recomputed line-by-line from record terms with a per-line arithmetic trace and honest coverage \u2014 an estimate offered as ledger input refuses ESTIMATE_AS_TRUTH_REFUSED",
    "A closed 8-class divergence vocabulary across every channel a book sells in; the Amazon price-match trap fires CRITICAL at check time, not after the royalty statement",
    "Discovered editions are QUARANTINED, never auto-promoted; there is NO price-write verb on the surface \u2014 repricing attempts refuse REPRICE_FORBIDDEN",
    "PIRATE_SOURCE_REFUSED: LibGen-class sources refuse by name in URL, metadata and check forms \u2014 this is the rights-holder-side line, and it never touches pirate infrastructure"
   ],
   "tools": [
    "calibre_diff_record",
    "calibre_ingest_library",
    "divergence_get",
    "divergence_list",
    "divergence_resolve",
    "drift_check_feed",
    "drift_check_listing",
    "drift_scan_catalog",
    "edition_list",
    "epub_check",
    "onix_build",
    "onix_diff",
    "onix_validate",
    "record_get",
    "record_history_get",
    "record_rights_cell",
    "record_sign_version",
    "record_upsert_edition",
    "record_upsert_title",
    "royalty_ingest_report",
    "royalty_ledger_get",
    "royalty_reconcile",
    "royalty_run_get"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0 local/simulator, synthetic fixtures only)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-colophon-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-colophon-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local/simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(local/simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, 19 pass of 19 checks, synthetic fixtures only (5 build-fixture titles + 1 bench-own title; all 8 divergence classes exercised). Independent Verity bench with own fixtures; run 1 card retained append-only. Scope: local/simulator \u2014 NO live retailer, KDP or connector data (KDP has no author API; connector fetch is P1/D3-gated and absent; Watch is D4-gated and absent). N-CHECK: NOVELTY_PROVEN \u2014 a signed catalog of record whose royalties are recomputed line-by-line and whose pirate-source refusal is structural; benched against BookReport/ScribeCount-shaped dashboards, which keep no record and recompute nothing.",
    "not_tested": [
     "Live retailer / KDP data \u2014 KDP has no author API; P0 is synthetic fixtures only.",
     "Connector fetch \u2014 P1/D3-gated, absent at P0.",
     "Watch \u2014 D4-gated, absent at P0.",
     "commerce_verify_offer against live commerce \u2014 P2 surface; simulator-proven at P0 only.",
     "The owner's real book as dogfood \u2014 deferred by the owner; P0 fixtures are synthetic."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-colophon-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-colophon-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-tether-mcp",
   "name": "Eclipse Tether MCP",
   "tagline": "Governed robot task authority \u2014 signed mandates, bounded envelopes, evidence for every task.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Robotics Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Physical task authority exists only inside a Herald-signed mandate pinning agent \u00d7 robot serials \u00d7 human-authored task-template hashes \u00d7 workspace envelope \u00d7 speed/force ceilings \u00d7 occupancy class \u00d7 time window",
    "Enforcement sits at a site bridge that is the only routed path to the robot \u2014 the envelope is checked before motion, an expired mandate stops the task, and a human e-stop lands in the terminal HUMAN_OVERRIDE state",
    "Every session \u2014 tasks, refusals, gaps, envelope exits, human overrides \u2014 is sealed into a Blackbox-form evidence pack verifiable offline (Tether Proof), with a static conformance checker (Tether Gauge) for mandates and templates before any robot moves",
    "No T2 direct-motion surface exists in v0/v1; closed platforms (Tesla Optimus and peers) are published wait positions, never a logo wall; a mandate never substitutes for a site risk assessment",
    "22 tools across agent, operator and verifier surfaces; the hostile-agent suite (H1\u2013H16) passes in full against the simulator site"
   ],
   "tools": [
    "fleet_discover",
    "session_open",
    "task_templates_list",
    "task_dispatch",
    "task_status",
    "task_abort",
    "telemetry_read",
    "image_read",
    "session_close",
    "mandate_register",
    "mandate_revoke",
    "template_register",
    "template_revoke",
    "site_freeze_set",
    "session_reattest",
    "pack_verify",
    "pack_render",
    "pack_compare",
    "gauge_check_mandate",
    "gauge_check_template",
    "gauge_check_pair",
    "gauge_limits_list"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0 simulator); bridge license / certification pricing per spec \u00a712 is an owner decision, not a v0 surface",
   "page_url": "https://eclipsebazaar.com/products/eclipse-tether-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-tether-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 2 (standing): 31 pass of 31 checks. Run 1 PARTIAL (30/31) retained append-only: its sole failure was a bench-assertion defect in H10 (compared full error dicts incl. the caller-echoed tool name), not a product defect. Scope: SIMULATOR ONLY \u2014 P0 is ROS 2 + Gazebo + UR-class arm sim, in-process; NO hardware claim of any class is made. Liability counsel gates P1 real motion only. N-CHECK: NOVELTY_PROVEN \u2014 rename census 6/22 = 27% (<80%); the mandate-and-bridge mechanism exists in no incumbent (Boston Dynamics ships dispatch in Orbit; nobody ships the signed authority layer).",
    "not_tested": [
     "Real hardware of any class.",
     "Real vendor SDKs (Spot / Unitree / UR-RTDE).",
     "Real e-stop / lease hardware.",
     "Isaac Sim.",
     "Multi-robot sessions.",
     "Hosted / multi-site operation.",
     "T2 direct motion (refused by design, \u00a73).",
     "Closed platforms: Tesla Optimus, Figure, Apptronik, Atlas, NEO (no surface exists, \u00a74.1).",
     "Orbit dispatch (vendor's, not ours, \u00a74.2)."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-tether-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-tether-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-proving-mcp",
   "name": "Eclipse Proving MCP",
   "tagline": "Governed bench access for agents \u2014 signed mandates, pinned artifacts, evidence for every session.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Certification & Testing",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Physical bench authority exists only inside a Herald-signed mandate pinning agent identity \u00d7 board identity \u00d7 operation classes \u00d7 exact artifact hashes, enforced at the bridge that holds the JTAG/serial/power connections \u2014 the sole routed path agent\u2192target",
    "One-byte rule: an artifact one byte off its Herald-pinned hash refuses ARTIFACT_PIN_MISMATCH, receipted into the evidence pack, board state untouched \u2014 no warning path, no override parameter, no load-anyway flag on any surface",
    "Tiered authority: T0 read / T1 volatile write (pin-gated, board attested) / T2 power (every act receipted; dead-man rule \u2014 revocation freezes new operations, never cuts power inside an active write window) / T3 persistent write (owner-armed per board per session via admin CLI only, mandatory pre-write image capture, recorded recovery path)",
    "Permanent refusals with no tool and no path around: security-fuse programming (PERMANENT_REFUSED_FUSE), PMIC/voltage configuration (PERMANENT_REFUSED_PMIC), boot-mode strap changes (BOOT_MODE_PHYSICAL \u2014 strap state is read-only)",
    "Every session \u2014 loads, refusals, gaps, drops \u2014 seals into a Blackbox-form evidence pack verifiable offline; evidence class is cross-checked against a fresh adapter instance at open, connect, and seal, so a relabeled registry cannot launder an emulator session into a bench-class pack",
    "22 tools on a closed surface, plus the family's standalone artifacts: Eclipse Proving Pin (offline artifact-vs-pin verifier) and Eclipse Proving Gate (boot-evidence assertion checker over sealed packs)"
   ],
   "tools": [
    "bench_discover",
    "session_open",
    "session_status",
    "target_connect",
    "target_attest",
    "register_read",
    "memory_read",
    "console_read",
    "artifact_load",
    "memory_write",
    "target_run",
    "target_halt",
    "power_set",
    "target_reset",
    "persistent_write",
    "session_close",
    "pin_verify",
    "pin_show",
    "pin_status",
    "gate_run",
    "pack_verify",
    "gate_assertions_check"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local P0; bridge license per bench host + per-board seats (owner figures, spec \u00a714)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-proving-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-proving-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, run 2 (standing): 10 pass, 0 na of 10 checks \u2014 scoped re-bench of run 1's failing lines (B9 class integrity, B10 time expiry, B11 envelope hostility) plus the B12 D-4 limb, all re-probed PASS with bench-own fresh shapes; D-1 (evidence-class laundering via registry config), D-2 (lease/mandate time expiry never enforced), D-3 (envelope crashes), D-4 (struck live-transport env claim) all CLOSED. The original PARTIAL card (run 1: 10 pass / 1 partial / 3 fail \u2014 test-bench/results/eclipse-proving-mcp-2026-10-25.json) is retained append-only and this -2 card is the standing verdict basis. CEILING \u2014 read exactly: CERTIFIED(simulator) and nothing broader. The adapters are simulated-PS: fixture packs are evidence class fixture, qemu/renode packs are evidence class EMULATOR (content is a deterministic simulated PS inside the adapter). NO live transport was exercised at any point in either bench run \u2014 no QEMU process, XSDB/GDB/TCF session, or Renode monitor ran \u2014 and spec \u00a712.4 exit checks X4/X5 are still owed before any transport-level interop claim. Non-gating observation carried on the standing card: a session whose lease time-expires seals no gap pack on expiry (contrast \u00a711.3, which lists lease_expiry among gap-record causes); whether an expired session's evidence should also seal is an open spec question, flagged by the bench, not silently passed over. N-CHECK: NOVELTY_PROVEN (run 1, carried) \u2014 bench authority only inside a Herald-signed mandate binding agent \u00d7 board \u00d7 op-class \u00d7 exact artifact hash, enforced at the bridge, every session incl. gaps/refusals sealed into an offline-verifiable pack; incumbents (fpga-mcp / VivadoMCP / probe-rs / labgrid) have no pin to mismatch and no pack.",
    "not_tested": [
     "Live transport of any kind \u2014 no QEMU process, XSDB/GDB/TCF session, or Renode monitor was exercised in either bench run; the qemu/renode adapters run deterministic simulated-PS session scripts in-adapter. Spec \u00a712.4 exit checks X4/X5 (live XSDB vs AMD QEMU, Renode monitor/GDB) are still owed before any transport-level interop claim.",
     "Physical bench hardware \u2014 HwServerAdapter is an ADAPTER_NOT_IN_PHASE stub; zero bench-class packs exist or can be produced at P0, correctly.",
     "PL (FPGA fabric) behavior \u2014 not modeled by plain QEMU and not claimed; bitstream loads on emulator/fixture targets are recorded with that semantics note.",
     "Production Herald key custody \u2014 P0 verifies against labeled deterministic TEST keys (spec \u00a79) behind the production verify interface; production custody is a gated owner decision, not a P0 claim."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-proving-mcp-2026-10-25-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-proving-mcp-2026-10-25-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-connect-beyondcompare-mcp",
   "name": "Eclipse Connect \u00b7 Beyond Compare MCP",
   "tagline": "Mandate-bound compare/merge custody bridge for agents.",
   "status": "in-development",
   "listing_class": "connector",
   "categories": [
    "Agent Infrastructure",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "A compare verdict a third party can recompute: inputs, per-file SHA-256 hashes, tool version, bridge-generated script and comparison rules pinned and hash-chained in a signed evidence pack (Blackbox form) \u2014 verify_pack recomputes offline and names the first failing pin",
    "Mandate custody: packs issue only for paths inside a Herald-signed mandate \u2014 granted roots canonicalised and enforced bridge-side; escapes refuse by name (PATH_OUTSIDE_MANDATE / PATH_TRAVERSAL_REFUSED / SYMLINK_ESCAPE_REFUSED) with zero adapter calls",
    "Merge as a T3 verb only: ECDSA principal-signed, params-bound approval; pack recompute plus a live re-compare at dispatch refuses MERGE_BASE_DRIFTED before a single byte is written; partial failure seals an INCOMPLETE result pack",
    "Denylist by enumeration: no script pass-through, no CLI-flag verbs, no sync/mirror/edit/interactive-merge verbs exist \u2014 forbidden names get the identical -32602 shape as gibberish, no oracle",
    "The agent holds nothing: no license key, no filesystem reach, no vendor executable, no script file \u2014 only a revocable agent key bound to (agent_identity, bridge_id); revocation is terminal and re-checked at every dispatch, pack_fetch included",
    "Vendor reports ride inside packs as hashed attachments only \u2014 never the verdict, never returned standalone as evidence"
   ],
   "tools": [
    "compare_paths",
    "pack_fetch",
    "verify_pack",
    "propose_merge",
    "execute_merge",
    "mandate_check",
    "revoke_grant"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "No figures set (spec D6) \u2014 shape only: per-seat bridge license (connector class); the tenant's own Beyond Compare license is theirs, never bundled or resold",
   "page_url": "https://eclipsebazaar.com/products/eclipse-connect-beyondcompare-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-connect-beyondcompare-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulated)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulated) \u2014 Eclipse Bazaar Test Bench 2026-10-25, scoped re-bench (fix round 1): 26 pass, 0 na of 26 checks \u2014 the first bench's two major defects (D-ENV: envelope type guard at both serving layers; D-REVOKE: pack_fetch re-checks grant state after revoke, byte-identical refusal, no oracle) fixed and re-probed PASS, regression spot-lines A1\u2013A6 / B0\u2013B8 / C1\u2013C8 / G1 unbroken; the full bench script also ran end-to-end out-of-scope at 42/42. The original PARTIAL card (40 pass / 2 fail of 42 \u2014 test-bench/results/eclipse-connect-beyondcompare-mcp-2026-10-25.json) is retained append-only and this re-bench card is the standing verdict basis. CEILING \u2014 read exactly: CERTIFIED(simulated) and nothing broader. The adapter is a scripted stand-in throughout (the documented-CLI adapter is a stubbed interface only); evidence class SIMULATED; NO live Beyond Compare run was exercised at any point in either bench run \u2014 live BC exercise is OWED at P1 on the owner's license (vendor trial fallback) before any live claim. MECHANISM: Herald-signed recomputable compare-evidence packs over mandate-granted paths; merge = T3 ECDSA approval-bound with base-drift refusal. N-CHECK: NOVELTY_PROVEN \u2014 0/6 renamed vendor verbs (fail line \u226580%), shim score 1/20 (ceiling \u226420%); the novelty is the mandate/custody + evidence layer, never the bridge. Not Scooter Software. Not endorsed by Scooter Software. The customer supplies their own Beyond Compare license.",
    "not_tested": [
     "Live Beyond Compare exercise \u2014 no licensed install was run in either bench; the adapter is a scripted stand-in throughout and the documented-CLI adapter is a stubbed interface only. The live bench is OWED at P1 on the owner's license (vendor trial fallback) before any live claim.",
     "Hosted-relay / multi-seat form \u2014 P0 is a single-seat edge bridge on the license-holding machine; the hosted form is a P2 decision-gated shape, not built.",
     "Production Herald key custody \u2014 P0 signs mandates and T3 approvals through the PinSigner port's local signer (identical grammar; artifacts record signer: local); production custody is a gated owner decision, not a P0 claim."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-connect-beyondcompare-mcp-2026-10-25-rebench-fixround1.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-connect-beyondcompare-mcp-2026-10-25-rebench-fixround1.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-connect-beyondcompare-mcp:latest",
    "registry_name": "ai.cetech/eclipse-connect-beyondcompare",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.cetech%2Feclipse-connect-beyondcompare/versions/0.1.0",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-connect-beyondcompare-mcp"
   }
  },
  {
   "id": "eclipse-wageward-mcp",
   "name": "Eclipse Wageward MCP",
   "tagline": "Payroll approval-and-evidence rail for agents \u2014 approve the exact run, or it refuses.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "HR & Payroll Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Approval-and-evidence rail ONLY: agents prepare payroll runs and filing packets, humans approve the exact run \u2014 payroll_run_submit / filing_submit class tools are ABSENT from the surface by design (spec \u00a710.2), in P0 and P1 alike",
    "Independent canonical fingerprint of every run (employee set \u00d7 amounts \u00d7 deductions \u00d7 accounts-as-HMAC-tokens) with a Herald-signed approval bound to that fingerprint \u2014 any post-approval drift refuses RUN_CHANGED_SINCE_APPROVAL with named diff classes",
    "SSNs and bank numbers exist only as employer-scoped keyed-HMAC tokens (raw hashes banned); a deep identifier screen refuses separator-obfuscated SSNs/bank numbers on every channel \u2014 echo, persistence, and approval-signing",
    "Bank-detail changes verify through the employee's own channel of record; every sensitive read seals an access record; evidence packs are portable and hash-chained per tenant",
    "Every approval/filing packet carries the mandatory liability statement \u2014 approval does not transfer payroll-tax liability, the employer remains liable \u2014 and a packet missing it is invalid by construction"
   ],
   "tools": [
    "workforce_roster_read",
    "compensation_read",
    "pay_history_read",
    "payroll_run_prepare",
    "payroll_run_diff",
    "run_fingerprint_get",
    "filing_packet_prepare",
    "anomaly_scan",
    "change_request_open",
    "change_request_status",
    "access_ledger_read",
    "synthetic_workforce_generate",
    "pin_verify",
    "run_reconcile",
    "change_check",
    "access_pack_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0); per-employer platform fee + per-employee-per-month governance fee is a commercial design item (spec \u00a720), not set by this build",
   "page_url": "https://eclipsebazaar.com/products/eclipse-wageward-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-wageward-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, standing card eclipse-wageward-mcp-2026-10-25-5.json (scoped re-bench -5): 20 pass, 0 na of 20 checks. CEILING \u2014 read exactly: this certifies the approval-and-evidence rail at local scope over a SYNTHETIC workforce, and nothing broader. Wageward is an approval-and-evidence rail ONLY \u2014 it is not a system of record, has no payroll-calculation or tax engine, and the submit-class tools (payroll_run_submit / filing_submit) are ABSENT from the surface by design in P0/P1: the bench verified by live stdio that calling one returns unknown-tool. Every approval/filing packet carries the mandatory statement that approval does not transfer payroll-tax liability (the employer remains liable); a packet missing it is invalid by construction. The four prior FAILED cards are retained append-only and cited here: eclipse-wageward-mcp-2026-10-25.json (FAILED), -2.json (FAILED), -3.json (FAILED), -4.json (FAILED \u2014 D2-GEN2 HIGH, separator-run identifier evasion) \u2014 the -5 scoped re-bench closes D2-GEN2 on every channel (live-stdio echo 7/7 bench shapes, persistence 2/2, approval-signing 4/4, plus fresh no-cap probes 8/8) on top of everything closed in -2/-3/-4. OPEN SPEC ITEM (not a P0 claim): receipt-TTL is an open spec item to settle pre-P1. N-CHECK: NOVELTY_PROVEN (stands \u2014 the fused fingerprint + Herald-signed approval + drift-refusal mechanism is unchanged by the fix rounds; no CRUD verb added).",
    "not_tested": [
     "Live payroll/HR providers \u2014 P0 is an aggregator-shaped fixture adapter over synthetic data only; no live grant custody (P2), no real employer, employee, money, or filing",
     "Any real payroll submission or filing \u2014 submit-class tools are ABSENT by design in P0/P1; the internal simulated rail is exercised by the builder suite only, never exposed",
     "Production Herald/vault/KMS custody \u2014 P0 uses simulated per-tenant fixture keys",
     "Receipt-TTL behavior \u2014 open spec item, to be settled pre-P1"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-wageward-mcp-2026-10-25-5.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-wageward-mcp-2026-10-25-5.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-covenant-mcp",
   "name": "Eclipse Covenant MCP",
   "tagline": "Consent-bound lead work for real-estate agents \u2014 provenance on every lead, a Gate on every send, a sealed pack for the broker.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Real Estate Consent & Compliance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Every lead carries a Herald-signed provenance record \u2014 CERTIFIED_CAPTURE / SELF_CAPTURED / VENDOR_ASSERTED / LEGACY_UNVERIFIED, never blended \u2014 and outreach executes only through a send-time Gate inside the contact tools: mandate \u00d7 per-channel consent scope (voice consent is not text consent) \u00d7 named-seller coverage \u00d7 no open revocation \u00d7 fresh DNC scrub at send \u00d7 fair-housing guards",
    "Consent and revocation rules are versioned DATA packs (PEWC + April 2025 revocation rules, 10-business-day honor), never code constants \u2014 missing or stale packs fail closed, and unknown vendor-posture values refuse by name at pack load, mandate create, and the Gate (state-tamper included)",
    "Every send and every refusal seals into a Blackbox-form evidence pack addressed to the broker of record, verifiable offline via consent_record_verify",
    "Copy Screen + Criteria Screen run a closed findings vocabulary and never silently rewrite; NO data/scraping layer exists \u2014 Covenant never holds or redistributes MLS data, scrapes portals, or resells/transfers/pools leads"
   ],
   "tools": [
    "lead_intake",
    "consent_attach_certificate",
    "consent_record_read",
    "consent_history",
    "revocation_record",
    "lead_context_read",
    "outreach_text",
    "outreach_call_place",
    "outreach_email",
    "followup_sequence_plan",
    "showing_schedule",
    "copy_screen",
    "criteria_screen",
    "consent_record_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0 synthetic); per-seat team subscription + brokerage tier are P1/P3 design items (spec \u00a710.4)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-covenant-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-covenant-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local/simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(local/simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, standing card eclipse-covenant-mcp-2026-10-25-4.json (scoped re-bench -4): 40 pass, 0 na of 40 checks (40/40 scoped lines: 37 independent harness lines + builder-suite line + surface line + workspace-integrity line). CEILING \u2014 read exactly: P0 is SYNTHETIC ONLY. No live outreach of any kind is certified or claimed; a counsel HARD GATE stands before any P1 live outreach, and it has not been lifted. Defect history, all retained append-only: base card eclipse-covenant-mcp-2026-10-25.json FAILED (28/35 \u2014 D1 CRITICAL revocation-wipe, D2 HIGH provenance downgrade); -2.json PARTIAL (44/45 \u2014 D1\u2013D7 closed, D8 open); -3.json PARTIAL (27/29 \u2014 D8 closed on its shapes, D8b open at two entry points); -4.json closes D8b at all three entry points including the Gate state-tamper path (VENDOR_POSTURE_UNKNOWN, 0 sends, refusals sealed) with sweep-hardening verified fail-closed and no over-refusal; B5 posture exhaustion and rule-pack rigidity pass. BACKLOG: LOW notes from cards -2/-3 (B1 refusal sealing / stale pack at Gate only / clarification 5-minute window) remain open, LOW severity, recorded as not gating for P0 local/simulator certification. N-CHECK: NOVELTY_PROVEN (stands from bench 1; the D8b fix hardened the proven mechanism, changed no surface).",
    "not_tested": [
     "Live outreach of any kind \u2014 P0 is synthetic only; counsel HARD GATE stands before any P1 live outreach",
     "Real DNC registry access, a real CRM (Follow Up Boss) connection, or real TrustedForm/Jornaya verification \u2014 all fixture-shaped at P0",
     "The backlog LOW items from cards -2/-3 (B1 refusal sealing / stale pack at Gate only / clarification window) \u2014 not re-benched in the -4 scope; status stands as recorded there"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-covenant-mcp-2026-10-25-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-covenant-mcp-2026-10-25-4.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-meridian-mcp",
   "name": "Eclipse Meridian MCP",
   "tagline": "Governed telehealth operations \u2014 jurisdiction-gated encounters, signed-note integrity, PHI access evidence. Not a healthcare provider.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Healthcare Operations Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Jurisdiction-gated encounters: licensure \u00d7 consent set \u00d7 mandate verify AT ENCOUNTER TIME against the patient's per-encounter attested location \u2014 license re-verified per encounter, never cached; a location change between booking and start re-runs the full gate (JURISDICTION_MISMATCH / CONSENT_SET_INCOMPLETE); jurisdiction rules are versioned counsel-signed DATA packs, never code constants",
    "Note-integrity pin: AI drafts live cryptographically OUTSIDE the record (UNSIGNED_DRAFT) until the treating clinician signs the exact canonical fingerprint; post-signature change is a new version + addendum, never a silent edit",
    "PRODUCT LAW: no note_finalize-class tool exists on the surface \u2014 signature is the clinician's act, never an agent capability \u2014 and no prescribing surface exists in any phase",
    "Minimum-necessary PHI reads: purpose-declared, mandate-scoped field-class projection enforced server-side; every read granted or refused seals a 164.312(b)-shaped hash-chained access record, practice-held and offline-verifiable; the Bridge refuses live PHI without an executed BAA + complete flow-down inventory (BAA_REQUIRED, no break-glass)"
   ],
   "tools": [
    "mandate_upsert",
    "mandate_get",
    "license_verify_at_encounter",
    "consent_set_required",
    "encounter_gate_check",
    "encounter_schedule",
    "encounter_start_gate",
    "encounter_pack_get",
    "intake_template_get",
    "intake_status_get",
    "note_draft_create",
    "note_fingerprint_get",
    "note_sign_request",
    "note_signed_status_get",
    "note_addendum_create",
    "patient_context_get",
    "appointment_get",
    "access_pack_get",
    "access_pack_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0 synthetic build); flat per-practice + per-clinician SaaS at live phases per spec \u00a714 \u2014 never % of professional revenue (CPOM/fee-splitting law)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-meridian-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-meridian-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, synthetic scope)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, synthetic scope) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-meridian-mcp-2026-10-26-2.json (re-bench 1): 22 pass, 0 na of 22 checks. CEILING \u2014 read exactly: SYNTHETIC ONLY. No live PHI, no real EHR connection, and no live claim of any kind is certified. NO SIGNING CAPABILITY EXISTS IN THIS PRODUCT: the surface is exactly the 19 specced Core tools with zero finalize-class tools; the re-bench probed 14 finalize/sign aliases via tools/call (all unknown-tool), ran a byte-for-byte import probe on a live draft (no clinician_sign attribute; the draft stays UNSIGNED_DRAFT), and swept every shipped file \u2014 no sign-capable path exists under any name, and the clinician-sign simulator exists only as bench equipment under tests/. The prior card eclipse-meridian-mcp-2026-10-26.json (FAILED \u2014 23 pass / 6 fail) is retained unedited; defects B-MER-1..5 are all CLOSED in this re-bench (sign-path removal, refusal-naming ruling, per-practice hash-chain partition, refusal sealing, plus the observation item). P1 GATES \u2014 all still closed: HIPAA counsel review, an executed BAA, and a design partner are required before any live phase; the Bridge already refuses live PHI without a BAA (BAA_REQUIRED, no break-glass). No prescribing surface exists in any phase. N-CHECK: PASS, carried from the 2026-10-26 bench (not re-run; the fix round changed enforcement within the same fused mechanism \u2014 gate / pin / sealed reads \u2014 and removed the sign path outright).",
    "not_tested": [
     "Live PHI of any kind \u2014 P0 is synthetic-only by spec; no live claim exists until every P1 gate in spec \u00a712.2 clears (HIPAA counsel + executed BAA + design partner)",
     "Any real EHR/platform adapter \u2014 the P0 Bridge is the HAPI FHIR sandbox stand-in only; no vendor adapter is built",
     "Clinician signing itself \u2014 by design: no signing capability exists in the product; the sign simulator is bench equipment in tests/ only, never a product surface (spec C3)"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-meridian-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-meridian-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-consent-mcp",
   "name": "Eclipse Consent MCP",
   "tagline": "per-agent, per-purpose consent receipts for personal data \u2014 a grant an agent must present, and a revocation that propagates.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "A check-gate, not a registry: a processor agent presents a consent receipt id at action time and gets ALLOW/DENY + reason + record id synchronously \u2014 a revocation is effective at the very next check, for every processor, with no sync step and no consent copies held by processors",
    "Provenance law: every grant names subject, grantor, grantee, purpose, data classes, capture method, capture evidence ref, captured_at and expiry \u2014 a record without provenance is void, refused at grant time and denied at check time",
    "Separation of duties by name: the grantee can never write its own consent (CONSENT_SELF_ASSERTED); grants issue only from the subject or a recorded delegate; revocation is subject/delegate only",
    "Append-only, hash-chained records; revocation is a new record that supersedes at check time, and consent_dependents returns the propagation map \u2014 exactly the processors who presented a receipt \u2014 with the revocation notices issued to them",
    "Purposes, data classes, capture methods and revocation sources are versioned vocabularies shipped as data (vocabularies.json), not code; consent_bulk_import / consent_extend / consent_check_skip do not exist and refuse -32602 at the transport; family T3 is empty \u2014 no enforcement verb at any tier"
   ],
   "tools": [
    "consent_grant",
    "consent_check",
    "consent_revoke",
    "consent_history",
    "consent_dependents"
   ],
   "platforms": [
    "MCP over stdio \u2014 local v0.1 build over a local state file; no network transport"
   ],
   "pricing_model": "Free local v0.1; hosted pricing TBD per spec (owner-gated phase)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-consent-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-consent-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25: 23 pass, 1 na of 24 checks (U1 na), 0 fail \u2014 23/23 scored checks, single bench, no fix round. CEILING \u2014 read exactly: CERTIFIED(local) over FIXTURE subjects only, and the fixture boundary is enforced by the product, not by convention: v0 refuses any non-fixture subject by name (SUBJECT_NOT_FIXTURE) and every subject in the package is synthetic. Real-subject personal-data processing is NOT built and is held at gate G-COUNSEL (spec \u00a717); jurisdiction packs (state privacy / AI-law vocabulary variants) are NOT built (G-COUNSEL per pack) \u2014 the versioned-vocabulary mechanism they would ride on ships in v0 as data. Consumer-facing grant UX is NOT built (G-OWNER); v0 has no consumer surface at all, and no hosted or network form exists. Consent records consent; it does not manufacture it, and no output certifies any party.",
    "not_tested": [
     "Real-subject personal data \u2014 NOT built, held (G-COUNSEL, spec \u00a717); v0 refuses any non-fixture subject by name (SUBJECT_NOT_FIXTURE)",
     "Jurisdiction packs (state privacy / AI-law vocabulary variants) \u2014 NOT built (G-COUNSEL per pack)",
     "Consumer-facing grant UX \u2014 NOT built (G-OWNER); v0 has no consumer surface at all",
     "Hosted / live registry service form and any network transport \u2014 NOT built; v0 is a local stdio server over a local state file"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-consent-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-consent-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-consent-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-consent-mcp"
   }
  },
  {
   "id": "eclipse-lineage-mcp",
   "name": "Eclipse Lineage MCP",
   "tagline": "spawn trees, model/config lineage, and version ancestry for agents \u2014 who spawned whom, running what, changed when.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Generation semantics: a behavior-relevant config change (model id, system-prompt hash, tool-surface hash, policy ref) MINTS a new generation identity as a new append-only record \u2014 a write aimed at an existing generation refuses GENERATION_IMMUTABLE by name",
    "Per-root hash chains, signed: lineage_verify recomputes each root's chain and names the first broken link; system prompts and configs are recorded as hashes + owner-held refs only \u2014 there is no prompt_get",
    "Provenance labels that never overclaim: self-emission is a subject-provided claim forever; parent+child signature corroboration is labeled corroborated \u2014 and in v0, presented corroboration strings are unverifiable by construction (no per-agent key registry), so they are labeled corroboration_unverified inside the signed record body; a spawn without a mandate ref is recorded UNMANDATED, visible, never hidden",
    "Hash values are shape-validated everywhere they enter (SHA-256, 64 hex chars) \u2014 non-digest values refuse HASH_VALUE_INVALID with nothing stored",
    "Self/consented emission only: framework emission adapters (G-LIVE per framework) and any external or hosted emission surface (G-OWNER) are held, not built; family T3 is empty \u2014 no rewrite, prune, delist or enforcement verb exists"
   ],
   "tools": [
    "lineage_spawn",
    "lineage_config_change",
    "lineage_retire",
    "lineage_tree",
    "lineage_verify"
   ],
   "platforms": [
    "MCP over stdio \u2014 local v0.1 build; records stay on the operator's machine"
   ],
   "pricing_model": "Free local v0.1; hosted lineage pricing TBD per spec (owner-gated, G-OWNER phase)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-lineage-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-lineage-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card run 3 (scoped re-bench): 10 pass, 0 na of 10 checks \u2014 L10/L14/L4, minors m1\u2013m3 and spot regressions L1/L5/L8 re-probed PASS; all other lines stand as scored on run 2. Runs 1 and 2 FAILED and are retained append-only (test-bench/results/eclipse-lineage-mcp-2026-10-26.json, eclipse-lineage-mcp-2026-10-26-2.json); run 3 closed D1 (corroboration forgery), D2 (unvalidated hash values) and D3 (behavior_relevant laundering parameter) at the mechanism level, not the fixture level. CORROBORATION HONESTY \u2014 read exactly: in v0 there is no per-agent key registry, so presented corroboration strings are UNVERIFIABLE by construction; they are labeled corroboration_unverified in the signed, hash-chained record body (tamper-evident, proven at L10), and absence shapes stay claim_only. Self-emission is labeled a subject-provided claim forever; no surface upgrades a claim to a fact. CEILING: CERTIFIED(local), self/consented emission only \u2014 framework emission adapters are NOT built (G-LIVE per framework), external/hosted lineage is NOT built (G-OWNER); v0 signs with a local seed key (keys/, gitignored) and production findings-key custody is a gated decision.",
    "not_tested": [
     "Framework emission adapters \u2014 NOT built (G-LIVE per framework); v0 emission is self/consented only via the MCP tools",
     "External emission / hosted lineage for enterprises \u2014 NOT built (G-OWNER); records stay on the operator's machine",
     "Production findings-key custody \u2014 v0 signs with a local seed key (keys/, gitignored, chmod 600); custody is a gated decision"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-lineage-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-lineage-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-lineage-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-lineage-mcp"
   }
  },
  {
   "id": "eclipse-attest-mcp",
   "name": "Eclipse Attest MCP",
   "tagline": "signed performance attestations for agents, issued only against settled, receipt-backed work \u2014 reputation that travels because its evidence does.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Attestations issue ONLY against settled, receipt-backed work: the v0 admitted evidence class is Till settlement receipts \u2014 signed, hash-pinned artifacts a verifier can re-check offline; no receipt refuses EVIDENCE_MISSING, unsettled refuses EVIDENCE_NOT_SETTLED, forged/tampered or wrong-job/subject/counterparty receipts refuse by name",
    "Wash and self-dealing excluded by construction (WASH_EXCLUDED): the Till ledger related-party computation plus the accountable-identity relation are checked before any record exists",
    "Evidence diversity computed, never asserted: attest_list_subject groups by the registry's accountable_id (asserted fields are never read) with per-pair harmonic weighting \u2014 10 attestations from one counterparty pair weigh \u22482.929, less than 3 from distinct pairs; a Sybil cluster cannot inflate reputation by self-assertion",
    "Closed outcome vocabulary (DELIVERED_AS_SCOPED / DELIVERED_LATE / PARTIAL / NOT_DELIVERED / DISPUTED_OUTCOME); value is banded, never exact; no star ratings and no free-text reviews exist",
    "attest_verify is a pure offline function of the artifact, the presented receipt and public keys \u2014 it reads no server state; issuance, revocation and dispute are T1 verbs under the verified-approval pattern (ECDSA mandate artifacts, params-bound); revocations and disputes are new signed records chained to the original \u2014 nothing is ever deleted or edited"
   ],
   "tools": [
    "attest_issue",
    "attest_verify",
    "attest_list_subject",
    "attest_revoke",
    "attest_dispute"
   ],
   "platforms": [
    "MCP over stdio \u2014 local v0.1 build; offline verification, no network egress"
   ],
   "pricing_model": "Free local v0.1; public feed / hosted pricing TBD per spec (gated, G-COUNSEL + G-OWNER phases)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-attest-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-attest-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25, standing card scoped re-bench #2 (C12 diversity battery): 10 pass, 0 na of 10 checks. Bench history retained append-only: the first bench FAILED on D1 (test-bench/results/eclipse-attest-mcp-2026-10-25.json) and scoped re-bench #1 FAILED on D2 (eclipse-attest-mcp-rebench-c12-2026-10-25.json); re-bench #2 closed D2 \u2014 the diversity computation now resolves its grouping key registry-only (accountable_id from the identity registry; asserted fields are never read), verified against a bench-owned Sybil registry (r2-syb-a/b/c under one accountable id weigh as one). All other first-bench passing lines stand un-re-run. CEILING: CERTIFIED(local) for the v0 surface \u2014 the ONLY admitted evidence class is Till settlement receipts; new evidence classes are NOT admitted (G-OWNER per class; the Herald receipt-on-delivery class is named admissible in spec but NOT admitted in v0.1); public attestation feeds / leaderboards are NOT built (T2 + G-COUNSEL) and their tool names refuse -32602; cross-marketplace integrations NOT built (G-LIVE per platform). Genesis identities are CETech's own service agents as fixtures; v0 signs with a local test key (keys/, gitignored) \u2014 production findings-key custody is a gated decision. No star ratings exist and none are implied.",
    "not_tested": [
     "New evidence classes \u2014 NOT admitted in v0.1 (G-OWNER per class); any class other than till_settlement refuses EVIDENCE_CLASS_NOT_ADMITTED by name",
     "Public attestation feeds / leaderboards \u2014 NOT built (T2 + G-COUNSEL); feed/leaderboard tool names refuse -32602",
     "Cross-marketplace integrations \u2014 NOT built (G-LIVE per platform); attestations are self-contained signed artifacts",
     "Herald receipt-on-delivery evidence class \u2014 named admissible in spec but NOT admitted in v0.1",
     "Production findings-key custody \u2014 v0 signs with a local test key (keys/, gitignored, chmod 600); custody is a gated decision"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-attest-mcp-rebench2-c12-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-attest-mcp-rebench2-c12-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-attest-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-attest-mcp"
   }
  },
  {
   "id": "eclipse-revoke-mcp",
   "name": "Eclipse Revoke MCP",
   "tagline": "signed revocation lists for agent cards, keys, and mandates \u2014 one feed, every registry, revocation that actually propagates.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Issuer-only origination: a revocation record is accepted only when its signature verifies against the registry key of the identity that issued the original artifact (or its recorded successor) \u2014 any other signer refuses REVOKE_NOT_ISSUER by name and is receipted as a violation attempt; Revoke distributes revocations, it never originates one for an artifact it does not hold",
    "Four subject classes (cards, keys, mandates, attestations) under a closed reason vocabulary (KEY_COMPROMISED / ISSUER_ROTATED / SUBJECT_RETIRED / POLICY / ISSUER_ERROR); records are append-only and hash-chained per issuer with full provenance",
    "list_publish derives epoch-versioned signed lists (full + delta) from the record store \u2014 recomputable from the records, so a list that disagrees with its records fails verification; revocation_check is a pure offline function of a list copy; staleness and epoch divergence are announced, never silent",
    "A mistaken revocation is corrected by the issuer's signed counter-notice \u2014 both records remain and a check shows the pair's net effect; subscribers acknowledge epochs with signed propagation receipts surfaced by feed_status",
    "Family T3 is empty: there is no enforcement verb \u2014 nothing delists, blocks, freezes or takes down anything; external distribution (G-REG/G-LIVE per consumer), emergency revocation classes (G-COUNSEL) and any live push are held gates, not built"
   ],
   "tools": [
    "revoke_issue",
    "revoke_counter_notice",
    "list_publish",
    "revocation_check",
    "feed_status",
    "feed_acknowledge"
   ],
   "platforms": [
    "MCP over stdio \u2014 local v0.1 build; offline revocation checks against signed list copies"
   ],
   "pricing_model": "Free local v0.1; hosted feed distribution pricing TBD per spec (held, G-REG/G-LIVE + G-OWNER)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-revoke-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-revoke-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card run 3 (scoped re-bench #2): 13 pass, 0 na of 13 checks \u2014 the C13/B1 provenance battery plus genuine-path controls, with run 2's closures standing. Bench history retained append-only: run 1 FAILED (D1\u2013D3, test-bench/results/eclipse-revoke-mcp-2026-10-26.json) and run 2 FAILED (D4 \u2014 list-verification laundering, eclipse-revoke-mcp-2026-10-26-2.json); run 3 proves all four D4 variants (fingerprint-laundered recomputed, stripped sig/fingerprint, foreign unsigned epoch-9, foreign validly-attacker-signed) now cap at LIST_VERIFICATION_FAILED for hits AND absent refs, while genuine paths (supplied + stored) answer REVOKED_BY_ISSUER / COUNTER_NOTICED / NOT_LISTED exactly as before. CEILING: CERTIFIED(local) for own-issuer feed + offline check over fixture issuers. External distribution of the feed to registries/merchants is NOT built (T2 + G-REG/G-LIVE per consumer) \u2014 list_publish writes the local store only and v0 contains no network code; emergency revocation classes are NOT built (G-COUNSEL) \u2014 the closed reason vocabulary has no emergency class; no live push to subscribers exists. v0 signs with a local seed key (keys/, gitignored); production findings-key custody is a gated decision.",
    "not_tested": [
     "External distribution of the feed to registries/merchants \u2014 NOT built (T2 + G-REG/G-LIVE per consumer); list_publish writes the local store only, no network code in v0",
     "Emergency revocation classes \u2014 NOT built (G-COUNSEL); the closed reason vocabulary has no emergency class",
     "Any live push to subscribers \u2014 NOT built; subscribers check offline against list copies and acknowledge epochs",
     "Production findings-key custody \u2014 v0 signs with a local seed key (keys/, gitignored, chmod 600); custody is a gated decision"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-revoke-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-revoke-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-revoke-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-revoke-mcp"
   }
  },
  {
   "id": "eclipse-keyhold-mcp",
   "name": "Eclipse Keyhold MCP",
   "tagline": "credential leases, never raw keys \u2014 scoped, expiring secret leases for agents; the agent gets a capability, never the key.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Scoped, expiring leases over NON-OAuth static credentials (raw API keys / PATs) under Wallet policy semantics \u2014 allowlist scope (hosts/methods/path prefixes, bounded by the enrollment), expiry, use-count cap, audience binding to one agent identity, per-lease kill switch \u2014 with an owner-held master key",
    "Raw keys never enter model context: a secret is sealed on the operator's own machine under the owner master public key and only the sealed envelope crosses the MCP surface; the MCP process stores ciphertext in a separate vault file and contains NO decrypt path \u2014 decryption lives only in the redemption component, which injects the credential into the outbound request after the model's view ends and returns metadata only",
    "No tool returns secret material: there is no secret_get and no lease_redeem (redemption is not an MCP operation) \u2014 those names refuse -32602 at the transport; lease tokens are shown once to the enrolling operator and stored hash-only",
    "Every T1 verb requires an ECDSA owner-signed, params-bound approval; redemption re-reads lease state synchronously (revocation/expiry/cap/audience/allowlist refusals by name, receipted to a hash-chained audit trail); two independent executor implementations ship, proving redemption is a protocol, not a runtime",
    "The claim is the static-key world outside any vendor runtime (Amendment A1): enrolling an OAuth-capable target renders that out-of-claim boundary in the enrollment record; third-party custody is HELD (G-COUNSEL + G-OWNER + Verity security review; may conclude never) \u2014 custody_scope=third_party refuses THIRD_PARTY_CUSTODY_HELD by name",
    "Descriptor law: the name never implies custody of funds and the descriptor always reads 'credential leases, never raw keys'; the non-exposure guarantee rests on allowlist serialization of the sealed envelope (closed field set, canonical re-serialization) and no-echo errors, with input key-material scanning as defense-in-depth"
   ],
   "tools": [
    "secret_enroll",
    "lease_issue",
    "lease_status",
    "lease_list",
    "lease_revoke",
    "redemption_audit"
   ],
   "platforms": [
    "MCP over stdio \u2014 local v0.1 build; redemption by co-located executor, exercised on fixture transport"
   ],
   "pricing_model": "Free local v0.1; hosted pricing TBD per spec (owner-gated, G-OWNER phase)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-keyhold-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-keyhold-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 FIRST-PARTY SCOPE ONLY. Eclipse Bazaar Test Bench 2026-10-25, standing card scoped re-bench #3: 13 pass, 0 na of 13 checks on the card's check lines, comprising 59/59 individual bench probes across the D7/D8 boundary battery, the identity-exemption angle set (aliasing-by-copy, self-nesting, list-wrapped envelope, list owner_approval, signature-plus-extra-material, dotted keys on secret_enroll) and the K3/D6 spot batteries. Bench history retained append-only: runs 1\u20133 FAILED (test-bench/results/eclipse-keyhold-mcp-2026-10-25.json, -2.json, -3.json) and stand as the record for the lines they scored; every gating defect they raised is closed on the standing card or a retained predecessor card. CEILING \u2014 read exactly: certification covers first-party leases over ONE redemption class (https_static_key), exercised on a fixture transport \u2014 live redemption against a real third-party API was NOT exercised and no real credential exists in the package. Third-party custody is NOT built and is HELD (G-COUNSEL + G-OWNER + Verity security review of the redemption component; the gate may conclude never). The v0 envelope construction (ephemeral ECDH P-256 + HKDF-SHA256 + HMAC stream/EtM) is a local reference construction for the fixture/dogfood scope; the held security review may replace it before any wider custody claim. NAME: CONDITIONAL PASS \u2014 trademark/collision screen owed before any public surface (G-TM); the descriptor always reads 'credential leases, never raw keys'. v0 uses local seed keys (keys/, gitignored, chmod 600): the private master half is read ONLY by the redemption executor, never by the MCP server.",
    "not_tested": [
     "Live redemption against a real third-party API \u2014 NOT exercised; v0 acceptance runs on a fixture transport and no real credential exists in the package",
     "Third-party custody \u2014 NOT built and HELD (G-COUNSEL + G-OWNER + Verity security review; may conclude never); custody_scope=third_party refuses THIRD_PARTY_CUSTODY_HELD by name",
     "Additional redemption target classes \u2014 NOT built (per class, G-OWNER); v0 redeems exactly one class: https_static_key",
     "Production key custody \u2014 v0 uses local seed keys (keys/, gitignored, chmod 600); password-manager custody and rotation rehearsal are later gate decisions",
     "Envelope construction review \u2014 the v0 seal/open construction is a local reference construction for the fixture/dogfood scope; the held security review may replace it",
     "Trademark/name screen \u2014 NOT done (G-TM owed before any public surface); name is a CONDITIONAL PASS and the descriptor always reads 'credential leases, never raw keys'"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-keyhold-mcp-2026-10-25-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-keyhold-mcp-2026-10-25-4.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-keyhold-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-keyhold-mcp"
   }
  },
  {
   "id": "eclipse-strata-mcp",
   "name": "Eclipse Loft MCP",
   "tagline": "Governed design-to-print authority for agents \u2014 signed provenance from model to machine, safety envelopes at the bridge, evidence for every print.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Fabrication Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Fabrication authority exists only inside a Herald-grammar signed mandate pinning agent \u00d7 printer serial \u00d7 design pin \u00d7 slicer build \u00d7 profile hash \u00d7 material \u00d7 thermal/volume/duration/budget envelope \u00d7 site class \u00d7 window, enforced at a site bridge holding the only printer credentials",
    "The bridge re-slices the pinned inputs at dispatch and canonical-hash-matches the toolpath before any printer contact \u2014 hand-edited toolpaths, tampered or poisoned profiles, slicer drift, config drift and material swaps all refuse by name before heat",
    "Every print and every refusal seals into a Blackbox-form evidence pack; Loft Proof verifies packs offline, re-deriving the chain \u2014 and only against a trusted signer anchor supplied by the verifier (registry / expected fingerprint)",
    "No raw G-code surface exists (T2 refused through P2) and config writes are permanently refused \u2014 no tool, no path around; design registration proposes only, pin activation is a human-principal signed act (AGENT_SELF_PIN_REFUSED)",
    "Loft Gauge statically checks mandates and profiles for envelope soundness before any session opens; site class fails closed \u2014 anything not exactly ATTENDED or UNATTENDED_RATED drops the session to attended-required"
   ],
   "tools": [
    "design_register",
    "design_inspect",
    "design_pin_get",
    "printers_discover",
    "session_open",
    "job_prepare",
    "job_dispatch",
    "job_status",
    "job_abort",
    "telemetry_read",
    "session_close"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Bridge license per site + per-printer seats (spec \u00a718); P0 simulator build free/local",
   "page_url": "https://eclipsebazaar.com/products/eclipse-strata-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-strata-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED(simulator) \u2014 Eclipse Bazaar Test Bench 2026-10-25, scoped re-bench r3 (standing): 12 pass, 0 na of 12 checks \u2014 the D2-only scope (key-substitution attack D2X + V3/V4/V5 tamper set + genuine packs with and without anchor, library and CLI). D1/D3\u2013D10 were closed in scoped re-bench r2 and carried, not re-probed, per scope. History, all cards retained append-only: bench 1 FAILED (35 of 45 checks \u2014 test-bench/results/eclipse-strata-mcp-2026-10-25.json); scoped re-bench r2 FAILED (25 of 26 \u2014 eclipse-strata-mcp-2026-10-25-r2.json) on the sole remaining HIGH, D2. Scope \u2014 read exactly: SIMULATOR ONLY. P0 printers are host-shaped simulators (OctoPrint virtual + virtual Klipper/Moonraker, in-process) behind the production interface, with a deterministic simulated slicer; NO live printer was exercised at any point in any bench run, no heat exists in this bench, and no hardware claim of any class is made. TRUSTED SIGNER ANCHOR: Strata Proof verifies a pack only against a verifier-supplied registry / expected fingerprint; a pack's embedded key and self-consistent fingerprint never suffice \u2014 unanchored packs and unknown signers report PRINT_UNVERIFIED (UNVERIFIED_SIGNER) by design, never a silent verify. That anchor is what closed D2: in r2 an attacker who minted their own keypair, tampered the mandate (material swap, +365d expiry), re-signed and re-sealed produced PRINT_VERIFIED; in r3 the byte-for-byte same attack is refused solely on UNVERIFIED_SIGNER under a genuine anchor, under a genuine expected fingerprint, and with no anchor. GEOMETRY, narrowed in fix round D7 and consistent across spec, README, manifest and tool surface: declared_geometry_only \u2014 design_inspect returns the caller-declared bounding box plus arithmetic over it; manifold / triangle / wall-thickness facts are null, never echoed as verified; no geometry-kernel claim is made. BAMBU posture (spec): a Bambu adapter is P2+ and owner-Developer-Mode-only \u2014 the enablement act is documented as the owner's; there is no Bambu path, bypass, or claim at P0. NAME CONDITIONAL pending trademark screen (Stratasys shared root, same industry); fallbacks on record: Eclipse Sinter, then Eclipse Loft. N-CHECK: NOVELTY_PROVEN (bench 1, retained) \u2014 renamed-verb overlap 55% (<80%); a Kiln-shaped fixture printing a hand-edited +15 \u00b0C toolpath and an unbound job was refused on both counts \u2014 the mandate-and-bridge mechanism exists in no incumbent.",
    "not_tested": [
     "Real hardware of any class \u2014 no physical printer, no heat; every bench target is a host-shaped simulator.",
     "Real slicer binaries (PrusaSlicer / Orca) \u2014 P0 slicing is a deterministic simulated slicer behind the production interface.",
     "Real Moonraker / OctoPrint endpoints and vendor clouds.",
     "Herald signer \u2014 P0 uses the local Ed25519 PinSigner fallback behind the production port; Herald custody is a later phase.",
     "Blackbox custody of packs (packs are Blackbox-form; the Blackbox product is not in the P0 path).",
     "P1/P2 adapters \u2014 including Bambu (owner-Developer-Mode-only posture per spec) and the Elegoo Neptune 4 dogfood purchase (owner decision D2).",
     "Unattended real printing \u2014 mandates default ATTENDED-required; UNATTENDED_RATED is explicitly signed per site."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-strata-mcp-2026-10-25-r3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-strata-mcp-2026-10-25-r3.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-corona-mcp",
   "name": "Eclipse Corona MCP",
   "tagline": "Sealed render-proof for deployed websites \u2014 signed verdicts bound to the deployed artifact, recomputed by anyone.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Certification & Testing",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Sealed render-proof: renders the served artifact across a pinned matrix (Chromium/Firefox/WebKit x 1440x900, 768x1024, 390x844), runs a closed vocabulary of mechanical probes at each cell (served Content-Type per asset class, stylesheet application, media boxes, overflow, viewport meta, alt presence, console errors, transport), hashes every screenshot, and seals measurements + hashes + matrix into a signed, hash-chained pack any third party can recompute offline",
    "Proof bound to the deployed artifact: the pack pins the deploy manifest (version + per-file content hashes) as the approved build \u2014 any served-byte change invalidates the proof automatically (gate reads STALE, never VERIFIED_LIVE)",
    "Claim-gate only (spec \u00a78.2): the publish pipeline may say 'verified live' only while a PASS served pack's input hashes equal the deployed manifest; gate failure blocks the word 'verified', never the publish \u2014 WARN and ENFORCE compute identical states",
    "Honest limits by construction: a PASS means exactly 'no probe failed and no probe errored'; the pack proves identity and mechanical soundness of the pinned bytes, never that an asset is semantically the right asset \u2014 semantic approval is the separate human act of approving the contact sheet; verify_page is an unsealed diagnostic and says so verbatim in every response",
    "No driver surface: Playwright is an internal adapter only \u2014 there is no screenshot/click/navigate tool and no code-exec tool; substrate-shaped names refuse -32602; unknown probes refuse PROBE_UNKNOWN on every surface; evidence classes (served/staged/hosted) are never blended"
   ],
   "tools": [
    "verify_deploy",
    "verify_page",
    "pack_inspect",
    "pack_recompute",
    "probe_registry"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local P0; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-corona-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-corona-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-25: 25 pass, 0 na of 27 checks (1 partial, 1 fail \u2014 LOW defects D-COR-1/D-COR-2, no verdict impact, retained on the card). CEILING \u2014 read exactly: CERTIFIED(local) for the local verifier only, at the P0 ceiling, and nothing broader. Proven: the 5-tool MCP surface + Gate CLI + Sheet CLI as shipped; staged-class sealed packs over the \u00a714 fixture corpus (bench-built, bench-signed); served-class dogfood pack verification for cetech.ai (builder-sealed, bench-recomputed); the gate contract including WARN/ENFORCE claim asymmetry; the house profile on a bench house-shaped fixture. Render-proof packs are bound to deployed artifact hashes: a pack proves identity and mechanical soundness of the pinned bytes under named measured facts \u2014 it does NOT prove an asset is semantically the right asset; semantic approval is the separate human act of approving the pack's contact sheet once per version. Claim-gate wording (spec \u00a78.2): a deploy may be reported 'verified live' only while a PASS served pack exists whose input hashes equal the currently deployed manifest; any served-byte change invalidates the proof automatically; the gate blocks the word 'verified', never the publish. No hosted or live scope is certified: the hosted matrix is a P2 seam only (HOSTED_MATRIX_NOT_AVAILABLE). N-CHECK: NOVELTY_PROVEN \u2014 shipped surface 7/7 novel core (5 MCP tools + Gate CLI + Sheet CLI), substrate verbs 0/7 = 0% (R3 kill line 80% not triggered). NAME CONDITIONAL pending trademark screen (Chaos Corona / Corona beer screen outstanding, D1); fallbacks on record: Eclipse Transit, Eclipse Behold, Eclipse Lantern.",
    "not_tested": [
     "Real-device / hosted evidence class: P2 seam only (HOSTED_MATRIX_NOT_AVAILABLE verified); no hosted pack exists or was certified.",
     "Semantic correctness of any asset \u2014 never claimed: a pack proves identity and mechanical soundness of the pinned bytes; semantic approval is the separate human act on the contact sheet.",
     "Sentinel-mode UNSTYLED_RENDER on the live dogfood sites: sentinels not yet adopted on cetech.ai / thewhitereport.com / eclipsebazaar.com (owner site edits + publish outstanding); dogfood packs exercised heuristic mode only.",
     "Served-class rendering of Chromium/Firefox cells on GoDaddy-hosted dogfood sites from the bench VM: transport-blocked by the host, sealed honestly as PAGE_UNREACHABLE; served certification rests on the rendered cells plus loopback shapes.",
     "Full \u00a714 B9 determinism as written (each dogfood site + full corpus x5): bench ran 5x on one stable fixture plus builder-suite shapes.",
     "ENFORCE posture as a flipped production state: mechanics benched in both modes; the flip is an owner config act (D2) and has not occurred.",
     "Herald-signed packs: bench and dogfood packs are local-signer packs (signer_type=local) verified through the PinSigner port grammar; no Herald custody exercised.",
     "Trademark screen for the name 'Eclipse Corona' (D1): still CONDITIONAL \u2014 Chaos Corona / Corona beer screen outstanding before any public surface; certification covers function, not the name.",
     "Third-party subjects, Bazaar listing mechanics, scheduled re-verification, public proof pages, CI adapters: P1/P2, not built, not certified."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-corona-mcp-2026-10-25.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-corona-mcp-2026-10-25.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-corona-mcp:latest",
    "registry_name": "ai.cetech/eclipse-corona",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/ai.cetech%2Feclipse-corona/versions/0.1.0",
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-corona-mcp"
   }
  },
  {
   "id": "eclipse-crosslist-mcp",
   "name": "Eclipse Crosslist MCP",
   "tagline": "Publish once, tracked everywhere \u2014 registry-native facets plus a mandate-bound, identity-checked listing ledger.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity, Trust & Reputation",
    "Agent Infrastructure"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Registry-native facets: selecting a registry (Eclipse Bazaar, Official MCP Registry, Glama, Smithery) materializes that registry's own verb set and native data model as MCP tools, each with native|adapted|absent provenance \u2014 honest absences included (Glama carries ZERO write verbs; claim execution is refused permanently)",
    "A single Herald-signed mandate (agent \u00d7 registry set \u00d7 manifest hash \u00d7 window) drives submission of one canonical server.json manifest across registries; namespace-proof and hosted-deploy steps additionally require T3 ECDSA owner-signed, params-bound approvals",
    "Listing-state ledger: a hash-chained ledger tracks each registry's independent state (tracked/submitted/live/claimed/stale/failed) with Herald-sealable receipts (seal.status pending \u2014 sealable, never sealed)",
    "Identity-bound acceptance: a submit-accepted receipt is written only when the observed registry record matches the submitted name + version + payload hash; foreign, partial, or version-swapped evidence refuses MANIFEST_HASH_MISMATCH with no acceptance \u2014 and every poll transition out of 'submitted' is identity-gated the same way",
    "No union index, no cross-facet search, no fused ranking, no house score \u2014 cross-facet queries refuse by name (CROSS_FACET_QUERY_REFUSED); refusals are first-class output from a closed 21-code vocabulary"
   ],
   "tools": [
    "list_registries",
    "select_registry",
    "deselect_registry",
    "invoke_facet_tool",
    "ledger_create_track",
    "ledger_submit",
    "ledger_status",
    "ledger_poll",
    "ledger_list_tracks",
    "ledger_receipts",
    "bazaar__search_products",
    "bazaar__find_solutions",
    "bazaar__get_product",
    "bazaar__compare_products",
    "bazaar__get_certification",
    "bazaar__list_categories",
    "bazaar__publish_catalog_entry",
    "bazaar__set_listing_status",
    "official__list_servers",
    "official__get_server",
    "official__list_versions",
    "official__get_version_detail",
    "official__check_namespace",
    "official__publish_server",
    "official__publish_new_version",
    "official__verify_namespace_proof",
    "glama__search_servers",
    "glama__get_server",
    "glama__get_scorecard",
    "glama__get_tool_scores",
    "glama__get_health",
    "glama__get_gateway_state",
    "glama__get_install_config",
    "glama__claim_status",
    "smithery__search_servers",
    "smithery__get_server",
    "smithery__get_hosting_state",
    "smithery__get_install_counts",
    "smithery__list_releases",
    "smithery__get_connect_state",
    "smithery__publish_server",
    "smithery__publish_release",
    "smithery__deploy_hosted"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; suite pricing TBD per spec",
   "page_url": "https://eclipsebazaar.com/products/eclipse-crosslist-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-crosslist-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(split per facet)",
    "certified": true,
    "certified_scope": "CERTIFIED(split per facet) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-crosslist-mcp-2026-10-26-4.json: 39 pass, 0 na of 40 checks (1 partial \u2014 the builder-suite re-run line, whose sole failure was the stale fixed-count dogfood assert; fixed in this listing pass, suite now 50/50, smoke PASS). PER-FACET SCOPES \u2014 read exactly: root+ledger CERTIFIED(local): submit acceptance is identity-bound on every write facet (the observed registry record must match the submitted name + version + payload hash; Bazaar: product id/name + record hash), claimed-at-submit lands via the legal submitted\u2192live\u2192claimed two-step, stuck rows repair by receipted re-observation, and EVERY ledger_poll transition out of 'submitted' is identity-gated (live/failed via the shared identity gate, claimed via the repair gate) \u2014 a landed receipt proves the observed record matched the submitted artifact's identity at poll time, nothing about live registries. Bazaar facet CERTIFIED(local): the real catalog served through Crosslist (80 products at bench), publish/status writes under mandate. Official facet CERTIFIED(live-read) for list_servers/get_server/list_versions/get_version_detail; its writes are CERTIFIED(fixture) only and refuse REGISTRY_WRITE_UNAVAILABLE in live mode \u2014 NOT live-write certified. Smithery facet CERTIFIED(live-read) for search_servers/get_server ONLY; hosting/install-counts/releases/Connect sub-resources and publish/publish-release/deploy writes are CERTIFIED(fixture) only and refuse in live mode \u2014 NOT live-write certified. Glama facet CERTIFIED(fixture-read) only, all 8 verbs, ZERO write verbs \u2014 NOT live certified at any scope (live API returned 401; no key held). Herald dependency FIXTURE ONLY: mandates verified against a local ECDSA P-256 Herald-fixture key; production Herald RSA-JWS was not exercised. Receipts are Herald-SEALABLE with seal.status pending \u2014 never sealed. No live-write claim is made for any facet. KNOWN LIMITATIONS (standing LOWs on the card, in plain words): deeply nested error envelopes (wrapper depth 4 or more, and top-level list payloads) can escape detection, and error-shaped data keys can be refused by mistake (R3); on resubmission a stuck-row repair runs just before the mandate is verified, though nothing is written or accepted before that verification (R8); a track stuck at 'submitted' whose registry record is entirely absent has no automatic exit \u2014 it stays submitted rather than inventing a state (R9); submitting to Glama's absent native verb consumes the one-time mandate nonce, so a later legitimate submission can be refused as a replay (D8); the earlier claim that a production Herald key drops in unchanged was overbroad for RSA keys and is not repeated (D5); receipts are sealable and pending, not sealed (D7). N-CHECK (first bench, retained): the facet verbs deliberately mirror each registry's native verbs (renamed-verb share above the house line) \u2014 NO novelty claim rests on the facet verbs; the certified mechanism is the listing-state ledger plus the mandate constraint, which the bench exercised directly.",
    "not_tested": [
     "Live writes on any facet \u2014 none exist or were exercised; Official/Smithery writes are fixture-scope only and refuse REGISTRY_WRITE_UNAVAILABLE live.",
     "Glama live API \u2014 401 without a key, none held; Glama is fixture-read only at every scope.",
     "Production Eclipse Herald (RSA-JWS) signing/sealing \u2014 fixture ECDSA P-256 only; receipts sealable/pending, never sealed.",
     "Hosted / multi-tenant transport \u2014 P1; v0.1 is local stdio only. Deferred registries (mcpso, pulsemcp, lobehub; claude-connectors manual tracks) are P1, absent by design."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-crosslist-mcp-2026-10-26-4.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-crosslist-mcp-2026-10-26-4.json"
   },
   "install": {
    "oneliner": "uvx eclipse-crosslist-mcp",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/crosslist",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Fcrosslist/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-crosslist-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-crosslist-mcp"
   }
  },
  {
   "id": "eclipse-verbatim-mcp",
   "name": "Eclipse Verbatim MCP",
   "tagline": "Title 26 as a sealed object: per-section hashes, a recomputable signed manifest, and byte-for-byte cite-check verdicts.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Cite-check (the headline mechanism): a quoted passage is checked byte-for-byte against the sealed statutory text and returns a closed verdict \u2014 MATCH, DIVERGES with the first divergence localized by byte offsets, or NOT_IN_CORPUS. Bench facts: the hostile battery produced 0 false MATCH across digit swaps, word substitutions, punctuation changes, cross-section splices, editorial-notes-passed-as-statute, other-title text, and instruction-shaped passages; whitespace-only differences MATCH by published design and nothing non-whitespace is laundered",
    "Sealed corpus, recomputable by anyone: Title 26 (OLRC-published text, release point Public Law 119-124) is sealed at ingest under the published canonicalization verbatim-canon/1.1 into snapshot usc26-119-124-de68dcc8b3db \u2014 per-section hashes for all 2,277 sections, dual Merkle roots (statutory + editorial), and a signed manifest. An independent implementation written from the spec text alone reproduces the seal exactly: 2,277/2,277 statutory and 2,277/2,277 editorial entries, both roots, the manifest hash, and the snapshot-id derivation",
    "Notes are not statute: OLRC editorial notes are sealed in a separate EDITORIAL layer with its own hash root, served only under an EDITORIAL label; a note passage checked as statute returns NOT_IN_CORPUS with an EDITORIAL layer hint. Public Law history is served as labelled DERIVED data, never as statutory text",
    "Verbatim retrieval + verification surface (10 tools, all read-only): get_section, search, and notes_get (retrieval is 3 of 10 verbs); cite_check, section_verify, manifest_get, and manifest_verify (verification); corpus_status, snapshot_list, and lineage (provenance). Snapshots are append-only \u2014 a correction is a new snapshot, never an edit (canon 1.1 supersedes 1.0, whose only change is \u00a77519 sealed once instead of twice; the 1.0 snapshot remains fetchable unchanged)",
    "No-advice surface, by construction: no tool interprets, explains, applies, or calculates anything; no response carries a score or a characterization beyond the closed verdict vocabulary. Title 26 statute only \u2014 no CFR. Title 26 is not positive law: claims are limited to the OLRC-published text at the named release point, identified by hash; the corpus is a dated snapshot, never described as current law"
   ],
   "tools": [
    "get_section",
    "search",
    "notes_get",
    "cite_check",
    "section_verify",
    "manifest_get",
    "manifest_verify",
    "corpus_status",
    "snapshot_list",
    "lineage"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; pricing TBD per spec (per-verification / per-seat shape, numbers owner-gated)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-verbatim-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-verbatim-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-verbatim-mcp-2026-10-26-2.json (scoped re-bench of the baseline PARTIAL; baseline card retained append-only): all 5 re-bench scopes PASS. Proven: the 10-tool local stdio surface as shipped (builder suite 64/64 + smoke PASS, re-run and confirmed by the bench); canonicalization verbatim-canon/1.1 \u2014 an independent bench implementation written from the amended spec \u00a75/\u00a76/\u00a77/\u00a78.1 alone, importing no product code, reproduces snapshot usc26-119-124-de68dcc8b3db exactly (census 8/8; statutory 2,277/2,277 hashes + byte lengths + word counts; editorial 2,277/2,277; corpus_root and editorial_root equal to served; manifest_sha256 recomputed equal; \u00a78.1 derivation reproduces the snapshot suffix de68dcc8b3db); run against the superseded 1.0 seal it diverges at exactly one section (\u00a77519), isolating the single published canon rule change. Cite-check: 0 false MATCH across the hostile subset on the new snapshot (digit alteration localized identically to baseline, punctuation/quote-mark/em-dash swaps DIVERGE, editorial-as-statute NOT_IN_CORPUS with EDITORIAL hint, instruction-shaped passages NOT_IN_CORPUS / DIVERGES, wrong-section claims NOT_IN_CORPUS with found-elsewhere). Tamper: every entry/bytes tamper shape is named by section and degrades the signature to SIGNATURE_UNVERIFIED; metadata-only tampers degrade loudly. Non-Title-26 citations return CORPUS_OUT_OF_SCOPE across tools (13 title/CFR forms); grammar failures stay CITATION_MALFORMED. KNOWN LIMITATIONS (standing observations on the card, in plain words): a cite-check MATCH for a repealed section carries no status field, so a repealed section's line can match without the response saying it is repealed (D-5); 115 sections that carry no identifier attribute in the source share a derived citation form and cannot be addressed by citation grammar \u2014 they are reachable only via manifest paging, search, or unclaimed cite-check (D-6); cite-check's candidate pre-filter samples 32-byte windows at a step of 8 \u2014 it can only ever produce non-MATCH outcomes, never a false MATCH (D-7). Two spec-clarification errata candidates are recorded for the next spec touch, not product fixes: a long-form prose title citation ('Title 18, United States Code, \u00a71341') returns CITATION_MALFORMED rather than CORPUS_OUT_OF_SCOPE (D-8), and the spec does not yet state in one line that a note nested inside a note contributes all its descendant text to the parent note's editorial bytes \u2014 the reading the seal uses (D-9). SIGNING: the P0 manifest is signed through the Herald port with labelled FIXTURE keys only (signer.kind 'fixture', FIXTURE_SIGNED) \u2014 never production Herald custody. NAME CONDITIONAL (spec D1, owner-side trademark screen still open): certification covers the local product under its working name; no public surface ships under any name before D1 closes.",
    "not_tested": [
     "Hosted or remote serving \u2014 v0.1 is local stdio only; no hosted serve path exists or was certified.",
     "Production Herald custody \u2014 P0 signing uses labelled fixture keys only; no production key was exercised.",
     "Title 26 Regulations (26 CFR) \u2014 out of P0 scope by gate decision; no CFR verb exists on the surface.",
     "Anything past release point Public Law 119-124 \u2014 the corpus is a dated, sealed snapshot; later law is not in it and currency is never claimed.",
     "The trademark + confusion screen for the name 'Eclipse Verbatim' (spec D1, owner-side) \u2014 still open; it gates any public surface, not this local certification.",
     "A third-party recompute by anyone other than the bench's independent implementation \u2014 the procedure is published (spec \u00a75\u2013\u00a78.1) and the Verbatim Proof companion tool ships with the product, but no outside party has yet run it."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-verbatim-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-verbatim-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-verbatim-mcp:latest",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-verbatim-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-verbatim-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-verbatim-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-verbatim-mcp"
   }
  },
  {
   "id": "eclipse-roll-mcp",
   "name": "Eclipse Roll MCP",
   "tagline": "Signed deltas against the registry's own record \u2014 proof-of-filing seals only on an exact read-back match.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 the signed delta: a filing is prepared, approved, and evidenced as a Herald-signed DELTA between the registry-of-record's own current state \u2014 read back through its sanctioned public surface at prep time \u2014 and the exact artifact to be submitted; after the HUMAN submits via the registry's own channel, Roll Proof re-reads the registry and seals proof-of-filing ONLY if the public record changed exactly as approved (a mismatch seals an evidence pack as FILED_UNVERIFIED, opens a Radar discrepancy, and refuses the proof claim by name \u2014 never a partial seal)",
    "Prep-and-seal only \u2014 NO submission verb exists on any surface, in any name: form-only registries (Sunbiz, SAM, TEAS, state SOS portals) stay human-submitted in every phase; Roll prepares, fingerprints, and evidences \u2014 it never files",
    "FIXTURE scope, stated plainly: every registry read at P0 runs through a labelled FIXTURE Gauge adapter (SAM Entity API / Sunbiz public search / USPTO TSDR / EDGAR data shapes) and every artifact carries evidence_class FIXTURE \u2014 NO live registry read has been exercised yet; the live adapter exists only as an unregistered interface that refuses",
    "Wageward spine consumed by reference, never forked: canonical fingerprint over the spec allowlist (artifact + delta + base-snapshot hash + jurisdiction parameter set + the not-a-law-firm statement rendered INSIDE the canonical pack object \u2014 missing = invalid pack), ECDSA verified approvals (params-bound, nonce + tombstone, single-use), FILING_CHANGED_SINCE_APPROVAL + REGISTRY_STATE_DRIFT refusals, Blackbox-form sealed packs, 12-month receipt standing (revocation kills standing instantly; integrity never expires)",
    "UPL fence at the tool layer: advice / entity-selection / interpretation / clearance requests refuse by name (ADVICE_CLASS_REFUSED; drafting-with-judgment = DRAFTING_CLASS_REFUSED) and Roll never signs as principal (SIGNATURE_PRINCIPAL_ONLY) \u2014 mechanics, deadlines, checklists, and registry facts only",
    "Renewal Radar + CETech dogfood fixtures: deadline/renewal tracking with discrepancy entries; the built P0 dogfood subjects are CETech's own Florida (Sunbiz) annual report (Jan 1\u2013May 1 window), the SAM.gov renewal watch (submitted 2026-10-24, activation pending), and a VetCert radar entry (MANUAL class, expiry Jul 2028) \u2014 all as labelled fixtures"
   ],
   "tools": [
    "session_open",
    "registry_record_get",
    "filing_prepare",
    "filing_diff",
    "pack_get",
    "mandate_issue",
    "approval_issue",
    "submission_record",
    "pack_seal",
    "gauge_check_pack",
    "gauge_check_delta",
    "gauge_params_list",
    "pack_verify",
    "pack_render",
    "pack_compare",
    "radar_entries_list",
    "radar_entry_get",
    "radar_refresh"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 (P0 fixture); licensing per spec \u00a719 is an owner/commercial decision, not a v0 surface",
   "page_url": "https://eclipsebazaar.com/products/eclipse-roll-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-roll-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture scope) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-roll-mcp-2026-10-26-rebench.json (scoped re-bench; baseline card eclipse-roll-mcp-2026-10-26.json retained append-only). THE HONEST ARC, on the record: the first bench FAILED (23 pass / 11 FAIL of 34 grouped checks) on two HIGH defects \u2014 D1, revocation/expiry did not propagate past session_open (a pack sealed FILED_VERIFIED under an expired mandate), and D2, Proof's pack_verify certified a filing the read-back had refuted \u2014 plus a UPL fence that keyword-matched and a renamed-key secret-scan bypass. The fix round closed D1\u2013D10 (25 new regression tests, 22 proven failing pre-fix); the full suite runs 63/63 on three consecutive runs (a ~3.4% flake, root-caused to the scan screening system-issued session ids, was killed). Verity's scoped re-bench then attacked the FIX code with fresh shapes \u2014 forged-consistent evidence packs, coordinated base+read-back tamper at seal, valid-window ghost artifacts, revoke-after-approval, planted foreign radar entries \u2014 17/17 PASS, zero new defects; K1 delta-existence, the N-check (0/18 identical verb names vs the Wageward spine, inherited by reference), and grammar-drift all re-verified PASS; NOVELTY_PROVEN stands. SCOPE, read exactly: certification covers the 18-tool local stdio product at FIXTURE scope \u2014 every Gauge adapter is a labelled fixture, NO live registry read has ever been exercised, and NO submission verb exists on any surface (prep-and-seal only; the human submits via the registry's own channel). The counsel gate (spec \u00a710.3) stands before any P1 / live phase regardless of this verdict. Two standing items remain on the card for ruling: a seal attempted under a revoked mandate surfaces APPROVAL_SCOPE_MISMATCH (inherited Wageward spine shape) where sibling verbs surface MANDATE_REVOKED \u2014 harmonization is an owner/Verity call; and seeded Radar entries are born claiming REGISTRY_READ with observed_at empty (observation D10d). NAME CONDITIONAL (spec D2, owner-side trademark screen still open): certification covers the local product under its working name; no public surface ships under any name before the screen closes.",
    "not_tested": [
     "Any live registry read \u2014 no Gauge adapter has ever run against a live registry; all adapters exercised are labelled FIXTURE adapters, and the live adapter is unregistered and refuses",
     "Any submission to any registry \u2014 no submission verb exists at P0 in any name; nothing was or could be filed by this product",
     "Counsel review (spec \u00a710.3) \u2014 a hard gate before P1 / any live phase; not performed and not part of this certification",
     "The trademark screen for the name 'Eclipse Roll' (spec D2, owner-side) \u2014 still open; it gates any public surface, not this local certification",
     "Customer-facing / multi-entity operation (P3, not proposed) and the EDGAR Next submission adapter (P2, specced only)",
     "Template-fill drafting \u2014 gated on a counsel-approved template set (spec \u00a710.1); the drafting class refuses until then"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-roll-mcp-2026-10-26-rebench.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-roll-mcp-2026-10-26-rebench.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-roll-mcp:latest",
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-roll-mcp"
   }
  },
  {
   "id": "eclipse-verbatim-eo-mcp",
   "name": "Eclipse Verbatim \u2014 Executive Orders",
   "tagline": "Executive Orders as sealed objects: per-section hashes, a provenance-typed disposition graph, divergences kept as data.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Sealed corpus, recomputable by anyone: 1,315 Executive Orders (Federal Register full-text XML) sealed per section under canon-eo/1.0 into snapshot eo-20261022-26818c895dee \u2014 per-section hashes, a signed manifest, append-only snapshot history; the bench re-derives the seal from the stored artifacts and a spec-only build-time recompute converged 1,315/1,315 document hashes identical",
    "The novel mechanism \u2014 a disposition graph extracted from the orders' own sealed sections: 10,667 edges, every edge pinned to the hash of the asserting section and typed by provenance (TEXT / FR_NOTE / NARA_TABLE), so a graph claim can always be recomputed against the sealed text that asserts it; where the consulted sources disagree, the disagreement itself is sealed as a DIVERGENCE record (823, status OPEN forever, never resolved by the product)",
    "Scope is clause-bound, never idiom-bound: a whole-order cue binds only in a clause naming the target; part-governed cues mint IN_PART with the stated range; the savings idiom is stripped before cue search and can never mint a whole-order scope \u2014 the bench's exhaustive sentence-level sweep of all 13,282 sealed segments finds exactly the 5 genuine whole-order edges and zero contamination",
    "Honest coverage, measured not assumed: the Federal Register full-text XML floor is 2000 (the 1994 gate assumption was falsified by measurement) \u2014 258 orders are EXCLUDED_NAMED (NO_FR_FULL_TEXT_XML), never silently absent; pre-2000 orders ride in an unsealed metadata+edges layer reaching back to 1931, labelled unsealed on every surface; Public Inspection versions are refused by name (PUBLIC_INSPECTION_NOT_INGESTED)",
    "The fence, by construction (gate C3): no tool characterizes legal effect and no status field exists anywhere in the product \u2014 every disposition answer is an edge set + as_of + a coverage window + the standing completeness sentence, served byte-identically; cite_check verifies a claimed section against its sealed hash, and resolve_authority resolves an order's statutory citations against the consumed sealed Code corpus (an empty port answers by name until that corpus lands \u2014 never a fabricated resolution)"
   ],
   "tools": [
    "search_orders",
    "get_order",
    "get_section",
    "cite_check",
    "verify_manifest",
    "disposition",
    "revocation_chain",
    "resolve_authority",
    "graph_divergences",
    "corpus_status"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; pricing TBD per spec (owner-gated)",
   "page_url": "https://eclipsebazaar.com/products/eclipse-verbatim-eo-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-verbatim-eo-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-verbatim-eo-mcp-2026-10-26-3.json (scoped re-bench #3 of fix round 2, commit 56537e4; cards -1/-2 retained append-only \u2014 the mechanism was certified-grade on card -1 and certification was withheld on card -2 on EO-D1-2 alone). Proven: the 10-tool local stdio surface as shipped (builder suite 76/76 in substance \u2014 72 PASS on plain bench runs plus 4 copy-dependent tests PASS under the bench replication harness, their plain-run failures being this VM's environment only; smoke PASS re-run by the bench); snapshot eo-20261022-26818c895dee (graph-3): 1,315 sealed documents, 10,667 edges, 823 divergence records, all OPEN (OMISSION 719, TYPE_DISAGREEMENT 104). EO-D1-2 CLOSED \u2014 the one defect that ever falsified a served claim: whole-cue scope emission trusted the savings idiom (a continuation assertion) and partial strikes; the graph-3 FULL census is 9 \u2192 5, every surviving FULL re-derived by the bench's own reading of the sealed asserting text, the 4 unsupported FULLs corrected exactly (EO 11958\u219211501 twice and EO 13637\u219211958 to UNSPECIFIED; EO 13470\u219212333 to IN_PART 'Part 1'), and an exhaustive sentence-level sweep of all 13,282 sealed segments finds exactly 3 FULL candidates \u2014 precisely the genuine TEXT units; the idiom strip never eats a genuine cue (overreach battery: both orders, replacement form, single-clause continue+revoke). EO-D1-3 CLOSED: all 186 stated ranges re-derived verbatim in their pinned segments (186/186), binding sample 27/27. EO-D8 CLOSED in substance: graph-2 \u2192 graph-3 edge sets identical (10,613 unique keys), exactly 6 scope-only diffs, documents_root + divergences_root byte-identical, zero assertion groups gained or lost, net \u221266 exact (observation EO-O9: the spec A6 \u221294/+28 instance split differs by one each way from the bench's grouping, \u221293/+27 \u2014 a counting-convention artifact; a future accounting should state its grouping key). Riders CLOSED: EO-D5-2 (9/9 fresh Public Inspection marking variants refuse PUBLIC_INSPECTION_NOT_INGESTED by name against an empty PI index; bare 'PI' stays generic \u221232602, never stretched) and EO-D7 (\u00a78.3 snapshot + coverage blocks on all 10 tools' successes and on refusal envelopes, SNAPSHOT_NOT_FOUND and GRAPH_VERSION_MISMATCH standing without blocks by documented construction; disposition carries divergences[] and self_limiting_terms[] as serve-time-derived, hash-exact pointers, never evaluated). Extraction bar re-measured on a fresh 15-assertion labelled sample: precision 1.000, recall 1.000; corpus FULL precision exhaustive at 5/5. NEW LOW FINDINGS (synthetic-only, zero sealed instances, corpus-swept): EO-D1-4 \u2014 four whole-cue binding residuals outside the implemented grammar (truncated idiom without 'and effect'; roman-numeral parts; an appendix struck wholly; a comma-joined cue about another object), recorded with a PRE-RESEAL CONDITION \u2014 the next reseal's bench sweeps the new batch for these shapes before the snapshot serves as current; EO-D1-5 \u2014 hyphenated compound ordinals \u226513 misquote the range tail ('twenty-first section' \u2192 range 'first section'), a verbatim-accuracy gap, never FULL. Observation EO-O8: snapshot history holds two builder-iteration seals (d31caba, ede0001) and graph-3's manifest names ede0001 as its previous rather than c44a7ad80308 directly \u2014 append-only history is honestly kept and the certified lineage reconciles exactly. THE FENCE (gate C3, load-bearing): no output of this product characterizes legal effect; every disposition answer remains an edge set + as_of + coverage window + the \u00a72.2 completeness sentence, bench-verified byte-identical to the spec constant. Coverage re-derives from the manifest: sealed from 2000-02-10, 258 exclusions all NO_FR_FULL_TEXT_XML (257 documents 1994\u20131999 + EO 13548), unsealed layer from 1931-08-26; 1,315 + 258 = 1,573. SIGNING: the snapshot seal is a FIXTURE seal (FIXTURE_SIGNED) \u2014 never production Herald custody. NAME CONDITIONAL: the name inherits the pending Eclipse Verbatim trademark screen (owner-side); certification covers the local product's function under its working name, not the name.",
    "not_tested": [
     "Hosted or remote serving \u2014 v0.1 is local stdio only; no hosted serve path exists or was certified.",
     "Production Herald custody \u2014 the snapshot seal is FIXTURE_SIGNED with a labelled fixture key; no production key was exercised.",
     "Sealed texts before 2000 \u2014 the Federal Register full-text XML floor is 2000 (measured); 1994\u20131999 orders exist only in the unsealed metadata+edges layer, and no sealed text is claimed for them.",
     "Any characterization of legal effect \u2014 refused by construction: no status field exists; disposition answers report what the named sources assert, as graph state as of a named snapshot, with the standing completeness sentence.",
     "EO\u2192USC authority resolution against a live Code corpus \u2014 the port is empty by design at v0.1 and answers by name (CODE_CORPUS_UNAVAILABLE); resolution activates when the sealed Code corpus lands.",
     "The trademark screen for the Verbatim family name (owner-side) \u2014 still open; it gates public surfaces under the name, not this local certification.",
     "Any reseal after card -3 \u2014 EO-D1-4 / EO-D1-5 are recorded with a pre-reseal sweep condition; no reseal has occurred since certification."
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-verbatim-eo-mcp-2026-10-26-3.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-verbatim-eo-mcp-2026-10-26-3.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-verbatim-eo-mcp:latest",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-verbatim-eo-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-verbatim-eo-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-verbatim-eo-mcp",
    "ghcr_image": "ghcr.io/cyan-eclipse-technologies-llc/eclipse-verbatim-eo-mcp"
   }
  },
  {
   "id": "eclipse-flood-witness-mcp",
   "name": "Eclipse Flood Witness",
   "tagline": "Flood evidence, sealed: NFHL determinations as signed, independently recomputable receipts over sealed snapshots \u2014 an evidence-grade witness, never a determination of record.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Sealed corpus, recomputable by anyone: FEMA NFHL county extracts sealed per partition under flood-canon/1.0 \u2014 Leon (snapshot nfhl-fl-leon-20260611-bec93b592c31; 12,099 features) and Monroe (nfhl-fl-monroe-20261022-4776f79b6d7c; 9,664 features) are SEALED; the operative index fw-index-202610-abd4c392bd16 enumerates all 67 Florida county partitions and names the other 65 NOT_SEALED \u2014 Miami-Dade is NOT_SEALED (pending), never silently absent",
    "Every determination is a signed evidence receipt bound to its sealed snapshot: subject geometry (FOOTPRINT / STRUCTURE_POINT / PARCEL \u2014 an address is refused as a subject), zone + panel + BFE outcome (exactly three outcomes; no datum-conversion code path exists), recomputable offline with the standalone verifier that ships in the tree (RECOMPUTE_MATCH / RECOMPUTE_DIVERGES naming the first divergent field)",
    "Drift between vintages is classified by causal source record across a closed grammar (12 classes incl. FEATURE_CHANGE_UNATTRIBUTED); LOMR cases compare per-case record SETS (cardinality AND set). One LOW defect stands on the record as a printed condition (FW-D8: a case wholly removed in a later vintage did not raise drift; fixed in code after the bench \u2014 the fix must hold before any second-vintage drift output is published; drift remains latent until a second vintage of any partition seals)",
    "Flag-1 qualifier (Verity bench, adjudicated 2026-10-26): the LOMC override branch (LOMC_OVERRIDE_APPLIES) is FIXTURE-PROVEN ONLY \u2014 the LOMA layer is absent from FEMA's county shapefile distribution (it exists only in the service distribution, which the spec bars as an ingest source), so the sealed corpus contains zero LOMA/LOMR-F records and the branch has never fired on real sealed data; the NO_COVERAGE_SOURCE / PAPER_FIRM_ONLY path is likewise synthetic-proven only (zero such partitions in the Florida census)",
    "The claim fence, by construction (gate C1\u2013C10): the receipt is evidence-grade only \u2014 never a determination of record, never an SFHDF, never lender-compliant, never an insurance-required/not-required answer, and never a statement that a property is \u201csafe\u201d; determination-shaped, insurance-shaped, risk-score, and live-query tool names are refused by name. Nothing in this listing states or implies endorsement by, affiliation with, or certification from FEMA or any government agency \u2014 FEMA/NFHL/FIRM name the public data source only. All seals are FIXTURE_SIGNED (Herald fixture key; owner open item O2) and labelled as such; the runtime has no live-query path"
   ],
   "tools": [
    "determine",
    "verify_receipt",
    "receipt_get",
    "drift_report",
    "watch_set",
    "watch_list",
    "coverage_status",
    "manifest_get",
    "manifest_verify",
    "geocode_explore"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1 remains free. PRICED \u2014 witnessed reads $7.50 single-parcel \u00b7 $12.00 footprint/parcel (PC-5) via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product. Evidence-grade sealed receipt only \u2014 NOT a determination of record, NOT an SFHDF, NOT lender-compliant.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-flood-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-flood-witness-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-flood-witness-mcp-2026-10-26-2.json (scoped re-bench of the FW-D1..D7 fix round; card -1 PARTIAL(local) retained append-only and superseded). Proven: flood-evidence witness at Florida scope for the two sealed partitions Leon (snapshot nfhl-fl-leon-20260611-bec93b592c31; 12,099 features) and Monroe (snapshot nfhl-fl-monroe-20261022-4776f79b6d7c; 9,664 features), operative index fw-index-202610-abd4c392bd16 enumerating all 67 Florida county partitions (65 NOT_SEALED, named). All seven card -1 defects FIXED and verified against the fix code with fresh shapes, not the builder's regressions: FW-D1 by independent ID-derivation recompute over every manifest and index present (6/6 reproduce; ~60 strip-set variants never collide); FW-D2 by byte-comparison of the manifest scope string against the operative index plus a full public-copy sweep; FW-D3 by 9 fresh multi-record LOMR fabrications (fires iff the per-case record set differs, names only truly differing cases); FW-D4 by 5 fresh drift shapes including a revised-date-only restudy; FW-D5 by minting a coverage receipt against a fresh synthetic partition/index and reading the claim; FW-D6 by direct read of both implementations (end-to-end run is an open environmental evidence debt); FW-D7 by a grammar-vs-body key diff over every stored receipt. P0 partition completeness remains OPEN (2 of 3): Miami-Dade is NOT_SEALED in the operative index, with no snapshot directory present. One NEW LOW (FW-D8) stands as a printed condition: the drift LOMR step iterated snapshot B only, so a case wholly removed in B never fired drift \u2014 fixed in code (sorted union of case ids) after the bench; it MUST hold before any second-vintage drift output is published, and is latent at the current single-vintage scope. FLAG-1 QUALIFIER: the LOMC override branch (LOMC_OVERRIDE_APPLIES) is FIXTURE-PROVEN ONLY \u2014 the sealed corpus contains zero LOMA/LOMR-F records and the branch has never fired on real sealed data. All seals are FIXTURE_SIGNED (Herald fixture key; owner open item O2) and labelled as such. Nothing in this verdict speaks to determination-of-record, SFHDF, lender, or insurance use: the product is an evidence-grade receipt witness only, per gate fence. NAME CONDITIONAL: working name, trademark screen owed (spec O1); certification covers the local product's function under its working name, not the name.",
    "not_tested": [
     "Miami-Dade partition \u2014 NOT_SEALED (pending) in the operative index; 65 of 67 Florida partitions are enumerated NOT_SEALED and no determination can be minted against them",
     "Second-vintage drift on real data \u2014 drift classification is proven at the classifier level with fabricated shapes; it remains latent until a second vintage of any partition seals, and the FW-D8 fix must hold before any second-vintage drift output is published",
     "The LOMC override branch on real sealed data \u2014 FIXTURE-PROVEN ONLY (zero LOMA/LOMR-F records in the sealed corpus; the LOMA layer is absent from FEMA's county shapefile distribution)",
     "Production Herald custody \u2014 all seals are FIXTURE_SIGNED with a labelled fixture key (owner open item O2); no production key was exercised",
     "Hosted or remote serving \u2014 v0.1 is local stdio only; the runtime has no live-query path by construction",
     "Full builder suite re-run and the FW-D6 end-to-end run at re-bench \u2014 open environmental evidence debts (this VM's exec write latch), graded environmental on card -2, not product defects",
     "Any determination-of-record, SFHDF, lender-compliance, or insurance use \u2014 refused by construction under the gate fence; the product is an evidence-grade receipt witness only",
     "The trademark screen for the Flood Witness name (owner-side, spec O1) \u2014 still open; it gates public surfaces under the name, not this local certification"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-flood-witness-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-flood-witness-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-flood-witness-mcp",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-flood-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-flood-witness-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-flood-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-recall-witness-mcp",
   "name": "Eclipse Recall Witness",
   "tagline": "Recall campaigns, witnessed: NHTSA's as-served record sealed night by night \u2014 sealed vintages, dated drift, and campaign-level check receipts that print exactly what was checked. The receipt warrants what the record said; it never warrants that a vehicle is safe.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Sealed campaign vintages, recomputable by anyone: NHTSA serves current state only \u2014 amended filings replace records in place and the API has no vintage parameter \u2014 so this product seals the recalls flat file nightly into a hash-chained anchor (recall-anchor/1.0); every campaign's full payload seals as an immutable vintage under recall-canon/1.0, and a campaign that disappears seals as a tombstone vintage, never a silent drop. CERTIFIED SCOPE IS FIXTURE: at P0 the nightly spine is proven over fixture flat files \u2014 no live nightly seal exists yet (capability 4 states exactly what is and is not live).",
    "Drift between consecutive vintages seals as events across the closed recall-events/1.1 grammar \u2014 POPULATION_EXPANSION, REMEDY_CHANGE, ESCALATION_DO_NOT_DRIVE, ESCALATION_PARK_OUTSIDE, CORRECTION, CLOSURE, each with closed subtypes; an escalation is never absorbed into an expansion. Advisory detection is normalized token-pattern matching harvested from the live escalation stock (BMW/Mazda/Ford/Ferrari 'advised not to drive', Porsche 24V809 'should not drive', GM/Kia park-outside) and cross-checked against the API's own parkIt/parkOutSide flags \u2014 15/15 live campaigns agree at re-bench. Per printed condition RW-D9, NO escalation-completeness claim is made beyond the live-stock-proven phrase families: the drive/park families are proven; operate/use paraphrase families are a known coverage boundary.",
    "Posture-at-date derives exclusively from sealed vintages \u2014 before the first vintage (or after the last sealed night) the answer is NOT_SEALED, printed with its reason and the campaign's own first-vintage date. Mandate-bound check receipts run one live CAMPAIGN-LEVEL check and seal what it returned: every receipt prints scope_class: CAMPAIGN-LEVEL and the three standing sentences byte-exact \u2014 \u201cThis record states what NHTSA served at the stated time. It is not a safety determination about any vehicle.\u201d / \u201cThis receipt proves a check was made and what it returned. It is not a legal determination of compliance with any law.\u201d / \u201cPer-VIN unrepaired status is NOT determined by this check.\u201d A specific VIN is never called \u201copen\u201d: per-VIN unrepaired status lives behind NHTSA's consumer VIN lookup, whose posture bars automated submission, so no such determination exists in this product and no consumer-VIN-lookup code path exists anywhere in the tree; no VIN-decode tool surface exists either (decode is an internal step of check issuance only). Safety-verdict, owner, repair-advice, and per-VIN ask shapes refuse by name.",
    "LIVE-PROVEN at cross-check + check-issuance scope (proof/live-api-20261026.md in the tree, independently re-verified first-hand on card -2): the API transport points at the spec-named host api.nhtsa.gov; a live cross-check seals campaign 24V809 with cross_check OK and its DO_NOT_DRIVE tag agreeing with the API's parkIt: true; an altered-summary hold-out sealed NOTHING (FAILED + named); one live check receipt (rcpt-00001, Porsche 911 MY2024) carries exactly the 4 campaigns the live API returns today and recomputes MATCH, phrase tags vs API flags 4/4. What is NOT live: the nightly flat-file spine \u2014 www-odi.nhtsa.dot.gov remains unreachable from the build egress (re-probed 2026-10-26, empty reply) and the spine was NOT re-routed to the API, because the flat file is the canon source. LIVE scope is gated on (a) the first real nightly ingest and (b) live-key cutover: all P0 seals are under FIXTURE ECDSA keys, labelled seal_key_class: FIXTURE on every artifact (owner's call, spec O3).",
    "Churn measurement (recall-churn/1.0): nightly counters seal inside every anchor from night one; get_churn_series returns the methodology and MEASURING \u2014 no rates \u2014 until a day-90 segment bearing rates seals, and series_state derives from the segments (a methodology-only segment never flips the series to PUBLISHED; no churn rate appears in any copy before day 90). Three NEW LOW conditions stand printed on card -2 (none blocks CERTIFIED(local, FIXTURE scope); all ride the next grammar/seal touch): RW-D7 \u2014 the park-outside matcher can tag narrative \u201cparked outside\u201d rollaway text as a false PARK_OUTSIDE (constructed shape; no live-stock instance found; fix at recall-events/1.2 with an owner-directed-voice requirement); RW-D8 \u2014 the chain walk does not yet assert the genesis links, so first-vintage/first-anchor prev-hash tampers verify MATCH (content integrity unaffected \u2014 record hashes and seals still verify; one-line assert at the next seal-store touch); RW-D9 \u2014 operate/use paraphrase families (\u201cshould not be operated\u201d, \u201cnever operate\u201d, \u201cdo not use\u201d) tag nothing (the coverage boundary in capability 2; 1.2 candidates). Nothing in this product speaks to any vehicle's safety, any specific VIN's repair state, or compliance with any law."
   ],
   "tools": [
    "get_campaign",
    "get_campaign_vintage",
    "list_campaign_vintages",
    "get_drift_events",
    "list_campaigns_for_vehicle",
    "get_posture_at_date",
    "get_anchor",
    "get_churn_series",
    "verify_receipt",
    "issue_check_receipt",
    "ingest_run",
    "archive_seal",
    "churn_publish"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "Free local v0.1; no price points exist in the approved price book for this product yet \u2014 pricing not yet set; nothing is priced or activated",
   "page_url": "https://eclipsebazaar.com/products/eclipse-recall-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-recall-witness-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, FIXTURE scope) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-recall-witness-mcp-2026-10-26-2.json (scoped re-bench of the RW-D1..RW-D6 fix round + transport repoint; card -1 PARTIAL(local, FIXTURE scope), 50 checks 43P/7F, retained append-only and superseded). Proven: sealed campaign-vintage witness over fixture flat files \u2014 nightly anchor + hash-chained per-campaign vintages, closed recall-events/1.1 drift grammar (spec \u00a77 names; \u03941 ACCEPTED at card -1), sealed-vintage-only posture-at-date receipts and mandate-bound CAMPAIGN-LEVEL check receipts with byte-exact standing sentences, churn instrumentation with segment-derived series_state. Builder suites reproduced first-hand: 35/35 + 18/18 fix-round regressions, smoke PASS; bench battery 136 checks, 127 pass \u2014 the 9 fails group into three NEW LOW conditions (RW-D7/RW-D8/RW-D9); no prior defect survives. All six card -1 defects FIXED and verified against fresh shapes, not the builder's regressions: RW-D1 (HIGH) phrase battery \u2014 bench shape end-to-end (27V321000 733\u21921042, \u201cadvised not to drive\u201d) emits ESCALATION_DO_NOT_DRIVE + sealed advisory_classes [DO_NOT_DRIVE], 11/11 fresh positives, and an independent cross-signal: 15 live campaigns re-fetched from api.nhtsa.gov, phrase tags agreeing with the API's parkIt/parkOutSide flags on every row; RW-D2 series_state stays MEASURING under a methodology-only segment and flips only when a rates-bearing segment seals; RW-D3 ask-shape screen refuses BY NAME incl. 14 bench-fresh spellings while benign record questions still serve; RW-D4 layout_hash MEASURED \u2014 header and free-text column permutations refuse LAYOUT_DRIFT_REFUSED, unpermuted real-shape files seal; RW-D5 prev_vintage_hash and anchor-chain tampers name MISMATCH in verify_receipt and the recompute CLI; RW-D6 campaign-scoped NOT_SEALED prints the campaign's own first vintage with the corpus floor labelled beside it. LIVE PROOF VERIFIED FIRST-HAND (5/5): the live store seals 24V809 with cross_check OK and DO_NOT_DRIVE agreeing with parkIt: true; the diverged store seals nothing (FAILED + named); rcpt-00001 recomputes MATCH and carries exactly the 4 campaigns the live API returns for Porsche 911 MY2024 (24V155000, 24V809000, 25V896000, 26V682000), tags vs flags 4/4. All seals under FIXTURE ECDSA keys, labelled on every artifact. NO live nightly seal exists: the flat-file spine host (www-odi.nhtsa.dot.gov) remains unreachable from this egress (re-probed 2026-10-26, empty reply) and was NOT re-routed to the API \u2014 the file is the canon source. LIVE scope additionally requires (a) the first real nightly ingest and (b) live-key cutover (fixture keys at P0, owner's call) \u2014 scope items, not defects. Conditions RW-D7/RW-D8/RW-D9 (all LOW) are printed on card -2 and bind the next grammar/seal touch; no escalation-completeness claim beyond the live-stock-proven phrase families may appear in any copy. Nothing in this verdict speaks to any vehicle's safety, any specific VIN's repair state, or compliance with any law (gate C2/C5/C11). NAME CONDITIONAL: working name, trademark screen owed (spec O1); certification covers the local product's function under its working name, not the name.",
    "not_tested": [
     "Live nightly ingest \u2014 no live nightly seal exists: the flat-file spine host (www-odi.nhtsa.dot.gov) is unreachable from the build egress (re-probed 2026-10-26) and the spine was NOT re-routed to the API; LIVE scope requires the first real nightly ingest",
     "Production Herald custody \u2014 all seals are under FIXTURE ECDSA keys, labelled on every artifact (spec O3); live-key cutover is the owner's call and has not been exercised",
     "Escalation completeness beyond the live-stock-proven phrase families \u2014 RW-D9: operate/use paraphrase families (\u201cshould not be operated\u201d, \u201cnever operate\u201d, \u201cdo not use\u201d) tag nothing; no as-served instance found in the live stock sampled; bound to the recall-events/1.2 bump",
     "Narrative park-outside text \u2014 RW-D7: a constructed rollaway-narrative shape (\u201cparked outside the owner's home\u201d) tags a false PARK_OUTSIDE; no live-stock instance; fix at recall-events/1.2 (owner-directed-voice requirement)",
     "Genesis-link assertion \u2014 RW-D8: first-vintage prev_vintage_hash and first-anchor prev_anchor_hash tampers verify MATCH (content integrity unaffected); the assert lands at the next seal-store touch",
     "Per-VIN unrepaired status \u2014 never determined by construction (gate C5): the consumer VIN lookup is not automated, no per-VIN code path exists, and receipts print scope_class CAMPAIGN-LEVEL only",
     "Hosted or remote serving \u2014 v0.1 is local stdio only",
     "The trademark screen for the Recall Witness name (owner-side, spec O1) \u2014 still open; it gates public surfaces under the name, not this local certification"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-recall-witness-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-recall-witness-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-recall-witness",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-recall-witness/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-recall-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-sunset-mcp",
   "name": "Eclipse Sunset",
   "tagline": "MCP deprecation radar: detects deprecated/removed tools and versions from witnessed, hash-chained registry snapshots and generates a migration diff for an agent's config.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Infrastructure",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 sunset claims witnessed against registry history: a \"deprecated\" or \"removed\" claim is PROVEN only when a witnessed snapshot pair supports it; the migration diff is generated from the witnessed before/after schemas, never scraped docs. A claim with no witnessed pair behind it returns UNPROVEN \u2014 there is no announcement input surface at all, and the bench's plausible announced claims (with evidence text supplied) all returned UNPROVEN.",
    "Every ingested snapshot is SHA-256 hashed over its canonical JSON and hash-chained in ingest order (chain_hash = sha256(prev_hash + snapshot_hash)); every finding cites both snapshot hashes of the witnessed pair, recomputed independently at bench and matched exactly (from 7ebb2386\u2026411f5 / to cd563c11\u20265c4ab on the bundled weather fixtures).",
    "Detection over a witnessed pair: tools removed, tools newly deprecated, version changes, and schema-breaking changes (property removed / property type changed / required added) \u2014 bench-exact on the fixture pair: 1 removed (legacy_lookup), 1 newly deprecated (get_alerts), 1 schema-breaking (get_forecast, required_added: units), version 1.0.0\u21922.0.0; the unchanged tool (convert_units) appears nowhere in findings.",
    "Tamper gate (bench defect D1, fixed v0.1.1, re-benched): every proof-issuing surface is gated on full chain verification \u2014 verify_sunset_claim returns UNPROVEN + chain_invalid on a tampered ledger, and detect_sunsets / migration_diff / ingest_snapshot refuse with CHAIN_INVALID; a one-bool edit to the ledger mints no PROVEN and no findings.",
    "Migration diff for an agent's config: per used tool \u2014 removed / deprecated / schema_breaking (with witnessed schema-change detail) / unchanged / not_in_witnessed_snapshots, generated from witnessed before/after schemas only.",
    "Honest scope: LOCAL / fixture in v0.1.1 \u2014 ingests local registry snapshot JSON files only; it does not crawl live registries, fetch any URL, or scrape documentation. Python 3 standard library only; no network code exists in the package; no payment anything, no accounts, keys, credentials, or checkout."
   ],
   "tools": [
    "ingest_snapshot",
    "detect_sunsets",
    "migration_diff",
    "verify_sunset_claim",
    "chain_status"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "FREE \u2014 free local v0.1.1, open reference implementation; funnel role: the free radar feeds paid listing-hygiene and re-bench work. No payment anything in this server.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-sunset-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-sunset-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent bench 2026-10-26, REBENCH-1 of the v0.1.1 D1 fix (repo @ 88f2aa6): probe 5 chain attacks PASS 4/4 + strict extras 9/9 \u2014 on a tampered ledger the previously-PROVEN claim returns UNPROVEN + chain_invalid: true, no forged PROVEN is minted, detect_sunsets / migration_diff / ingest_snapshot refuse CHAIN_INVALID; full prior suite re-run 44/44 (unwitnessed claims UNPROVEN, witnessed proof citing bench-recomputed snapshot hashes, fixture-pair detection exact, migration diff sane, hygiene 14/14). Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 41/44, defect D1 HIGH \u2014 closed by this re-bench. Scope = LOCAL/fixture only: local JSON snapshot ingest, stdio transport, bundled weather fixtures. No live-registry claim is made or tested \u2014 none exists in v0.1.1, and the server honestly says so.",
    "not_tested": [
     "Live registry crawling \u2014 not in v0.1.1 by design (later phase); the server ingests local snapshot JSON files only and makes no live-registry claim",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only",
     "A schema_breaking claim type in verify_sunset_claim \u2014 by SPEC design the claim enum is deprecated|removed only; the schema-breaking proof surface is detect_sunsets / migration_diff, verified there at bench"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/sunset/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sunset-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-sunset-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sunset-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-nexus-witness-mcp",
   "name": "Eclipse Nexus Witness",
   "tagline": "Sales-tax determination witness for agent checkouts: sealed, vintage-stamped receipts (jurisdiction + rate + rule version at order time) an agent can attach to every order. LOCAL / fixture-vintage ONLY \u2014 fictional jurisdictions, DEMO rates, NOT tax advice, NOT real rates.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 the tax answer ships as a sealed, vintage-stamped witness receipt (jurisdiction + rate + rule version at order time), so a later audit replays the EXACT basis; tax APIs return answers, not evidence. verify_receipt replays the exact fixture rule at the receipt's vintage: a receipt whose rate doesn't match its vintage's rule is INVALID, and an old receipt keeps verifying against the OLD rule after a newer vintage is added.",
    "Forgery resistance benched, including the hard case: a receipt re-sealed so its own hash is self-consistent while claiming the new rate at the old vintage is still INVALID, because verification replays the fixture rule at the receipt's vintage instead of trusting the seal (bench forgery matrix 22/22).",
    "No bare-answer path exists: every determination ships a sealed receipt (receipt_hash + inputs_hash + rule version + vintage), and receipt_basis returns the exact rule record that produced it, resolved by the receipt's own vintage. Unknown jurisdiction, category, or vintage returns a clean refusal \u2014 no rate is invented, no latest-fallback, no fuzzy match.",
    "Honesty envelope by construction: every determination output carries demo_label 'DEMO \u2014 FIXTURE DATA \u2014 NOT TAX ADVICE \u2014 NOT REAL RATES', scope 'LOCAL / fixture-vintage ONLY', and source 'FIXTURE-DEMO'. The bundled table holds 13 rules across 5 fictional jurisdictions (Fixture Aurora/Boreal/Cascadia/Delta/Ember) \u2014 DEMO/fixture rates only, NOT tax advice, no live tax determination claim anywhere.",
    "Fix-before-live defects disclosed on the bench record (all LOW, none hidden): D1 the seal is an unkeyed local SHA-256 hash seal \u2014 VALID means consistent with the fixture rule at its vintage, not server-issued, and _verify does not assert the source/demo_label/scope constants; D2 refusal responses carry no DEMO envelope (no rate or advice is emitted on a refusal); D3 the advertised additionalProperties: false schemas are not enforced in dispatch (extra argument keys are silently ignored). D1 must be closed before any hosted/live scope.",
    "Python 3 standard library only; MCP over stdio; zero network calls and zero payment-processing code in the package (bench AST audit). Pricing is metadata only \u2014 paid access is via the Eclipse Bazaar bench-order path only; no checkout, payment, or buy-now surface exists."
   ],
   "tools": [
    "determine",
    "verify_receipt",
    "list_rules",
    "receipt_basis"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.25/check (PC-2) with sealed receipt, via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; v0.1 contains no payment, checkout, or billing code. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-nexus-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-nexus-witness-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture-vintage)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture-vintage) \u2014 Verity independent bench 2026-10-26 (repo @ ec06f2e): 81/81 checks passed, two consecutive runs. Replay fidelity 11/11 (an old receipt verifies against the OLD fixture rule after a newer vintage is added; receipt id/hashes recomputed independently per SPEC \u00a76); forgery matrix 22/22 (naive tamper INVALID on every field; re-sealed forgeries \u2014 including the new rate claimed at the old vintage \u2014 still INVALID, because verify_receipt replays the fixture rule at the receipt's vintage instead of trusting the seal); N-check 18/18 (no bare-answer path; unknown jurisdiction/category/vintage refuse cleanly and no rate is ever invented); honesty sweep 12/12 (DEMO envelope on every determination output; zero real-rate, tax-advice, or live-determination claims); hygiene 18/18 (zero network/payment code; exactly the 4 spec tools). Scope = LOCAL / fixture-vintage ONLY: local fixture lookup, stdio transport, bundled fictional fixture rates (13 rules, 5 fictional 'Fixture *' jurisdictions). DEMO rates only \u2014 NOT tax advice; no live tax determination is made by the product or tested here. Defects D1\u2013D3 (all LOW) stand on the record as fix-before-live and are not hidden: D1 unkeyed seal (VALID means 'consistent with the fixture rule at its vintage', not 'issued by this server'; _verify does not assert source/demo_label/scope constants), D2 refusal responses carry no DEMO envelope, D3 advertised additionalProperties: false schemas not enforced in dispatch (extra argument keys silently ignored). Any live phase remains behind the SPEC \u00a72 counsel gate (licensed data source + legal counsel review + explicit owner gate), and D1 must be closed before any hosted/live scope.",
    "not_tested": [
     "Live tax determination \u2014 not in v0.1 by design: no real jurisdiction, real rate, tax-advice, or filing surface exists; any live phase remains behind the SPEC \u00a72 counsel gate (licensed data source + legal counsel review + explicit owner gate) and is out of scope for this verdict",
     "Hosted or remote serving \u2014 v0.1 is local stdio only; bench defect D1 (unkeyed seal) must be closed before any hosted/live scope",
     "Server-issued authenticity \u2014 the seal is an unkeyed local SHA-256 hash seal, disclosed in SPEC \u00a72/\u00a76; VALID means 'consistent with the fixture rule at its vintage', not 'issued by this server' (bench defect D1)"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/nexus-witness/VERDICT.md (Verity, independent bench over stdio JSON-RPC; rates and hashes recomputed independently from fixtures/rates.json + SPEC \u00a76). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-nexus-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-nexus-witness-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-nexus-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-warranty-mcp",
   "name": "Eclipse Warranty",
   "tagline": "Warranty registration witness for agent purchases: binds serial, buyer mandate, and retailer receipt into one transferable claim pack. LOCAL/fixture scope only \u2014 the pack is a witness record, not a warranty contract; no adjudication, coverage, or enforceability is claimed.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Commerce / Procurement"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 the claim pack is transferable on resale because it is bound to the product serial + sealed purchase proof (buyer mandate ref + retailer receipt ref), not to a retailer account login. verify_pack recomputes the seal from the serial, bindings, and transfer chain alone \u2014 no account credential, no original-holder proof. Bench: register \u2192 transfer in one process, then verify_pack by pack_id only in a fresh process = VALID with the original holder uninvolved; the exported pack object also verifies VALID in the fresh process with bindings intact.",
    "Sealed bindings + chained transfers: the five bindings (serial, product_ref, buyer_mandate_ref, retailer_receipt_ref, purchase_ts) are immutable at registration; transfer appends a chained record (each transfer's prev_seal equals the actual superseded seal, genesis prev_hash GENESIS) and re-seals without ever editing the bindings. Bench tamper matrix: 5/5 bound fields \u2192 INVALID, 11/11 chain tampers \u2192 INVALID, 6/6 supplied-pack attacks (seal transplant, naive SHA-256 reseal without the HMAC key, chain truncation + holder rollback, replayed duplicate transfer, seal deleted, mandate swap) \u2192 INVALID; a tampered pack refuses transfer with PACK_INVALID and claim_check reports transferable:false.",
    "Full-content seal (v0.1.1 fix for bench defect D1, MEDIUM): the seal now covers the complete pack object minus the seal field, and verify enforces strict structure \u2014 any key outside the specced top-level/binding/transfer sets, a missing or wrong-typed field, or a scope/seal_type outside the spec vocabulary (scope must be exactly LOCAL/fixture) verifies INVALID, supplied or stored. get_pack refuses structurally out-of-spec stored packs (PACK_INVALID) instead of serving injected or relabelled content as sealed pack content. Re-bench D1 attacks PASS 26/26, including bindings.injected_coverage = 'lifetime-full' and a top-level scope relabel to 'LIVE/production' \u2014 both INVALID.",
    "Advertised schemas enforced at dispatch (v0.1.1 fix for bench defect D2, LOW): required fields present, declared types exact (an int purchase_ts or a list serial is a clean validation error, never coerced via str()), and extra argument keys rejected per additionalProperties: false. Re-bench D2 attacks PASS 24/24 \u2014 every rejected attempt registered nothing, a serial burned by a rejected attempt remains registrable with correct types, and rejected calls left a good pack untouched and VALID.",
    "Disclosed seal break (not hidden): packs sealed under v0.1.0's projected seal verify INVALID under v0.1.1 \u2014 the bench crafted a pack with the exact v0.1.0 formula under the same demo key and confirmed the break is real. At LOCAL/fixture scope there is no migration: fixture packs are re-registered (SPEC Bench Fix addendum + BUILD-RECORD state this plainly). Any future scope upgrade would need a migration story.",
    "Honest scope: LOCAL / fixture only \u2014 registrations operate on fixture purchase records supplied by the caller (refs/strings the caller asserts); no retailer, manufacturer, or payment network is contacted. Seals are HMAC-SHA256 with a local demo key (runtime-generated into gitignored keys/demo.key, mode 0600; bench hygiene 6/6 \u2014 no key material in tree or history). Python 3 standard library only; MCP over stdio; exactly the 5 specced tools; no payment anything. The pack is a witness record, not a warranty contract: no adjudication, coverage, eligibility, or enforceability claim exists anywhere in the product."
   ],
   "tools": [
    "register_warranty",
    "get_pack",
    "verify_pack",
    "transfer_pack",
    "claim_check"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "FREE \u2014 free local v0.1.1; funnel role: free warranty registration drives Eclipse Procure order volume and Till receipts. No payment anything in this server \u2014 no price, no checkout, no payment language applies.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-warranty-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-warranty-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent bench 2026-10-26, REBENCH-1 of the v0.1.1 D1/D2 fix round (repo @ 6fd6784): 96 probes recorded, 95 asserted PASS, 0 FAIL, 1 observation (O1, design-consistent, no condition attached). D1 attacks PASS 26/26 (supplied-pack injections/relabels/wrong-types \u2192 INVALID; store copies \u2192 INVALID + transfer refused; get_pack structural refusal 3/3); D2 attacks PASS 24/24 (wrong-type and extra-field arguments rejected cleanly on all five tools, zero coercion, nothing registered by a rejected call); P2 tamper matrix PASS 5/5 bound fields + 11/11 chain + 6/6 supplied-pack attacks; P4 negative space PASS 18/18 (unregistered serial = plain negative, duplicate serial SERIAL_ALREADY_REGISTERED, unknown tools NO_SUCH_TOOL); P1 mechanism spot-check PASS 3/3 (fresh-process verify VALID after transfer, no original holder). Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 67 asserted PASS / 0 hard FAIL, defects D1 (MEDIUM, unsealed-field injection) + D2 (LOW, schemas unenforced) \u2014 both closed by this re-bench. The v0.1.0 seal break is verified real and its disclosure judged honest and complete for LOCAL/fixture scope: packs sealed under v0.1.0 verify INVALID under v0.1.1, no migration, fixtures re-registered. Scope = LOCAL/fixture only: caller-supplied fixture purchase refs, stdio transport, HMAC-SHA256 demo seal with a local demo key. The pack is a witness record, not a warranty contract \u2014 no adjudication, coverage, eligibility, or enforceability is claimed by the product or tested here. Observation O1 stands on the record: get_pack refusal is structural-only by design (a pure value tamper is still returned by get_pack but gated everywhere it matters \u2014 verify INVALID, claim_check transferable:false, transfer refused); consumers must treat verify_pack, not get_pack, as the validity gate (SPEC \u00a75.3). Bench note D3 (informational, by design): transfer requires no holder authorization \u2014 possession of pack_id is a bearer capability, exactly as SPEC \u00a73/\u00a75 specify for v0.1; it must be revisited before any hosted/live scope.",
    "not_tested": [
     "Live retailer, manufacturer, or payment integration \u2014 not in v0.1.1 by design: no third party is contacted and no claim is filed anywhere; registrations operate on caller-supplied fixture refs only",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only; transfer is a bearer capability on pack_id possession (bench D3, informational, by SPEC design) and must be revisited before any hosted/live scope",
     "Warranty adjudication, coverage, eligibility, or enforceability \u2014 none exists in the product at any scope; the pack is a witness record, not a warranty contract",
     "Migration of v0.1.0-sealed packs \u2014 none exists by disclosed design: v0.1.0 packs verify INVALID under v0.1.1 and fixture packs are re-registered (SPEC Bench Fix addendum)"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/warranty/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, store copies only). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-warranty-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-warranty-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-warranty-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-toolprint-mcp",
   "name": "Eclipse Toolprint",
   "tagline": "Pins MCP tool descriptions/schemas at session start and catches silent mid-session changes: every verified call carries the hash of the exact description the agent saw, and a swapped description is invalidated with a hash-chained proof record. LOCAL scope only \u2014 a local verification engine on caller-supplied tool lists + fixtures; it does NOT proxy live MCP traffic, connect to remote servers, or execute described tools.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Infrastructure",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 session-bound fingerprint chain: pin_session canonical-hashes (toolprint-canonical-v1, SPEC \u00a73) every tool's name + description + inputSchema at session start and stores the pin as the genesis of a hash-chained session record; verify_call recomputes the hash of the exact description/schema presented at call time \u2014 presented hash == pinned hash = VALID, any difference = INVALIDATED, appended to the chain as a proof record carrying BOTH hashes. A swapped description cannot be quietly un-swapped: swap-back returns VALID again but the INVALIDATED proof record stays in the chain, unaltered. Bench: independent canonicalizer (written from SPEC \u00a73 alone) reproduces all fixture fingerprints + the session fingerprint byte-exact; a 1-character description edit and a schema-only property change both INVALIDATE; bundled swaps give drift CHANGED\u00d72 / SAME\u00d71 / ADDED\u00d70 / REMOVED\u00d70 exactly; list reorder does NOT invalidate (fingerprints are per-tool, session tools sorted by name).",
    "Session-bound, not a static scan: a tool list fully clean at pin time whose description is swapped AFTER pinning is caught by verify_call \u2014 a static pre-flight scanner (e.g. mcp-scan) has no session state to catch a post-pin swap. Controls bench-verified: verify on an unpinned session = UNKNOWN_SESSION (never VALID), on a never-pinned tool = UNKNOWN_TOOL, with a never-pinned description = INVALIDATED; unknown tool names (e.g. proxy_call) = NO_SUCH_TOOL refusal stating it does not proxy live MCP traffic.",
    "Caller-anchored chain head (v0.1.1 fix for bench defect D1, MEDIUM): a bare hash chain is internally consistent after its LAST record is deleted, so tail truncation \u2014 typically deleting the INVALIDATED proof record \u2014 was undetectable in v0.1. v0.1.1 returns head_hash + record_count from pin_session, verify_call, and get_session_chain, and get_session_chain accepts them back as expected_head_hash / expected_record_count: anchored tail truncation = chain_valid:false, TAIL_TRUNCATION_SUSPECTED; a same-count forged tail = CHAIN_HEAD_MISMATCH; interior tamper (edit / delete / reorder of any non-tail record) stays self-detecting with no anchor needed (CHAIN_RECOMPUTE_FAILED). Without an anchor the response carries anchored:false and chain_valid asserts internal consistency only \u2014 never implied truncation detection (SPEC \u00a710; caller duty: anchor at pin, re-anchor after every verify).",
    "Independent recompute by design: fingerprint_tool returns the exact canonical JSON preimage of every fingerprint, so any caller can recompute every hash with any SHA-256 implementation; detect_drift reports per-tool SAME / CHANGED / ADDED / REMOVED vs the pin with both fingerprints, read-only (drift checks never append to the chain). Exactly 5 tools on the wire; every envelope carries scope LOCAL + canonicalization toolprint-canonical-v1; clean coded errors with no partial state (a failed pin creates no session, a refused verify appends no record).",
    "Honest scope: LOCAL only \u2014 v0.1.1 operates only on caller-supplied tool lists/descriptions plus the bundled fixtures. It does NOT proxy live MCP traffic, does not connect to remote MCP servers, does not execute any described tool, and makes no network calls. Python 3 standard library only; MCP over stdio; no payment, checkout, metering-enforcement, or billing code \u2014 the $0.05/call term is a commercial term for hosted/commercial deployment, not a build feature."
   ],
   "tools": [
    "pin_session",
    "verify_call",
    "get_session_chain",
    "detect_drift",
    "fingerprint_tool"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.05/call (PC-3) for hosted/commercial deployment, via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; v0.1.1 contains no payment, checkout, metering-enforcement, or billing code. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-toolprint-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-toolprint-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local)",
    "certified": true,
    "certified_scope": "CERTIFIED (local) \u2014 Verity independent bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix D1 round (repo @ 240c329): 18/18 PASS, deterministic across 2 runs. Anchored tail-truncation (the v0.1 D1 repro) detected as TAIL_TRUNCATION_SUSPECTED with chain_valid:false; unanchored reads explicitly carry anchored:false / anchor_match:null and assert internal consistency only; a same-count forged tail (independently recomputed record_hash, invisible to bare-chain recompute) is caught as CHAIN_HEAD_MISMATCH by the caller anchor alone; anchor material (head_hash + record_count) present and advancing on pin_session, verify_call, and get_session_chain, with tool_version 0.1.1 on every envelope. Regression spot-checks PASS: verbatim presented description = VALID, swapped-fixture search = INVALIDATED with pinned 332a2771\u2026 / presented 6246163e\u2026, and the v1 fixture fingerprint + SPEC \u00a73.1 canonical preimage are byte-exact unchanged by the fix. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local), 40/40 probes PASS, defect D1 (MEDIUM \u2014 tail truncation erased a proof record undetectably, falsifying SPEC \u00a72.3's unqualified tamper claim) \u2014 closed by this re-bench via implementation (caller-anchored head) plus the qualified SPEC \u00a710 claim. Scope = LOCAL only: a local verification engine operating on caller-supplied tool lists/descriptions plus bundled fixtures, stdio transport; it does NOT proxy live MCP traffic, does not connect to remote servers, does not execute described tools, and makes no network calls \u2014 no live-traffic claim is made by the product or tested here. Claim honesty PASS with 1 non-blocking observation on the record: SPEC \u00a72.3's original unqualified sentence and \u00a78 item 4 remain verbatim in the body, neutralized only by \u00a710's supersession header; the document read whole is accurate. \u00a79.3 signed/external anchoring for cross-party evidence remains open by design and is not claimed.",
    "not_tested": [
     "Live MCP traffic proxying or interception \u2014 not in v0.1.1 by design: the engine never proxies live traffic, connects to remote servers, or executes described tools; a live-traffic scope upgrade requires its own spec + bench",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only, operating on caller-supplied tool lists + bundled fixtures",
     "Cross-party evidence use \u2014 signed chain heads / external anchoring (SPEC \u00a79.3) remain open by design and are not claimed; unanchored chain reads assert internal consistency only, never truncation detection",
     "Per-call metering or payment enforcement \u2014 none exists in v0.1.1 by design: the $0.05/call (PC-3) term is commercial metadata for hosted/commercial deployment; no payment, checkout, or billing code is in the server"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/toolprint/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, isolated state dirs, own canonicalizer from SPEC \u00a73). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-toolprint-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-toolprint-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-toolprint-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-boomerang-mcp",
   "name": "Eclipse Boomerang",
   "tagline": "Governed returns for agent purchases: a return is authorized only if it binds to the original purchase receipt + mandate, with condition/serial attestation at return initiation. LOCAL/fixture scope only \u2014 authorization is a sealed local record, not a real-world returns/logistics action; nothing is shipped, received, refunded, or restocked, and no merchant or carrier is contacted.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Commerce / Procurement"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 return mandate cryptographically bound to the original order receipt, with condition/serial attestation at return initiation (SPEC \u00a73): register_purchase seals order_ref + serial + amount + the full mandate record + the full receipt record together and derives receipt_hash + mandate_hash inside the sealed purchase; initiate_return authorizes only when the sealed purchase exists and its seal recomputes, the presented serial equals the sealed serial, the sealed mandate's scope explicitly includes returns, and a well-formed condition attestation {condition, attested_by, ts} is present. The sealed return record carries receipt_hash + mandate_hash + purchase_seal copied from the sealed purchase, so the return \u2192 receipt + mandate binding is recomputable by verify_return without trusting caller assertions. Bench: bindings independently recomputed from fixture data (purchase_id, both hashes, purchase HMAC seal, return HMAC seal \u2014 all match server values); seal-transplant forgery onto altered amount/serial/hashes/attestation rejected INVALID x8.",
    "A receipt-free return can never authorize: no purchase record \u2192 DENIED / NO_PURCHASE_RECORD, and there is no override tool, no manual-approve path, and no way to mint a return except through the check chain (existence \u2192 seal \u2192 serial \u2192 mandate scope \u2192 attestation, in spec order). Bench N-check: wrong/case-variant/whitespace/empty serial \u2192 SERIAL_MISMATCH x4; mandate without returns scope \u2192 MANDATE_SCOPE_NO_RETURNS (including smuggled returns-mandate + force flags in the initiate args \u2014 the sealed mandate governs); missing/malformed attestation \u2192 ATTESTATION_MISSING x9; tampered purchase store (amount edited, mandate edited to ADD returns scope, receipt_hash edited) \u2192 SEAL_INVALID, never authorized. Denial is a result, not an exception, with a closed reason-code set (NO_PURCHASE_RECORD \u00b7 SERIAL_MISMATCH \u00b7 MANDATE_SCOPE_NO_RETURNS \u00b7 ATTESTATION_MISSING \u00b7 SEAL_INVALID); every denial is logged for list_denials. Override audit: tools/list = exactly the 5 spec tools; 10 override-shaped calls (admin_authorize, force_return, manual_approve, refund_now, \u2026) all NO_SUCH_TOOL.",
    "Process hardening (v0.1.1 fix for bench defect D1, MEDIUM): strict argument-type validation at dispatch against the advertised inputSchemas (ids must be strings; amount must be an integer, booleans rejected; mandate/receipt must be objects) plus store-level backstops and a catch-all tools/call path \u2014 no malformed input of any shape may terminate the process. Re-bench: 6/6 original crash vectors clean in fresh processes, 56-case wrong-type fuzz sweep + 15 protocol-garbage cases, server alive and answering tools/list (5 tools) after every case. Spec'd domain semantics preserved under the hardening: a malformed condition_attestation is still DENIED / ATTESTATION_MISSING (not a dispatch error) and null ids keep their \u00a75 domain outcomes.",
    "Response-shape conformance (v0.1.1 fix for bench defect D2, LOW): every response on every branch \u2014 including all verify_return INVALID paths and list_denials (response + stored denial entries) \u2014 now carries scope: \"LOCAL/fixture\" and seal_type: \"HMAC-SHA256 demo (local key)\" uniformly, per SPEC \u00a75. Re-bench D2 audit reached and checked every INVALID branch via independently re-sealed records.",
    "Honest scope: LOCAL/fixture only \u2014 v0.1.1 operates on caller-supplied fixture purchase records (receipt + mandate); no network calls; no merchant, carrier, payment, or logistics system is contacted. Authorization is a sealed local record, NOT a real-world returns/logistics action: it does not ship, receive, refund, restock, or instruct any third party. Seals are HMAC-SHA256 with a local demo key (runtime-generated into gitignored keys/demo.key, mode 0600; bench hygiene: demo key value absent from tree + full git history). Python 3 standard library only; MCP over stdio; exactly 5 tools; no payment or checkout code \u2014 the $1.00/return term is a pricing statement only."
   ],
   "tools": [
    "register_purchase",
    "initiate_return",
    "verify_return",
    "get_return",
    "list_denials"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $1.00/return (per executed return, Procure per-order pattern), via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; v0.1.1 contains no payment or checkout code (the price is a stated term only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-boomerang-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-boomerang-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix D1/D2 round (repo @ 985fe9f): 57/57 re-bench checks PASS, and the prior full bench suite re-run against v0.1.1 scores 83/83 (v0.1: 80/83). D1 (MEDIUM \u2014 unhashable-typed ids crashed the stdio process via uncaught TypeError at store lookups) CLOSED: the bench's crash vectors (list/dict purchase_id / return_id across initiate_return, get_return, verify_return) each return a clean JSON-RPC error in a fresh process with the server alive and answering tools/list afterwards; a 56-case wrong-type fuzz sweep over every advertised argument of all five tools plus 15 protocol-garbage cases killed no process; bool-as-int amount rejected as a type error, never accepted as 1. D2 (LOW \u2014 seal_type missing on verify_return INVALID branches and list_denials vs SPEC \u00a75 'all responses carry scope + seal_type') CLOSED: every verify_return branch (VALID and all INVALID paths, reached via independently re-sealed records) and the list_denials response + stored denial entries now carry both fields uniformly. Mechanism spot-check PASS, semantics unshifted: happy path AUTHORIZED with the return record's receipt_hash + mandate_hash + purchase_seal identical to the sealed purchase and verify_return VALID; wrong serial \u2192 DENIED / SERIAL_MISMATCH. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), bench suite 80/83, the SPEC \u00a73 novel mechanism passing in full (every bypass denied with the spec'd code, binding independently recomputed, seal-transplant forgery rejected x8, override audit: exactly the 5 spec tools and 10 override-shaped calls all NO_SUCH_TOOL) with defects D1 + D2 \u2014 both closed by this re-bench per the prior verdict's stated upgrade path. Scope = LOCAL/fixture only: caller-supplied fixture purchase records (receipt + mandate), stdio transport, HMAC-SHA256 demo seal with a local demo key (keys/demo.key, gitignored, mode 0600). Authorization is a sealed local record, NOT a real-world returns/logistics action \u2014 it does not ship, receive, refund, restock, or instruct any third party, and no merchant, carrier, payment, or logistics system is contacted; nothing about real merchant/carrier/refund integration is claimed by the product or tested here.",
    "not_tested": [
     "Real-world returns, logistics, refund, or restock action \u2014 not in v0.1.1 by design (SPEC \u00a77 non-goals): no merchant, carrier, payment, or logistics system is contacted and no third party is instructed; authorization is a sealed local record only",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only, operating on caller-supplied fixture purchase records",
     "Payment, checkout, or per-return metering enforcement \u2014 none exists in v0.1.1 by design: the $1.00/return term is commercial metadata (Procure per-order pattern); no payment or checkout code is in the server",
     "Production key custody \u2014 seals use an HMAC-SHA256 demo key generated locally (gitignored keys/demo.key); no production key claim is made"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/boomerang/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, independent hashlib/hmac recomputation, no repo imports; fresh server process per D1 vector and per fuzz case). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-boomerang-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-boomerang-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-boomerang-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-rebuttal-mcp",
   "name": "Eclipse Rebuttal",
   "tagline": "Chargeback rebuttal evidence packets for agent purchases: turns a Procure/Till mandate + receipt chain into a generic reason-code packet with every element traced to a source record. LOCAL/fixture scope only \u2014 packet generation only; never files, submits, or transmits anything, no card network or issuer is contacted, and reason codes are a small generic table, not any network's proprietary codes.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Commerce / Procurement"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 auto-translation of the sealed Procure/Till mandate chain into generic reason-code evidence format (SPEC \u00a73): ingest_dispute seals the dispute + mandate-chain + receipt records into one case with a chain hash; map_evidence translates that sealed chain, per dispute reason class, into evidence sections where every evidence element is traced to a specific mandate/receipt/dispute record id (source_record_id) \u2014 an untraced element cannot be emitted. The mandate facts translated are exactly the agent-commerce facts incumbents do not carry: who authorized what (authorized_by, agent_id, action), the authorization scope, transaction-within-scope derivation, and the drift-abort log (out-of-scope attempts the agent aborted), included whenever present. Bench P1: 11/11 elements traced to existing record ids, source_type consistent, values faithful; within_scope derivation arithmetic verified.",
    "Completeness honesty \u2014 a packet built from an incomplete mandate chain is marked INCOMPLETE with each missing element named (dispute_id, dispute_reason_class, dispute_amount, dispute_order_ref, mandate_chain, mandate_authorization, mandate_scope, receipt_record, receipt_order_ref_match, receipt_amount); a missing evidence section renders MISSING with zero elements and evidence is never fabricated. Bench anti-fabrication battery PASS: each gap case validated INCOMPLETE naming the exact gap, packet marked INCOMPLETE, section MISSING/empty, zero banned evidence strings in evidence JSON or text rendering; drift-abort absence handled honestly (no_events_declared, zero elements, nothing invented).",
    "Seal-gated translation + full-packet seal (v0.1.1 fixes for bench defects D1/D2, both HIGH): map_evidence/build_packet recompute the case seal before translating \u2014 a tampered stored case is a hard refusal (SEAL_INVALID), no packet is stored and the attacker value is emitted nowhere (re-bench C1: 6/6). The packet seal covers the FULL packet including text_rendering \u2014 appended/fabricated text, stored text tamper, and an edit-any-field sweep (12/12) all verify INVALID (re-bench C2: 5/5).",
    "Receipt attribution + no null elements (v0.1.1 fixes for bench defects D3/D5): the receipts[0] fallback is removed \u2014 only a receipt whose order_ref equals the dispute's is receipt evidence; a mismatched receipt (ORD-OTHER-999 under both unauthorized and processing_error) renders receipt sections MISSING with zero elements, the packet is INCOMPLETE, and the mismatched record_id/order_ref/amount/merchant occur nowhere in packet JSON or text (re-bench C3: 8/8). Null-valued dispute fields emit no elements \u2014 order_identification renders MISSING when no present values exist, partial nulls emit only present values (re-bench D5: 6/6).",
    "Keyed seal + honest scope: seals are HMAC-SHA256 with a runtime-generated local DEMO key (keys/demo.key, gitignored, mode 0600) \u2014 external re-seal attacks (unkeyed SHA-256, wrong-key HMAC, foreign-key store) all verify INVALID while the legitimate key-holder flow verifies VALID (re-bench C4: 7/7); the demo key proves 'unchanged since sealed under this local demo key' only, not a production/network signature. LOCAL/fixture scope only \u2014 packet generation only: no card network, issuer, merchant, or platform is contacted, no network calls, and the tool never files, submits, or transmits anything. Reason-code mapping is a small generic table (GEN-* codes) labelled generic \u2014 not any card network's proprietary reason codes, no network affiliation claimed. Python 3 standard library only; MCP over stdio; exactly 5 tools (submit_packet/file_chargeback/transmit_packet -> NO_SUCH_TOOL); no payment or checkout code \u2014 the $5.00/filing term is a pricing statement only."
   ],
   "tools": [
    "ingest_dispute",
    "map_evidence",
    "build_packet",
    "validate_case",
    "get_packet"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $5.00/filing (PC-7 pattern), via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; v0.1.1 contains no payment or checkout code (the price is a stated term only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-rebuttal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-rebuttal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent re-bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix C1\u2013C4/D5 round (repo @ 3f0668c): 39/39 scoped probes PASS, builder suite re-run 23/23. C1/D2 (HIGH \u2014 build_packet/map_evidence never verified the case seal, so a tampered chain was re-sealed into a VALID packet) CLOSED: tampered stored case (authorized_by -> buyer:mallory) -> validate_case case_seal_valid=false, map_evidence + build_packet hard refusal SEAL_INVALID, no packet stored, attacker value emitted nowhere (6/6). C2/D1 (HIGH \u2014 packet seal excluded text_rendering, so fabricated text verified VALID) CLOSED: seal now covers the full packet incl. text_rendering; supplied + stored text tamper INVALID and edit-any-field sweep 12/12 INVALID (5/5). C3/D3 (MED \u2014 mismatched receipt silently used via receipts[0] fallback) CLOSED: receipt sections MISSING, packet INCOMPLETE, mismatched receipt traced nowhere under 2 reason classes (8/8). C4/D4 (MED \u2014 external re-seal verified under unkeyed SHA-256) CLOSED: HMAC-SHA256 demo-key seals; unkeyed/wrong-key/foreign-key re-seals INVALID, legitimate key-holder flow VALID (7/7). D5 (LOW \u2014 null-valued elements in present sections) CLOSED: no null elements, partial nulls emit only present values (6/6). Spot-check P1 regression PASS (7/7): complete fixture COMPLETE + case_seal_valid=true, 11/11 elements traced, within_scope derivation correct, all 5 sections present, get_packet VALID. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 45/51 probes, core mechanism (traceability + anti-fabrication battery) passing in full with defects D1\u2013D5 \u2014 all closed by this re-bench. Scope = LOCAL/fixture only: caller-supplied fixture dispute + mandate-chain + receipt data, stdio transport, HMAC-SHA256 demo seal with a local demo key (keys/demo.key, gitignored, mode 0600). Packet generation only \u2014 the tool never files, submits, or transmits anything, no card network/issuer/merchant/platform is contacted, and the generic GEN-* reason-code table is not any network's proprietary codes and claims no network affiliation; nothing about real filing, submission, or network acceptance is claimed by the product or tested here.",
    "not_tested": [
     "Filing, submission, or transmission to any card network, issuer, merchant, or platform \u2014 not in v0.1.1 by design (SPEC \u00a79 non-goals): packet generation only, no network calls at all",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only, operating on caller-supplied fixture dispute + mandate-chain + receipt data",
     "Payment, checkout, or per-filing metering enforcement \u2014 none exists in v0.1.1 by design: the $5.00/filing term is commercial metadata (PC-7 pattern); no payment or checkout code is in the server",
     "Proprietary network reason codes or network affiliation \u2014 mapping is a small generic GEN-* table, labelled generic; no legal advice or win/loss prediction is provided",
     "Production key custody \u2014 seals use an HMAC-SHA256 demo key generated locally (gitignored keys/demo.key); the seal proves unchanged-since-sealed under that local demo key only, no production key claim is made"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/rebuttal/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, fresh server process + isolated data dir + isolated key file per scenario; attack cases reused from prior suite). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-rebuttal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-rebuttal-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-rebuttal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-crawlway-mcp",
   "name": "Eclipse Crawlway",
   "tagline": "Pay-per-crawl licensing receipts for publishers: a sealed receipt binding crawler identity, license-terms hash, and content fingerprint in one recomputable record, hash-chained per publisher and revocable by terms version. LOCAL/fixture scope only \u2014 receipt mechanics only; no crawling, no fetching, no network calls, and the $0.01/call meter is recorded, never charged in v0.1.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Publishing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 a crawl receipt binds crawler identity (Herald-card-shaped id), license-terms hash, and content fingerprint in one recomputable record (SPEC \u00a73): licensing and proof-of-license are the same artifact. publish_terms seals the terms record (terms_hash + terms_record_hash); record_crawl's binding_hash covers crawler_id, publisher_id, terms_version, terms_hash, content_fingerprint, url, and ts, and receipts hash-chain per publisher (receipt_hash = sha256(prev + binding), genesis = 64 zeroes, chains never cross publishers). Bench: binding, terms, and chain hashes all match the bench's independent recomputation from the SPEC \u00a73 formulas, and tampering any bound element in an object copy or a store copy verifies INVALID for the tampered receipt and its chain successor.",
    "Ledger-membership verification + terms-seal enforcement (v0.1.1 fixes for bench defects D1/D2): VALID is returned only for a receipt present in the sealed ledger passing the full per-publisher chain walk \u2014 a standalone object resealed with the public formula (forged crawler, fingerprint of content never crawled, or an identity swap of a genuine receipt) verifies INVALID with chain_valid: false (re-bench C1: 10/10). record_crawl and verify_receipt recompute the terms-record seal before trusting stored terms: a seal-broken terms record refuses minting (TERMS_SEAL_INVALID) and drives prior receipts INVALID with terms_status: seal_invalid, per-record (re-bench C2: 12/12).",
    "Sealed-only meter + consistent reports + strict structure (v0.1.1 fixes for bench defects D3/D4/D5): meter_report derives every count from sealed receipt records only \u2014 garbage, unparseable, or unsealed appended lines are excluded from all totals and surfaced as rejected_lines (re-bench C3: appended garbage + unsealed lines leave totals and breakdowns unchanged, rejected_lines: 2). There is no separate counter and no tool-surface mutation path (fake set_meter/increment_meter/mint tools return NO_SUCH_TOOL). Filtered reports reconcile with themselves: total_receipts equals each breakdown sum under every filter combination (re-bench D4: 9/9). A supplied receipt carrying any key outside the specced receipt schema, or a tampered position, verifies INVALID (re-bench D5: 6/6).",
    "Revocation is a status, not a rewrite: revoke_terms appends a revocation record; receipts under that terms version then verify TERMS_REVOKED with binding_valid: true and chain_valid: true \u2014 a revoked receipt remains provably a receipt that was issued, under terms no longer in force. record_crawl under revoked terms returns a TERMS_REVOKED refusal and mints nothing (ledger count and meter provably unchanged); re-revoke returns already_revoked: true; unknown terms return TERMS_NOT_FOUND. Duplicate {publisher, version} terms publication is refused (TERMS_VERSION_EXISTS) and prior receipts never verify against substituted terms.",
    "Honest scope + disclosed LOW: LOCAL/fixture \u2014 RECEIPT MECHANICS ONLY. No crawling, no fetching, no network calls of any kind, no marketplace; callers supply crawler identity refs, publisher ids, license terms, and content fingerprints (SHA-256 hashes) \u2014 never content itself; Herald-card ids are shape-validated only, never resolved or authenticated. Python 3 standard library only; MCP over stdio; exactly 5 tools (unknown names return NO_SUCH_TOOL). The meter is recorded at $0.01/call with charged: false \u2014 no payment, checkout, wallet, or charging code exists in this package. Known LOW D6 (non-blocking, fix-before-live, disclosed on the bench record): a corrupt non-JSON store line is tolerated by meter_report (counted in rejected_lines) but crashes the non-meter tools \u2014 the server exits loudly instead of answering; no false VALID and no inflated meter results."
   ],
   "tools": [
    "publish_terms",
    "record_crawl",
    "verify_receipt",
    "revoke_terms",
    "meter_report"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.01/call (PC-1 pattern), via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; v0.1.1 records the meter only \u2014 the meter is never charged in v0.1 and there is no payment or checkout code (the price is a stated term only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-crawlway-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-crawlway-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent re-bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix C1\u2013C3/D4/D5 round (repo @ d3af623): 48/48 scoped probes PASS, 0 FAIL. C1 (D1, HIGH \u2014 a standalone receipt object resealed with the public formula verified VALID with chain_valid: true) CLOSED: non-ledger objects (resealed forgery at position 1 and 99, resealed identity-swap of a genuine receipt) return INVALID with chain_valid: false and in_ledger: false; forged receipt_id returns RECEIPT_NOT_FOUND; the genuine ledger receipt still verifies VALID by id and by object (10/10). C2 (D2, MEDIUM \u2014 the terms-record seal was never enforced) CLOSED: both store-swap variants (hash-only; text+hash with stale seal) make record_crawl refuse with TERMS_SEAL_INVALID (nothing minted, ledger unchanged) and prior receipts verify INVALID with terms_status: seal_invalid; an untouched publisher in the same store is unaffected (12/12). C3 (D3, MEDIUM \u2014 the meter counted unsealed ledger lines) CLOSED: after appending a non-JSON garbage line and a well-formed-but-unsealed line, meter_report totals stay at the sealed count with rejected_lines: 2 surfaced and breakdowns byte-identical (5/5). D4 (LOW \u2014 filtered meter reports were internally inconsistent) CLOSED: for filters {}, {publisher}, {crawler}, {publisher+crawler}, total_receipts equals every breakdown sum and metered_total_usd equals total \u00d7 0.01 (9/9). D5 (LOW \u2014 unbound fields on a supplied receipt were not authenticated) CLOSED: an extra field (license_scope) or a tampered position verifies INVALID with structure_valid: false (6/6). Spot-check PASS 6/6: happy-path hashes match the bench's independent recomputation and revocation semantics are unregressed (revoked receipts verify TERMS_REVOKED with binding_valid: true, chain_valid: true; record_crawl under revoked terms refuses and mints nothing). Known LOW, non-blocking, disclosed (D6, fix-before-live): a corrupt non-JSON store line is handled by meter_report (counted in rejected_lines) but crashes the non-meter tools via the shared loader \u2014 the server exits instead of answering; the failure is loud and safe-direction (no false VALID, no inflated meter) and is recorded as fix-before-live for any hosted/long-running deployment. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 49/49 asserted probes PASS with defects D1\u2013D5 \u2014 all closed by this re-bench. Scope = LOCAL/fixture only: receipt mechanics only \u2014 no crawling, no fetching, no network calls, no marketplace; callers supply content fingerprints (SHA-256 hashes) and Herald-card-shaped crawler identity refs, never content; the $0.01/call meter is recorded, never charged in v0.1.",
    "not_tested": [
     "Crawling, fetching, or any network access \u2014 not in v0.1.1 by design (SPEC \u00a72 scope): receipt mechanics only; callers supply fingerprints (hashes), never content",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only, operating on caller-supplied fixture terms, identities, and fingerprints; known LOW D6 (a corrupt non-JSON store line crashes non-meter tools, failing loud) is fix-before-live for any hosted/long-running deployment",
     "Payment, checkout, or charging \u2014 none exists in v0.1.1 by design: meter_report records the meter at $0.01/call with charged: false; the price is commercial metadata (PC-1 pattern) and no payment or checkout code is in the server",
     "Identity resolution or authentication of Herald cards \u2014 v0.1.1 validates the herald:<kind>:<id> shape only; no card is resolved or authenticated",
     "A marketplace or listing function \u2014 none exists in v0.1.1; receipts are sealed, verified, metered, and revoked locally only"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/crawlway/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, never importing builder code, all hashes recomputed independently from SPEC \u00a73 formulas; builder suite 25/25). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-crawlway-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-crawlway-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-crawlway-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-outwatch-mcp",
   "name": "Eclipse Outwatch",
   "tagline": "Independent uptime/SLA witnessing for MCP servers: hash-chained probe receipts feed a recomputable trust record, availability recomputed only from receipts \u2014 no self-report accepted \u2014 and a badge that auto-degrades on witnessed downtime. LOCAL scope only \u2014 probes run only against localhost or fixture:// endpoints; vantage points are local-simulated probe identities, NOT geographically independent; no live external monitoring.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Certification & Testing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 probe receipts are hash-chained into a listing's trust record, so SLA claims are witnessed history, not vendor self-report, and a badge auto-degrades on witnessed downtime (SPEC \u00a72): every probe appends a receipt {seq, ts, target_id, vantage, vantage_mode, scope, ok, status, latency_ms, prev_hash, hash} where hash = sha256(canonical_json(receipt_without_hash)) and prev_hash is the previous receipt's hash for that target (genesis = 64 zero hex chars). Availability and badge tier are recomputed only from receipts; no tool accepts a self-reported uptime/SLA input. Bench: the bench independently recomputed every sha256 from the SPEC canonical form \u2014 match; field/ts edits, single-receipt rehash, middle/first deletion, and reorder on store copies were all detected.",
    "No self-report path + badge ladder (original bench P1/P4 PASS): 14/14 canonical self-report shapes (uptime, availability, sla, sla_claim, claimed_uptime, availability_claim, self_report, self_reported_uptime, full Checkly-dashboard payload) refused SELF_REPORT_NOT_ACCEPTED on every tool, creating no target and no receipts; 12 setter/import tool names all NO_SUCH_TOOL. Exactly the 5 spec tools exist, with no setter/import/edit or badge/self-report input in any schema. Badge derived only from receipts in the window: 0 \u2192 NO_WITNESSED_HISTORY; 1\u20134 @100% \u2192 INSUFFICIENT_HISTORY; 5 @100% \u2192 UP; 19/20 = 0.95 \u2192 UP; 9/10 = 0.90 \u2192 DEGRADED; 4/5 = 0.80 \u2192 DEGRADED; 7/10 = 0.70 \u2192 DOWN; window honored exactly (default 20, clamps at 100). Availability math exact: localhost sequence [200,503,200,404,200,503,201] \u2192 4/7 = 0.5714285714285714; fixture error/down \u2192 0.0; connection-refused localhost \u2192 ok=false status=0 receipt; 0 receipts \u2192 NO_WITNESSED_HISTORY, availability null; targets isolated.",
    "Redirects never followed + crash-proof + structural refusal (v0.1.1 fixes for bench defects D1/D2/D3, re-bench PASS): probes use a no-redirect opener \u2014 the registered endpoint's own response (incl. 3xx, recorded with its true status) is the witnessed outcome, no same-origin/cross-origin/external hop is ever probed (re-bench 2a/2b/2c: same-origin 302\u2192503, cross-origin 302\u2192200, external-shaped 302, loop and chain all witness 302 only, destination hit counts unchanged 0\u21920). Malformed arguments can no longer kill the process: target_id type-checked in every tool, urlparse ValueError \u2192 clean validation error, dispatch + main-loop guards map unexpected exceptions to clean isError (re-bench P6: 21/21 checks, aggregating 82 fresh-process vectors, 0 crashes). Advertised schemas are enforced at dispatch (unknown keys rejected structurally) and self-report detection is normalized (case/camelCase/separators/suffixes + nested scan) \u2014 19 variant shapes all refused, availability stayed exactly 0.5, receipt count and badge unchanged.",
    "Honest scope \u2014 LOCAL ONLY: probes execute only against localhost (127.0.0.1/localhost/::1 HTTP) or fixture:// endpoints; 17 external/non-local URL shapes (incl. 127.0.0.1@evil.com, hex/decimal IP, sub.localhost, file:, ftp:) all SCOPE_EXTERNAL_REFUSED; conflicting re-register TARGET_CONFLICT, identical idempotent; LOCAL + local-simulated labels verified on receipts, trust record, badge, and verify outputs; fixture seed never auto-loaded. 'Vantage points' are distinct local probe identities (local-vantage-a/b/c), labeled vantage_mode: local-simulated in every artifact \u2014 they are NOT geographically independent and are never described as such. Python 3 standard library only; MCP over stdio; exactly 5 tools. No checkout/payment code exists \u2014 the $299/mo feed license is a pricing term only.",
    "Disclosed LOWs, open as documented for LOCAL scope (non-blocking): D4 \u2014 the receipt hash chain is unauthenticated (plain sha256, no key/signature, as specified): anyone with write access to the store file can append a correctly-hashed forged receipt or truncate the tail undetectably (bench on store copies: forged append verified valid=true checked=7; last-receipt deletion valid=true checked=5); consumers should pin chain_head from get_trust_record externally and call verify_chain separately (get_trust_record/badge_state do not embed chain validity); a future version should HMAC/sign receipts. D5 \u2014 vantage provenance is free-form: probe_now accepts arbitrary vantage names verbatim (a name like aws-us-east-1-real-geo appears in the receipt and per-vantage trust record), mitigated not eliminated by the vantage_mode: local-simulated stamp on every receipt, and the list form of vantages is uncapped while the count form caps at 10."
   ],
   "tools": [
    "register_target",
    "probe_now",
    "get_trust_record",
    "verify_chain",
    "badge_state"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $299/mo feed license, via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product; there is no payment or checkout code in this package (the price is a stated term only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-outwatch-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-outwatch-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL) \u2014 Verity independent re-bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix D1\u2013D3 round (repo @ b65c32e): 21/21 checks PASS, 0 FAIL (P6 aggregates 82 fresh-process vectors). D1 (HIGH \u2014 malformed arguments crashed the server process: list/dict target_id TypeError, invalid-IPv6 urlparse ValueError) FIXED: 25 original malformed cases + 57-vector fuzz sweep (wrong types on every arg of every tool, fresh process per vector) \u2192 0 crashes, 0 tracebacks, every vector a clean JSON-RPC isError, process alive and tools/list responsive after each. D2 (HIGH \u2014 probes followed HTTP redirects, LOCAL scope bypassable by trampoline to an always-200 or external page) FIXED: redirects never followed, witnessed as-is \u2014 same-origin 302\u2192/down(503), cross-origin 302\u2192second-port /ok(200), external-shaped 302, redirect loop, and 302\u2192302\u2192503 chain all record status=302 only with destination hit counts unchanged (0\u21920). D3 (LOW \u2014 self-report refusal was an exact-key denylist and declared schemas were never enforced) FIXED: 19 variant shapes across all read/probe tools (uptime_pct, Uptime, UPTIME, selfReportedUptime, sla_pct, nested {meta:{uptime:\u2026}}, unknown keys, register-time and nested-in-list forms) all refused cleanly, zero influence (availability exactly 0.5, receipt_count 2, badge unchanged). Regression spot-checks PASS: badge ladder 19\u00d7200+1\u00d7503 \u2192 availability 0.95 \u2192 UP; chain tamper on a store copy (seq-3 field edit) \u2192 valid=false, tampered_seqs=[3], pristine chain valid=true checked=6. New defects: none. Known LOWs remain open as documented for LOCAL scope, non-blocking (D4: hash chain unauthenticated \u2014 forged append / tail truncation undetectable under store-write access; pin chain_head externally, call verify_chain separately. D5: vantage names free-form and list form uncapped, mitigated by vantage_mode: local-simulated stamp). Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (LOCAL), 72/76 checks PASS with HIGH defects D1/D2 and LOWs D3\u2013D6 \u2014 D1/D2/D3 (and D6 bool-as-int as a side effect) closed by this re-bench. Scope = LOCAL only: probes run only against localhost or fixture:// endpoints, external probing refused; vantage points are local-simulated probe identities, NOT geographically independent; no self-report input accepted; $299/mo is a pricing term only \u2014 no checkout/payment code.",
    "not_tested": [
     "External or public network probing \u2014 refused by design in v0.1.1 (SCOPE_EXTERNAL_REFUSED): no live external monitoring is performed, tested, or claimed",
     "Real geographic vantage independence \u2014 not in v0.1.1 by design: vantage points are local-simulated probe identities only, stamped vantage_mode: local-simulated on every receipt",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only; known LOWs D4 (unauthenticated chain, tail truncation undetectable under store-write access) and D5 (free-form vantage names, uncapped list form) remain documented for LOCAL scope",
     "Payment, checkout, or charging \u2014 none exists in v0.1.1 by design: the $299/mo feed license is commercial metadata / a stated pricing term only, and no payment or checkout code is in the server",
     "Dashboards, alerting, badge issuance/revocation beyond the derived badge_state, or any certification claim by the product itself \u2014 none exists in v0.1.1; certification is Verity's bench verdict only"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/outwatch/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, never importing builder code, all hashes recomputed independently from SPEC \u00a72; builder suite 29/29). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-outwatch-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-outwatch-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-outwatch-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-mpp-session-witness-mcp",
   "name": "Eclipse MPP Session Witness MCP",
   "tagline": "MPP session evidence / witness: mandate-sealed sessions, counter-signed draws, and witness receipts over fixture sessions and a local mock relay \u2014 Moderato testnet shapes only; no chain interaction, no live clearing, no live Meter ingest.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Commerce & Disputes",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 a session mandate (Herald-shape RS256 JWS) is verified at open in a fixed order (authenticity \u2192 cap \u2192 allowlist \u2192 expiry/revocation \u2192 approval threshold) and its hash is sealed into the session_open record; every draw is counter-signed at draw time by the caller key and a witness sidecar key, hash-chained, citing the mandate hash and a running all-in total.",
    "Named refusals + witness receipts \u2014 cap-breaching draws are refused by name before they happen (spec \u00a75.4 named refusals, incl. the R-W1 trigger partition); refusals are logged unsigned and never move the total. At close, a witness receipt binds mandate-hash \u2194 voucher-chain head \u2194 settlement reference from the mock relay, with three signatures (witness, buyer, seller); the \u00a76.4 offline verifier recomputes the whole pack from the artifact + public keys alone, and dispute_pack_get assembles a Docket-grade dispute pack.",
    "Honest scope \u2014 local stdio, Python stdlib only, fixture sessions + mock relay, Tempo Moderato testnet SHAPES (chainId 42431, hard-pinned in code): no chain interaction, no RPC, no Stripe API, no live clearing, no deposit custody, no live Meter ingest (draw records are emitted in Meter's record grammar for later ingest). Every artifact carries value_class: \"test\" and network: \"tempo-moderato-42431\". Startup hard-refuses any mainnet marker, any Stripe key, any RPC/non-local endpoint, relay_mode other than mock, or value_class other than \"test\".",
    "Disjoint surfaces, no money verbs \u2014 buyer and operator tool tables are disjoint, selected by ECLIPSE_TILL_MPP_WITNESS_SURFACE; no tool moves money, holds or releases a deposit, raises a cap, alters a mandate, counter-signs for a party, or issues a receipt for an unwitnessed session. The enabling MPP rail profile earned its own PASS (sandbox/fixture) but is never listed standalone (rail spec \u00a71.4) \u2014 listings attach to the Witness only."
   ],
   "tools": [
    "session_open",
    "session_draw",
    "session_close",
    "session_status",
    "receipt_get",
    "receipt_verify",
    "buyer_counter_sign",
    "session_open_accept",
    "session_close_accept",
    "session_list",
    "dispute_pack_get",
    "revocation_present",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 witness receipts priced at the witness-receipt pattern and dispute-pack assembly at the Docket pattern in the house price book, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product, and no dollar figures are stated in this listing \u2014 figures live in the price book. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-mpp-session-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-mpp-session-witness-mcp.png",
   "certification": {
    "bench_verdict": "PASS-CONDITIONAL (sandbox/fixture)",
    "certified": false,
    "certified_scope": "local stdio, fixture sessions + mock relay, Moderato testnet SHAPES, no chain interaction, no live clearing, no live Meter ingest, K6 claims only",
    "not_tested": [
     "Live clearing \u2014 not tested and not claimed: v0.1 runs fixture sessions against a local mock relay only; no chain interaction of any kind",
     "Mainnet \u2014 not tested and refused by design: startup hard-refuses any mainnet marker; Moderato testnet shapes only (chainId 42431)",
     "Live Meter ingest \u2014 not tested and not claimed: draw records are emitted in Meter's record grammar for later ingest only",
     "Live protocol operation, Stripe API, deposit custody \u2014 absent at v0.1 by design; none exists in the package"
    ],
    "live_state_note": "Label on record: MPP Session Witness \u2014 PASS-CONDITIONAL (sandbox/fixture), Verity re-bench of v0.1 @ 70cc818; the sole condition R-W1 was doc-only and is discharged by coordinator edits to the witness spec \u00a75.4, verified on disk 2026-10-27. PASS-CONDITIONAL is not CERTIFIED \u2014 certified is false, and nothing beyond the conditional verdict at its exact scope is claimed. No test-bench scorecard is claimed for this listing; scorecard_ref is null.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": null,
    "registry_url": null,
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-feedforge-mcp",
   "name": "Eclipse Feedforge",
   "tagline": "Converts a merchant's messy catalog into an agent-grade product feed with per-attribute provenance: every attribute records {value, source_field, rule_id, source_value} and verify_feed recomputes each byte-for-byte from the source rows and the documented deterministic rule set. LOCAL/fixture scope only \u2014 local engine over caller-supplied rows/CSV/JSON + bundled fixtures; deterministic transforms only, no LLM calls, no network calls; attributes no rule can produce are absent, never invented, and unmapped source fields are reported.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Commerce Readiness"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 provenance-pointer attributes with byte-for-byte recompute (SPEC \u00a71.1): every generated attribute carries {value, source_field, rule_id, source_value}, so any auditor can recompute why the feed claims what it claims \u2014 take the source row, apply the named rule (SPEC \u00a73, machine-readable in rules.json, stable ids R01\u2013R12) to source_value, and the result must equal value byte-for-byte; verify_feed does exactly this recompute over every attribute. Bench: independent recompute (written from SPEC \u00a73/\u00a74 + rules.json only, builder code never imported) reproduces the JSON fixture feed byte-for-byte \u2014 catalog cat_5820376e0fc71b86, feed feed_18337452aa65cc76, 9 entries, 85 attributes, every attribute with exactly the 4 provenance keys, rule_id present in rules.json with matching target, source_value byte-identical to the raw row; CSV fixture feed also deep-equals recompute; both feeds verify_feed \u2192 VERIFIED (P1 11/11).",
    "Absent-never-invented + unmapped honesty (P2 14/14): an attribute no rule can produce is ABSENT \u2014 never invented, never defaulted, never LLM-guessed. The crafted no-rule row (price \"call for price in JPY\", weight \"heavy\", stock \"maybe\", no category field, keyword-free title) yields exactly {id, title}; fixture WID-008 carries exactly {id, title, brand} and explain_attribute on each absent attribute returns ATTRIBUTE_ABSENT by name. A source field consumed by no rule is reported in unmapped_fields with occurrence count + row indices (all 4 fixture unmapped fields \u2014 Legacy Code, Supplier Notes, internal_code, warehouse_bin \u2014 plus crafted fields), and provenance never points at an unmapped field. The target attribute set is closed (11 attributes) \u2014 nothing outside it can appear. Tamper naming (P3 6/6): value edits, provenance-only edits (source_value $129.99\u2192$999.99), provenance swapped between products, invented extra attributes, and attribute deletion + unmapped-report wipe all return MISMATCH naming product + attribute; determinism (P4 3/3): identical catalog/feed hashes across fresh processes for JSON + CSV inputs.",
    "Crash-proof supplied-feed path (v0.1.1 fix for bench defect D1, re-bench PASS): verify_feed's feed-object form \u2014 precisely the surface meant to receive untrusted feeds \u2014 now structurally validates supplied feeds (catalog_id non-empty string; entries a list of objects; attributes objects whose values are provenance objects; unmapped_fields a list) before recompute, with non-string id guards and dispatch-level inputSchema enforcement for all 5 tools plus last-resort exception guards in the handler and stdio loop. Re-bench: full suite 98/98 (P5 55/55) + expanded fuzz 156/156 on one persistent process with liveness after every vector (23 supplied-feed deep shapes, 80 wrong-type argument vectors across all 5 tools, raw protocol attacks) \u2014 every malformed input is a clean ToolError, no process death; tamper semantics preserved (missing entries/attributes/hash = MISMATCH, not validation errors). Explain sweep (P6 6/6): 99 explain_attribute calls (9 products \u00d7 closed 11-attribute set) \u2014 every presented attribute is explainable and resolvable, every absent one ATTRIBUTE_ABSENT; no opaque-but-present attribute exists \u2014 the exact delta vs an LLM feed generator.",
    "Honest scope \u2014 LOCAL/fixture ONLY: the local engine ingests caller-supplied rows (JSON), csv_text, or json_text plus the bundled fixtures (messy_catalog.json 9 products in per-row field-name dialects; messy_catalog.csv 8 products under one messy header). Deterministic transforms only \u2014 NO LLM calls, NO network calls; Python 3 standard library only (csv, hashlib, io, json, os, re, decimal, sys \u2014 hygiene P7 3/3); MCP over stdio; exactly 5 tools (unknown names return NO_SUCH_TOOL); every response carries scope: \"LOCAL/fixture\". No payment, checkout, hosting, account, or API-key code exists \u2014 the $49/mo figure is pricing metadata in SPEC \u00a76/README only (future hosted form). Informational bench notes (non-blocking): currency tokenization is a substring match (SPEC silent; engine + recompute agree on every documented/standard form); duplicate product ids are both kept, explain resolves to the first entry; ragged-CSV extra cells are discarded by DictReader (no field name to report)."
   ],
   "tools": [
    "ingest_catalog",
    "list_rules",
    "transform_feed",
    "verify_feed",
    "explain_attribute"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $49/mo hosted bundle pattern, via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product, and no hosted service is being sold as live in v0.1: v0.1.1 is the local engine and contains no payment, checkout, hosting, metering, or billing code (the price is a stated term for the future hosted form only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-feedforge-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-feedforge-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity independent re-bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix D1 round (repo @ 1e41e3f): full prior suite 98/98 PASS, 0 FAIL (P1 11/11 \u00b7 P2 14/14 \u00b7 P3 6/6 \u00b7 P4 3/3 \u00b7 P5 55/55 \u00b7 P6 6/6 \u00b7 P7 3/3), defects list empty, plus expanded wrong-type fuzz 156/156 PASS on one persistent server process with a liveness ping (list_rules \u2192 12 rules) after every vector. D1 (HIGH \u2014 the verify_feed supplied-feed path performed no type validation; five malformed feed objects raised unhandled TypeError/AttributeError and killed the server process) CLOSED: the 5 original crash vectors (list/dict catalog_id; entries:[123]; entries:\"abc\"; attributes-as-string) all return clean ToolErrors with no process death, verified in the prior suite AND verbatim in the expanded fuzz (supplied-feed deep shapes 23 vectors; 8 wrong value types \u00d7 every argument of all 5 tools = 80 vectors; raw protocol attacks \u2014 non-string tool names, non-dict arguments, malformed/truncated JSON lines \u2014 server keeps answering after each). Behavior preservation PASS: fixture transform seals to feed_18337452aa65cc76 (full hash 18337452aa65cc76eb57c986e0d8f3ff58f2d6b389a09cf16df9d33cee9e94a5) over catalog cat_5820376e0fc71b86 \u2014 exactly SPEC \u00a74.1 \u2014 and deep-equals the bench's independent recompute (85 attributes, 9 entries; CSV fixture also deep-equals + VERIFIED); spot recompute of SHOE-001/price_cents, MUG-002/availability, BAG-009/category, LAP-003/weight_grams, TEE-004/category matches feed values + explain_attribute provenance; tamper semantics preserved 9/9 (missing entries/attributes/unmapped_fields/feed_hash and partial provenance records are MISMATCH, never validation errors; untampered copies by-object and by-feed_id VERIFIED). Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 93/98 \u2014 the novel mechanism itself passed without exception (byte-for-byte independent recompute of all 85 fixture attributes, provenance always resolving to the real raw source value, absent-never-invented, tamper naming on value AND provenance, determinism, complete 99-call explain sweep); the sole condition was the D1 fix + P5 re-bench, now closed. Informational carry-overs, non-blocking (unchanged from v0.1): currency tokenization is a substring match (\"100 EURO\" yields EUR; SPEC does not define tokenization \u2014 recommend SPEC v0.2 state the token rule explicitly); duplicate product ids are both kept and explain_attribute resolves a duplicated product_key to the first entry; ragged-CSV extra cells beyond the header are discarded by the csv.DictReader restkey path (no field name, nothing to report). Scope = LOCAL/fixture only: local engine over caller-supplied rows/CSV/JSON + bundled fixtures; deterministic transforms only \u2014 no LLM calls, no network calls; no live catalogs benched or implied; $49/mo is a pricing term for the future hosted form only \u2014 no payment/checkout/hosting code.",
    "not_tested": [
     "Live merchant catalogs or marketplace/catalog API sync (Shopify etc.) \u2014 not in v0.1.1 by design (SPEC \u00a77): local engine over caller-supplied rows/CSV/JSON + bundled fixtures only",
     "Hosted or remote serving \u2014 v0.1.1 is local stdio only; the $49/mo hosted bundle form is a future commercial shape, not a v0.1 feature, and no hosted service is live or sold in v0.1",
     "LLM or network calls of any kind \u2014 none exist in v0.1.1 by design: deterministic documented rules (R01\u2013R12, rules.json) only; Python 3 standard library only",
     "Payment, checkout, hosting, accounts, or billing \u2014 none exists in v0.1.1 by design: the $49/mo figure is commercial metadata / a stated pricing term for the future hosted form only",
     "Feed publishing or submission to any platform (Google/UCP endpoints etc.) \u2014 none exists in v0.1.1; feeds are sealed locally and verified by recompute only"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/feedforge/VERDICT.md + REBENCH-1.md (Verity, independent bench over stdio JSON-RPC only, never importing builder code; recompute.py written from SPEC \u00a73/\u00a74 + rules.json alone; builder suite 29/29). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-feedforge-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-feedforge-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-feedforge-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-permits-mcp",
   "name": "Eclipse Permits",
   "tagline": "Permit status witnessed: sealed per-read provenance receipts, hash-chained history, offline recompute. The receipt warrants the read; it never warrants the status.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Read permit status from the jurisdiction's own sanctioned source and seal it as a Herald-signed provenance receipt (status_as_served verbatim beside status_normalized \u2014 never merged)",
    "Hash-chained witnessed history under a closed change law: STATUS_TRANSITION \u00b7 RETRO_EDIT \u00b7 FIELD_CHANGE \u00b7 RECORD_ABSENT \u00b7 RECORD_RESTORED; unchanged re-reads mint nothing",
    "Coverage registry naming each covered jurisdiction and its sanctioned route (NYC via Socrata Open Data; Tallahassee\u2013Leon County via Accela Citizen Access); every other jurisdiction is UNWITNESSED, never silently covered",
    "Offline recompute: witness_verify and the standalone recompute.py reproduce payload hash, receipt hash, chain walk and seal state from the spec alone",
    "Agency checklists served verbatim + cited + snapshot-sealed only; requirements synthesis refuses by name (REQUIREMENTS_SYNTHESIS_REFUSED)"
   ],
   "tools": [
    "session_open",
    "coverage_list",
    "permit_search",
    "permit_get_current",
    "witness_read",
    "witness_history",
    "receipt_get",
    "witness_verify",
    "witness_compare",
    "checklist_list",
    "checklist_get",
    "watch_register",
    "watch_list",
    "watch_refresh"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $10.00 per witnessed read with sealed receipt, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product; intake orders are reviewed and confirmed by the operator before any payment link is sent. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-permits-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-permits-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local)",
    "certified": true,
    "certified_scope": "CERTIFIED(local) \u2014 Eclipse Bazaar Test Bench 2026-10-26, standing card eclipse-permits-mcp-2026-10-26-2.json (scoped re-bench of the card -1 PARTIAL fix round; card -1 retained append-only): the witnessed-ledger mechanism, fence/refusal battery, chain-tamper and unchanged-read behaviour all PASS at local scope. Per the card's own scope verdicts: the Accela Citizen leg is certified at FIXTURE conformance only \u2014 the \u00a77.7 Florida dogfood exit gate (owner's own Accela account, \u22651 real chain, \u22652 reads) remains OUTSTANDING and owner-side, outside this verdict; the dual-source leg is OUT OF CERTIFIED SCOPE (no dual-route jurisdiction at P0; refusal path benches correctly). Signing posture at P0 is fixture-labelled (FIXTURE_SIGNED).",
    "not_tested": [
     "Live Accela Citizen reads under the owner's own account \u2014 the \u00a77.7 Florida dogfood exit gate is outstanding and owner-side; certified scope for that leg is FIXTURE conformance only",
     "Dual-source agreement/divergence on a real dual-route jurisdiction \u2014 out of certified scope at P0 (no dual-route jurisdiction exists)",
     "Production Herald signing custody \u2014 P0 seals are fixture-labelled (FIXTURE_SIGNED)",
     "Any jurisdiction beyond the coverage registry \u2014 UNWITNESSED by construction; no portal scraping or aggregator witness source exists"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-permits-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-permits-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-permits",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-permits/versions/0.1.0",
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-sec-figure-witness-mcp",
   "name": "Eclipse SEC Figure Witness",
   "tagline": "Sealed SEC filing figures as filed + restatement chains, recomputable offline.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Document Analysis"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Seal filing bytes exactly as published by the source (figure-canon/1.0) and extract figures bound to their value as printed and to a byte-range passage hash or an XBRL fact identity",
    "Three-moment chains: a figure as released in an Item 2.02 exhibit, as filed in the periodic report, and as restated after an Item 4.02 non-reliance event",
    "Receipts any holder can recompute offline with the shipped verifier (verify.py)",
    "Coverage stated plainly: universe U1 (S&P 1500 constituent list as published by the index provider of record) plus any filer with an Item 4.02 8-K or 10-K/A / 10-Q/A in the window; period floor 2019-01-01 \u2014 figures outside the named universe or sealed snapshots are named as gaps, never answered from memory, estimation, or a live fetch"
   ],
   "tools": [
    "figure_at_moment",
    "figure_history",
    "release_figures",
    "filing_figures",
    "chain_get",
    "chain_search",
    "figure_verify",
    "chain_verify",
    "divergence_edgar_self",
    "corpus_status",
    "manifest_get",
    "manifest_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.50/receipt with sealed receipt, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product; intake orders are reviewed and confirmed by the operator before any payment link is sent. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-sec-figure-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-sec-figure-witness-mcp.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Test Bench certification \u2014 UNCERTIFIED: no Test Bench scorecard exists for this product in test-bench/results/ and none is claimed; this listing is LISTED only"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sec-figure-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-sec-figure-witness-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sec-figure-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-scholarly-witness-mcp",
   "name": "Eclipse Scholarly Witness",
   "tagline": "Disposition-notice witness: sealed retraction/correction/concern events with provenance, open divergences, recomputable reference audits.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Answer from a sealed snapshot only: which disposition notices (retraction, correction, concern) the named sources carry for a work, which source attests each one, and where the sources disagree",
    "Source disagreements sealed as open divergence records \u2014 data for the reader, never silently resolved; there is no merged status field and no live passthrough",
    "Reference-list audits (up to 500 identifiers) returned as sealed receipts, recomputable against the snapshot they were run on (audit_verify: MATCH or DIVERGES naming the first divergent field)",
    "Drift between two snapshots sealed as an artefact: verdict changes, new events, new divergences"
   ],
   "tools": [
    "work_resolve",
    "disposition_lookup",
    "reference_audit",
    "audit_verify",
    "drift_since",
    "divergences_list",
    "snapshot_status",
    "manifest_get",
    "manifest_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.50/receipt with sealed receipt, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product; intake orders are reviewed and confirmed by the operator before any payment link is sent. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-scholarly-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-scholarly-witness-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture scope)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture scope) \u2014 Verity scoped re-bench 2026-10-26, standing card eclipse-scholarly-witness-mcp-2026-10-26-2.json (card -1 PARTIAL(local, fixture scope) retained append-only and superseded), scope language exact from the card: sealed snapshot srw-20261026-ea6bc90cf693, duplicate-bearing audit receipts recompute MATCH on both verification surfaces with tamper-by-name divergence, receipts carry the full \u00a79.3 field set incl. the CC-BY attribution, disposition answers carry the \u00a76.3 as-of block on all branches, work_resolve surfaces per-pin source labels, and the reinstatement-only population shape is consistent under amendment A3. Fixture signer (FIXTURE_SIGNED) \u2014 no live/production claim; PubMed errata coverage window 2023-01-01..2026-10-26 remains disclosed in the manifest known_bounds.",
    "not_tested": [
     "Live/production signing \u2014 receipts and snapshot are FIXTURE_SIGNED (house fixture HMAC key, disclosed in the seal block); no live claim attaches until a live signer decision (spec O3) is taken",
     "Live source ingest \u2014 answers serve from the sealed snapshot only; no live passthrough exists or was tested"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-scholarly-witness-mcp-2026-10-26-2.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-scholarly-witness-mcp-2026-10-26-2.json"
   },
   "install": {
    "oneliner": "docker run -i ghcr.io/cyan-eclipse-technologies-llc/eclipse-scholarly-witness-mcp:0.1.0",
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-scholarly-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-scholarly-witness-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-scholarly-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-patent-witness-mcp",
   "name": "Eclipse Patent Witness",
   "tagline": "Sealed witness of the USPTO patent record: legal-status event ledgers, claim-text divergence receipts, and recorded assignment chains \u2014 each recomputable offline from a named snapshot. Record state only; not a legal opinion, not a status service.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Legal-status event ledger per subject \u2014 every event pinned to the hash of the source record that asserts it, inside a named sealed snapshot",
    "Claims divergence receipts \u2014 the claim set as published vs the claim set as granted, diffed mechanically claim by claim",
    "Assignment-chain witness \u2014 recorded conveyances sealed as a sequence with its gaps named as gaps",
    "Source-drift witness \u2014 the upstream source surface is fingerprinted per snapshot and its drift is sealed as product output",
    "Offline recompute of every artefact from the named snapshot package with the shipped standalone verifier (verifier.py)"
   ],
   "tools": [
    "subject_ledger_get",
    "subject_ledger_verify",
    "claims_divergence_get",
    "claims_divergence_verify",
    "assignment_chain_get",
    "assignment_chain_verify",
    "source_drift_list",
    "snapshot_status",
    "manifest_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.50/receipt with sealed receipt, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product; intake orders are reviewed and confirmed by the operator before any payment link is sent. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-patent-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-patent-witness-mcp.png",
   "certification": {
    "bench_verdict": "PARTIAL",
    "certified": false,
    "certified_scope": "PARTIAL(local, FIXTURE scope) \u2014 Eclipse Bazaar Test Bench 2026-10-26, card eclipse-patent-witness-mcp-2026-10-26.json: certification WITHHELD on three MED defects (PW-D1, PW-D2, PW-D4); this product is NOT certified. The card's scope language is binding: scope caps at local, FIXTURE scope \u2014 every seal is FIXTURE_SIGNED under fixture keys over fixture extracts; the mechanism (sealed legal-status event ledger, claims divergence, assignment-chain witness, source-drift witness) was measured certified-grade and every derivation was independently recomputed byte-identical, but no CERTIFIED verdict exists for this product. Live ODP ingest is MEASURED BLOCKED (bench re-verified HTTP 401 without an operator ODP key) and no live seal exists.",
    "not_tested": [
     "Certification \u2014 withheld pending a fix round on PW-D1/PW-D2/PW-D4 (PW-D3 as rider) plus a scoped re-bench",
     "Live ODP ingest and any live seal \u2014 measured blocked without an operator ODP key (HTTP 401)",
     "Patent search, full-text retrieval, status lookup, fee/deadline calculators, monitoring \u2014 these verbs do not exist on any surface by construction"
    ],
    "live_state_note": null,
    "scorecard_ref": "test-bench/results/eclipse-patent-witness-mcp-2026-10-26.json",
    "card_url": "https://eclipsebazaar.com/cards/eclipse-patent-witness-mcp-2026-10-26.json"
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-patent-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-patent-witness-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-patent-witness-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-trademark-witness-mcp",
   "name": "Eclipse Trademark Witness",
   "tagline": "Trademark screening witness: sealed corpus, recomputable search receipts. A screening witness, not a search engine and not an opinion machine \u2014 it renders no verdict.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Screens run locally in a zero-egress process against a locally sealed USPTO bulk corpus snapshot (vintage + records root named on every artefact)",
    "Every screen sealed as a recomputable two-layer receipt: what queries were run, against which snapshot, returning which records \u2014 provable later by offline recompute without trusting the server",
    "Lifecycle witness: for filed marks, status reads sealed as hash-chained event records with registry dates verbatim",
    "No verdict by construction: no clearance, risk, score, registrability, or infringement field exists anywhere; it files nothing and computes no deadlines (such requests refuse by name)"
   ],
   "tools": [
    "tm_screen_execute",
    "tm_corpus_manifest_get",
    "tm_receipt_get",
    "tm_receipt_verify",
    "tm_receipt_recompute",
    "tm_lifecycle_chain_get",
    "tm_lifecycle_verify",
    "tm_corpus_manifest_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.50/receipt with sealed receipt, via the Eclipse Bazaar bench-order path (order intake) only. No checkout, payment, or buy-now link exists for this product; intake orders are reviewed and confirmed by the operator before any payment link is sent. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-trademark-witness-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-trademark-witness-mcp.png",
   "certification": {
    "bench_verdict": null,
    "certified": false,
    "certified_scope": null,
    "not_tested": [
     "Test Bench certification \u2014 UNCERTIFIED: no Test Bench scorecard exists for this product in test-bench/results/ and none is claimed; this listing is LISTED only",
     "Live TSDR status reads \u2014 require the operator's own TSDR key, held outside the product tree; without it the witness-read tool reports TSDR_KEY_NOT_CONFIGURED and seals nothing"
    ],
    "live_state_note": null,
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-trademark-witness-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-trademark-witness-mcp/versions/0.1.0",
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-split-mcp",
   "name": "Eclipse Split",
   "tagline": "Pre-agreed revenue splits for multi-agent tasks: split weights are sealed into the delegation mandate at spawn time and settled against attestation-backed completion records \u2014 the split cannot be renegotiated after work is done. LOCAL/fixture scope only \u2014 allocation math and sealed records only, no money movement, no payment rails, wallets, or payouts; fixture completion records with unkeyed SHA-256 demo seals (keyed seal required before any non-fixture use). A settlement event is a per-order settlement OR an MPP session close-out \u2014 the accumulated session settles as ONE settlement event (SPEC Amendment #1).",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Payments"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 split weights are sealed into the delegation mandate at spawn time and settled against attestation-backed completion records; the split cannot be renegotiated after the work is done (SPEC \u00a73): create_mandate seals {task_ref, delegator, participants[{agent_id, weight}], spawn_ts} under a SHA-256 hash at spawn time; amend_weights always refuses MANDATE_SEALED, and the only change path is supersede_mandate \u2014 a new sealed mandate naming the old one \u2014 and only before any completion exists. record_completion chains each completion record to the mandate hash (only mandate participants can complete); settle allocates only across participants with valid completion records, binding {mandate_hash, completion_record_ids, per-agent amounts} into one sealed settlement record; verify_settlement recomputes everything from the mandate + completions \u2014 any tamper \u2192 INVALID. Bench: allocations + hashes independently recomputed from SPEC \u00a76/\u00a78 (builder code never imported for expected results); partial-completion renormalization per the documented \u00a76 rule (weights 0.5/0.3/0.2, A+B complete, total 100 \u2192 63/37); rounding 100 over 3 equal weights \u2192 34/33/33 byte-exact.",
    "Amendment #1 settlement event (v0.1.2, delta-bench 94/94, 0 defects): a settlement event is exactly one of (a) a per-order settlement, or (b) an MPP session close-out \u2014 a settle that closes out an MPP session and settles the accumulated session total as ONE settlement event for pricing and attestation, regardless of how many draws the session contained (tested at draw_count 4117 \u2192 exactly one settlement record). settle carries optional event_type (order default / session_closeout); a close-out requires session_id, draw_count (true integer \u2265 1), and draw_attestation_ref, each refusal a clean typed error (INVALID_SESSION_ID / INVALID_DRAW_COUNT / INVALID_DRAW_ATTESTATION_REF / INVALID_EVENT_TYPE; 36 validation cases pass, no settlement written, process alive). settlement_event is sealed hash-covered content \u2014 tampering with any event field \u2192 INVALID, including fully re-hashed malformed event data (18/18). Idempotence is absolute: the first settlement event wins and a repeat settle returns the first sealed record verbatim regardless of repeat total or event arguments. Legacy v0.1.1 records without settlement_event remain verifiable as order events; verify fabricates nothing.",
    "Bench-fix round D1\u2013D4 (v0.1.1, re-bench 35/35): D1 crash-proofing \u2014 dispatch type-guards + structural validation of supplied mandate/settlement objects before any field use, 59 wrong-type fuzz cases + 9 protocol fuzz cases all clean errors, process alive; D2 producibility \u2014 verify enforces that a settlement is producible from sealed weights + recorded completion set + total (crafted zero-completion / non-completer / off-by-one records \u2192 INVALID; genuine \u2192 VALID); D3 double-settle idempotence regardless of the total passed on the repeat call; D4 superseded mandates still recompute to their own hash (mutable lifecycle fields status/superseded_by excluded from hash-covered content; weights remain hash-covered). Prior verdict on v0.1 (VERDICT.md): CONDITIONAL (local, fixture) 65/69 \u2014 all four defects closed at v0.1.1.",
    "Honest scope \u2014 LOCAL/fixture ONLY: allocation math + sealed records only. NO money movement, no payment rails, no wallets, no payouts \u2014 v0.1.2 computes who would get what and seals the record; execution of any payment is out of scope (a later phase, gated on counsel + payments review). Attestations are fixture completion records with unkeyed SHA-256 demo seals, labelled 'SHA256 hash seal (demo, local only)' on every record \u2014 no production attestation, identity, or non-repudiation claim. DISCLOSED fix-before-live: a keyed seal (HMAC / signature) anchoring settlements to a stored, keyed record is required before any non-fixture use, together with verified attestations replacing caller-asserted fixture seals and a settle gate (in fixture scope any caller may settle the moment \u22651 completion exists, and double-settle idempotence makes that eligible set permanent). Amounts are integer minor units; no currency conversion, no floating-point money; exactly 6 tools; MCP over stdio; Python 3 standard library only. Pricing is a commercial term only \u2014 no payment, checkout, or MPP network code exists in this build; 'MPP' occurrences are the Amendment #1 settlement-event definition and explicit negations."
   ],
   "tools": [
    "create_mandate",
    "record_completion",
    "settle",
    "verify_settlement",
    "amend_weights",
    "supersede_mandate"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $1.00 per settlement event (Amendment #1: a settlement event is a per-order settlement OR an MPP session close-out \u2014 the close-out settles the accumulated session as ONE event, however many draws it contained), via the Eclipse Bazaar bench-order path only. No checkout, payment, or buy-now link exists for this product: v0.1.2 is LOCAL/fixture allocation math + sealed records only and contains no money-movement, payment, checkout, wallet, payout, or MPP network code (the price is a stated commercial term only). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-split-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-split-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture) \u2014 Verity: v0.1.1 independent re-bench 35/35 PASS, 0 FAIL (REBENCH-1 of the v0.1.1 Bench Fix D1\u2013D4 round, repo @ e213490) plus v0.1.2 Amendment #1 scoped delta-bench 94/94 PASS, 0 FAIL (repo @ 1daf662) \u2014 the CERTIFIED (local, fixture) verdict carries to v0.1.2. Delta-bench: order event default + explicit identical (partial-completion allocations 63/37 over 100 per \u00a76 independent recompute; settlement hash recomputes with settlement_event as hash-covered sealed content; genuine order verifies VALID via stored and supplied paths); session close-out seals settlement_event {type: session_closeout, session_id, draw_count, draw_attestation_ref} exactly as specified, draw_count 4117 \u2192 exactly ONE settlement record/event, accumulated total 250 allocated exactly; required-field validation 36/36 clean typed refusals with no settlement written and a valid settle succeeding afterward; hash/producibility on event data \u2014 tamper without rehash INVALID 5/5, malformed settlement_event with fully consistent rehash INVALID 18/18, never a crash; idempotence absolute in both orders (first sealed record returned verbatim, incl. garbage repeat arguments \u2014 judged consistent with the amended spec's verbatim wording); legacy v0.1.1 compatibility \u2014 supplied and stored-path legacy records without settlement_event verify VALID as order events, stored record byte-identical afterwards (verify fabricates nothing); process safety \u2014 wrong-type + protocol fuzz all clean errors, process alive, happy path works afterward; version metadata \u2014 initialize serverInfo 0.1.2, server.json 0.1.2, exactly six tools, settle schema documents session_closeout as ONE event. Re-bench v0.1.1: D1 CLOSED (4 original death vectors \u2192 clean errors, alive, incl. fresh-process re-runs; 59 wrong-type fuzz + 9 protocol fuzz cases clean; raw NaN/Infinity weights refused; garbage non-JSON line survived; happy path works after the full battery in the same process); D2 CLOSED (crafted zero-completion/total-0/empty-allocations record, non-completer allocation, and off-by-one allocations, each with consistent re-hash \u2192 INVALID; genuine settlement VALID via stored and supplied paths); D3 CLOSED (repeat settle with total 0, a different total 999, or a string total all return the SAME sealed record); D4 CLOSED (superseded mandate recomputes clean to its own mandate_hash under independent recompute excluding lifecycle fields; weights remain hash-covered). Regression spot-checks PASS: rounding 100/3 equal \u2192 34/33/33 byte-exact; partial-completion renormalization 63/37 per \u00a76; amend_weights \u2192 MANDATE_SEALED. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 65/69 \u2014 defects D1\u2013D4, all closed at v0.1.1. Scope = LOCAL/fixture only: allocation math + sealed records only \u2014 no money movement, no payment rails/wallets/payouts; fixture completion records with unkeyed SHA-256 demo seals (fix-before-live: keyed seal required before any non-fixture use); partial-completion renormalization is the documented \u00a76 rule; the $1.00/settlement-event figure is a commercial term only \u2014 no payment/checkout/MPP network code exists in the build.",
    "not_tested": [
     "Any money movement, payment rails, wallets, payouts, checkout, or MPP network/session code \u2014 none exists in v0.1.2 by design (SPEC \u00a72/\u00a77): allocation math + sealed records only; the Amendment #1 session close-out is a settlement-event definition over local records, not a live MPP integration",
     "Production attestation, identity verification, or non-repudiation \u2014 fixture completion records with unkeyed SHA-256 demo seals only; DISCLOSED fix-before-live: a keyed seal (HMAC/signature) is required before any non-fixture use",
     "A settle gate for non-fixture use \u2014 in fixture scope any caller may settle once \u22651 completion exists and idempotence makes that eligible set permanent; delegator-only settle / all-participants-recorded / settle window required before any non-fixture claim (SPEC v0.1.1 addendum)",
     "Hosted or remote deployment, multi-currency / FX, and dispute resolution \u2014 none exists in v0.1.2 by design (SPEC \u00a77 non-goals)"
    ],
    "live_state_note": "Bench evidence: argus-batch-20261026/bench/split/VERDICT.md + REBENCH-1.md + DELTA-BENCH-AMENDMENT-1.md (Verity, independent benches over stdio JSON-RPC only, allocations + hashes recomputed from SPEC \u00a76/\u00a78, builder code never imported for expected results; builder suite 60/60 at v0.1.2). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-split-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-split-mcp/versions/0.1.2",
    "repository": null,
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-brake-mcp",
   "name": "Eclipse Brake",
   "tagline": "Third-party halt authority for agent fleets: runtimes poll, a BRAKE verdict halts within the poll interval, and signed halt receipts prove the stop \u2014 or the episode closes UNPROVEN-HALT. LOCAL/simulator scope only \u2014 local policy endpoint + fixture runtime, no live fleets.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Safety & Oversight"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 runtimes poll a local policy endpoint; a BRAKE verdict halts the fleet within the poll interval, and the runtime returns a signed halt receipt proving it actually stopped (SPEC \u00a72.1, the mechanism the bench verified verbatim via F-B14). Brake has no push channel, no remote kill, and no verb inside any runtime \u2014 a runtime that never polls cannot be halted by Brake, and Brake never claims otherwise.",
    "HALTED only on proof \u2014 a fleet is HALTED only when every enrolled runtime has a valid, in-window, counter-signed halt receipt bound to the verdict's hash. Absence of a receipt is never evidence of a halt: the complementary terminal state is UNPROVEN-HALT, stated on the episode pack's face and never softened. Late receipts are recorded as defects and never amend a closed episode; a stale verdict closes its episode STALE-UNDELIVERED.",
    "Offline-recomputable episode pack \u2014 the pack (fleet record, verdict token, poll records, receipts, defects, close statement, hash chain) recomputes via receipt_verify executing the full \u00a76.4 procedure: fleet-record hash recomputed from the full record in the pack and bound to the signed chain, chain and poll-record signatures verified, receipts bound to recorded poll deliveries, post-halt attestations recomputed against the Brake-side fixture task log exported in the pack, and the close state derived mechanically from the enrolled roster \u2014 a partial fleet's pack cannot be re-hashed into HALTED (re-bench D1 forgery now fails at verifier step 1 with no key).",
    "Named refusals + configuration fence \u2014 duplicate receipts, receipts from non-enrolled runtimes, no-poll receipts, poll-time mismatches, excess latency, and malformed inputs are all refused by name (RECEIPT_DUPLICATE, RECEIPT_RUNTIME_NOT_ENROLLED, RECEIPT_NO_POLL_RECORD, RECEIPT_POLL_TIME_MISMATCH, RECEIPT_LATENCY_INVALID, RECEIPT_MALFORMED, and the \u00a75.4 set); startup hard-refuses fenced configurations (CONFIG_FENCE_REFUSED:<class>, \u00a77.3 \u2014 non-local endpoints, real credentials, production identifiers, non-test value_class, non-mock relay modes all hard-exit code 2). Disjoint surfaces: operator = exactly 5 tools, runtime = exactly 3; cross-surface calls return the identical unknown-tool refusal as a nonsense name.",
    "Honest scope \u2014 LOCAL/simulator ONLY: local stdio MCP server (Python stdlib only) + fixture fleet runtime on an integer fixture clock; signing is a fixture HMAC stand-in for the Herald pattern (fixture keys are derivable from the published source \u2014 the labelled \u00a77.4 fixture discipline, scope-inherent and disclosed by the bench). No real fleet is halted, polled, or contacted; no live-fleet path exists in the tree (no socket/urllib.request/requests/http.client imports). Halting real fleets is behind a named counsel gate \u2014 v0.1.2 contains no dormant live path."
   ],
   "tools": [
    "fleet_enrol",
    "verdict_issue",
    "fleet_status",
    "episode_pack_get",
    "receipt_verify",
    "policy_poll",
    "halt_receipt_submit",
    "runtime_reenrol"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $199/mo per fleet, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. The hosted fleet shape waits Gate B1; the local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-brake-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-brake-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL/simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL/simulator) \u2014 Verity re-bench of v0.1.1, 2026-10-26 (argus101-program-20261027/rebench-brake.md) fixed and independently verified every defect from the v0.1.0 FAIL bench (D1\u2013D10), including both blockers \u2014 the P9b partial\u2192HALTED forgery fails at verifier step 1 with no key, and the submit path cannot put Brake into a state its own verifier rejects \u2014 returning CONDITIONAL on a single condition C1 (ND1). Verity spot re-bench of v0.1.2, 2026-10-27 (argus101-program-20261027/spot-brake-012.md) CLOSED C1: all five close-statement strip variants (statement deleted or None, final flag kept, stripped, or double-stripped) return verified: false, error BRAKE_VERIFY_FAIL:5, step 5, downgraded: true per \u00a76.6; honest interim and honest final (HALTED and UNPROVEN-HALT) paths verify unchanged 3/3 with no downgraded key. ND2 (per-runtime re-enrolment acts under one CLEAR) fixed and verified 3/3 with duplicate/fresh-POLLING/D8 guards holding; ND3 ACCEPTED as spec-correct (\u00a74.5/\u00a74.6/\u00a76.6). No new findings. Builder suite 51/51 (fresh process); spot bench own probes 13/13. Scope never exceeds LOCAL/simulator: local policy endpoint + fixture runtime, no live fleets.",
    "not_tested": [
     "Live fleets \u2014 not tested and not claimed: v0.1.2 runs a local policy endpoint + fixture runtime only; no real fleet is halted, polled, or contacted, and no live-fleet path exists in the tree",
     "Production signing custody \u2014 signing is a fixture HMAC stand-in for the Herald pattern; fixture keys are derivable from the published source (labelled \u00a77.4 fixture discipline), so a presenter holding the fixture keys can mint indistinguishable artifacts \u2014 scope-inherent, disclosed by the bench",
     "Hosted fleet shape \u2014 waits Gate B1; the local package is the reference implementation and no hosted endpoint exists or is claimed"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/spot-brake-012.md (Verity spot re-bench of v0.1.2, independent fresh-process, own probe script \u2014 no builder test code reused; ND1/C1 closed 5/5 strip variants \u2192 FAIL:5, honest paths unchanged 3/3, ND2 fixed, ND3 accepted spec-correct, no new findings). Prior chain: rebench-brake.md (v0.1.1 re-bench, CONDITIONAL), bench-brake.md (v0.1.0 FAIL), fix claims fix-brake-011.md / fix-brake-012.md. These benches issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product.",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-brake-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-brake-mcp/versions/0.1.2",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-brake-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-benchkit-mcp",
   "name": "Eclipse Benchkit",
   "tagline": "Free vendor self-bench SDK: run your declared check battery locally, emit a sealed scorecard in the Assay scorecard format, and let a verifier harness re-run a random sample \u2014 fabricated self-benches become statistically detectable. CERTIFIED (local/fixture) \u2014 fixture vendor servers only; a spot-check receipt is not a house bench verdict and not a certification of any vendor server.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Certification & Testing",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 vendor-run scorecards embed a spot-check hook in every check entry as it runs; a separate verifier harness draws a random sample from the SEALED scorecard and re-runs those checks, so a fabricated self-bench is statistically detectable. Commit-then-sample: the scorecard is sealed (hash-chained, vendor-signed) before any sample exists, and the verifier nonce is generated verifier-side (secret seed in keys/ + fresh per-draw CSPRNG), revealed only in the sample manifest after the seal is verified \u2014 the vendor cannot precompute or influence the sample (re-bench D1: 6,005 candidate nonces from public state matched none; supplied nonces refused VERIFIER_NONCE_REFUSED / VENDOR_NONCE_REFUSED).",
    "Honest receipt arithmetic \u2014 the receipt states its power on its face: at sample size k and fabricated fraction f, detection probability is 1 \u2212 (1\u2212f)^k (default k = 30, powered at f \u2265 0.10 \u2192 detection \u2265 95%). Verdicts: VERIFIED_SAMPLE \u00b7 DIVERGENT (mismatched check ids named) \u00b7 UNVERIFIABLE (non-deterministic or secret-requiring checks resolve here, never to a silent pass). A check without a hook is labelled HOOKLESS on the scorecard's face and sits outside every sample and every verified claim; unverifiable scorecards export only as DOWNGRADED_EXPORT.",
    "Authenticated artefacts \u2014 the seal signature binds the head hash, all counts, and the format version (tampered counts/format \u2192 SEAL_INVALID); recompute verifies receipt signatures, the outcome record chain, and the rerun chain head, and rejects extra, missing, or forged outcomes (BENCHKIT_VERIFY_FAIL). Verifier verbs require the verifier token (VERIFIER_TOKEN_REQUIRED otherwise). Idempotent replay: resubmitting an issued (scorecard_hash, verifier_nonce) pair returns the recorded manifest + receipt with no new draw and no double metering.",
    "Configuration fence (F-B14) \u2014 startup hard-exits code 2 with CONFIG_FENCE_REFUSED:<class> on a non-local endpoint, a live-key string, a vendor/verifier-nonce config, a non-test value_class, or an Assay-price / Cupel-checkout / buy-Assay-licence config; live-URL server descriptors are refused at run_begin with the same named codes. Disjoint surfaces: vendor = exactly 5 tools, verifier = exactly 5; cross-surface calls return the identical NO_SUCH_TOOL refusal as a nonsense name.",
    "Format, not the bench (HARD RULE) \u2014 Benchkit is the FORMAT + SDK: scorecards are emitted in the Assay scorecard format (format attribution only). Eclipse Assay and Eclipse Cupel are internal tools \u2014 Benchkit contains no product surface, price, licence, or buy path for them, and neither does this listing. Every vendor scorecard is labelled vendor-run / self-bench on its face; a spot-check receipt never upgrades a self-bench into a house bench verdict. The full bench is a paid service engagement reachable via the existing Eclipse Bazaar intake only."
   ],
   "tools": [
    "benchkit_run_begin",
    "benchkit_check_record",
    "benchkit_scorecard_seal",
    "benchkit_scorecard_get",
    "benchkit_export_get",
    "spotcheck_request",
    "spotcheck_run",
    "spotcheck_receipt_get",
    "spotcheck_recompute",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "FREE \u2014 free local v0.1.1 SDK, open reference implementation (public repository). Funnel role: vendors self-bench in the Assay scorecard format, and verification is ordered through the Eclipse Bazaar bench-order/intake path only. Benchkit's own metering shape is $10/verification \u2014 Benchkit spot-check verification only, a metering point shown on the bench-order/intake path; there is no checkout link, no payment path, and no Stripe object for Benchkit in this pass. The full bench is a paid SERVICE engagement reachable via the existing intake only \u2014 Eclipse Assay and Eclipse Cupel are internal tools, are not products, are not priced, and have no buy path.",
   "page_url": "https://eclipsebazaar.com/products/eclipse-benchkit-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-benchkit-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local/fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local/fixture) \u2014 Verity re-bench of v0.1.1, 2026-10-27 (argus101-program-20261027/rebench-benchkit.md): CERTIFIED (local/fixture). All prior v0.1.0 FAIL defects closed and independently verified \u2014 D1 (sample predictable to vendor) and D2 (F-B14 startup/config fence absent) blockers, M1\u2013M4 majors (seal counts unsigned, recompute unauthenticated, keys hardcoded, verifier token missing), m1\u2013m5 minors. Builder suite 27/27 fresh process. The decisive property holds adversarially: the spot-check sample is unknowable pre-reveal from every public input probed (6,005 candidate nonces from public state matched none; caller-supplied verifier/vendor nonces refused by name, 0 manifests). Two NEW minors recorded, neither gating this scope: N1 fence-scan encoding edges (sk_live_ form, uppercase scheme, scheme-less endpoints) and N2 seed-commitment provenance (commitment first appears in the manifest at draw time; unpredictability rests on per-draw CSPRNG regardless). Scope binds exactly: vendor self-bench SDK in the Assay scorecard format with verifier spot-check sampling, against fixture vendor servers only \u2014 local/fixture scope. A spot-check receipt is a statement about a sample of one sealed scorecard, powered as stated on its face \u2014 not a house bench verdict and not a certification of any vendor server.",
    "not_tested": [
     "Live vendor servers \u2014 not tested and not claimed: v0.1.1 is exercised only against fixture vendor servers; no network client exists in the tree (no socket/urllib/requests/http.client) and artefacts carry value_class: test",
     "N1 (minor, open) \u2014 fence-scan encoding gaps: sk_live_ free-text form, uppercase HTTPS scheme, and non-http(s)/scheme-less endpoints can pass check_config; bounded at this scope because fixture execution never dials a descriptor \u2014 queued for the next fix loop",
     "N2 (minor, open) \u2014 the verifier seed commitment is not anchored pre-submission (it first appears inside the manifest at draw time); unpredictability is carried by per-draw CSPRNG entropy, not by the commitment \u2014 wording/mechanism alignment queued for the next fix loop",
     "Eclipse Assay / Eclipse Cupel as products \u2014 NOT a Benchkit surface by the HARD RULE: Benchkit consumes the Assay scorecard format as a specification only; Assay and Cupel are internal tools with no product surface, price, licence, or buy path anywhere in Benchkit or this listing"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/rebench-benchkit.md (Verity re-bench, independent fresh-process, own probes in /tmp \u2014 fresh keys/data dirs per scenario, own fabrications and forgeries; prior FAIL bench bench-benchkit.md, fix claim fix-benchkit-011.md). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product. Repository PUBLIC (free-funnel policy, post-bench): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-benchkit-mcp @ v0.1.1. Official MCP Registry submission: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-benchkit-mcp v0.1.1 (see ship report ship-benchkit.md for live status).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-benchkit-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-benchkit-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-benchkit-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-payseal-mcp",
   "name": "Eclipse Payseal",
   "tagline": "Pre-payment verdict binding a purchase order, a spending mandate, and a delivery receipt into one token \u2014 MATCH, MISMATCH, or PARTIAL_DELIVERY only when all three agree. CERTIFIED (LOCAL/simulator, fixture triples) \u2014 verdict only: Payseal never executes, authorizes, or guarantees a payment.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Payments",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 one token binds three hashes (purchase order, spending mandate, delivery receipt): payseal_token = sha256(po_hash|mandate_hash|delivery_hash), each component hash recomputed over the canonical form of the presented record on every evaluation; a presented hash is a claim, never trusted verbatim. The verdict is issued only when all three legs agree under the six \u00a72.3 agreement checks in fixed order (authenticity, payee identity, amount, scope, currency/unit, freshness); the first failure names the verdict's reason_code. Verdicts: MATCH \u00b7 MISMATCH \u00b7 PARTIAL_DELIVERY (short lines named).",
    "Derived-valuation amount check (R-P1, re-bench verified) \u2014 delivered value is DERIVED as \u03a3 accepted_lines at PO line prices on every path; the face value is never trusted. Accepted quantities are bounded per PO line aggregated per resource, resources must be PO lines, po_total must equal \u03a3 PO lines, and missing/empty accepted_lines fails closed \u2014 re-signed forgeries (empty lines, qty-999 over-delivery, unrelated-resource lines, po_total contradicting its own lines) all seal MISMATCH / AMOUNT_EXCEEDS_MANDATE with the sub-failure named in detail.amount_detail.",
    "Three-or-nothing refusals + offline verify \u2014 a missing or unhashable leg is a named refusal (TRIPLE_INCOMPLETE, INPUT_HASH_INVALID, DELIVERY_ORPHAN, MANDATE_SIGNATURE_INVALID, MANDATE_EXPIRED, MANDATE_REVOKED), never a weaker verdict. payseal_verify recomputes token, checks, record hash (\u00a74.6 chain: binding record \u2192 check records \u2192 verdict record) and signature from the export alone; a tampered export recomputes as UNVERIFIED_EXPORT with verdict_claim null and no upgrade path. Disputes hand off to Eclipse Docket as an evidence pack (adjudication is Docket's, not Payseal's).",
    "Fail-closed configuration fence (\u00a77.3) \u2014 a live-key string, a non-local endpoint (parsed-host locality: localhost.evil.invalid and userinfo masquerades refuse), a non-test value_class, a payment-execution module anywhere in the tree (recursive scan), or a real-funds amount source refuses startup and fences every tool in-process with CONFIG_FENCE_REFUSED:<class>, printed exactly once. Disjoint surfaces: caller = exactly 4 tools, operator = exactly 2; cross-surface names and every payment verb (pay/settle/transfer/escrow/release) return the identical NO_SUCH_TOOL refusal \u2014 no payment-execution code exists in the tree.",
    "Honest scope \u2014 LOCAL/simulator, fixture triples ONLY: v0.1.2 evaluates fixture PO / mandate / delivery-receipt triples only. No live invoice, mandate service, delivery system, or payment rail is touched. Signing is a fixture HMAC stand-in for the Herald pattern (fixture keys are local-only, chmod 600, gitignored, never committed; no key in this product can move money \u2014 none exists that could). Payseal issues verdicts only: it never executes, authorizes, or guarantees a payment, and a MATCH verdict means only that the three presented fixture documents agree under the spec's checks. Payment execution (the Till rail) is a separate, counsel-gated surface that this listing does not offer or imply."
   ],
   "tools": [
    "payseal_evaluate",
    "payseal_verdict_get",
    "payseal_verify",
    "payseal_dispute_handoff",
    "payseal_evaluation_list",
    "payseal_anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.10/call, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. v0.1.2 records exactly one metering point per sealed evaluation (metering only \u2014 no charge path exists in the build); per-call charging waits a hosted endpoint. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-payseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-payseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL/simulator, fixture triples)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL/simulator, fixture triples) \u2014 Verity narrow re-bench of v0.1.2, 2026-10-27 (argus101-program-20261027/rebench-payseal-012.md): R-P1 (gating MAJOR from the v0.1.1 CONDITIONAL) closes clean \u2014 all four verbatim re-signed forgeries and every Verity variant that should fail now fail at check 3, and the no-over-blocking controls still pass (honest full \u2192 MATCH, honest partial \u2192 PARTIAL_DELIVERY, exact-aggregate duplicate splits, fully-delivered zero-priced line). R-P2 (a)\u2013(e) spot-verified fixed (parsed-host locality, env scan beyond PAYSEAL_*, recursive tree scan, non-evaluate tools fenced in-process, refusal printed exactly once). Both fixer pins adjudicated spec-faithful. Builder suite 38/38 fresh process; F-P9 decisive recomputed on an independent code path (leg hashes, all 3 leg signatures, token unchanged from v0.1.1, record_hash per \u00a74.6, Herald-fixture signature, offline verify from the \u00a76.2 export alone \u2192 MATCH). Idempotency/metering unchanged (exactly 1 metering point per sealed evaluation; refusals meter 0). Surfaces disjoint in fresh stdio subprocesses; tool version on the wire 0.1.2. Three boundary observations recorded, none gating. Scope is exactly LOCAL/simulator, fixture triples \u2014 no live input, execution, or payment claim is licensed by this verdict.",
    "not_tested": [
     "Live invoices, mandate services, delivery systems, or payment rails \u2014 not tested and not claimed: v0.1.2 evaluates fixture triples only; no network or payment code exists in the tree",
     "Payment execution of any kind \u2014 Payseal is verdict-only by construction (no pay/settle/transfer/escrow/release verb exists on either surface); the Till payment rail is a separate counsel-gated surface, not part of this product or listing",
     "Production signing custody \u2014 signing is a fixture HMAC stand-in for the Herald RS256 pattern; fixture keys are local-only and fixture-key verification is fixture-sense only; real Herald signing is the live-phase form, not built",
     "Hosted deployment \u2014 no hosted endpoint exists or is claimed in v0.1.2; the local stdio package is the reference implementation; per-call charging waits a hosted endpoint (metering shape recorded, never charged in v0.1.2)"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/rebench-payseal-012.md (Verity narrow re-bench, independent fresh-process, re-signed forgeries and own-variant probes; prior benches bench-payseal.md (v0.1.0 FAIL) and rebench-payseal.md (v0.1.1 CONDITIONAL), fix claims fix-payseal-011.md + fix-payseal-012.md). This bench issued no test-bench/results scorecard; scorecard_ref is null and no scorecard is claimed or hosted for this product. Repository PRIVATE (priced-product policy): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-payseal-mcp @ 158369b (v0.1.2). Official MCP Registry: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-payseal-mcp v0.1.2 (see ship report ship-payseal.md for live status).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-payseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-payseal-mcp/versions/0.1.2",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-payseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-settleseal-mcp",
   "name": "Eclipse Settleseal",
   "tagline": "Three-way reconciliation \u2014 mandate ledger vs rail settlement records (x402/MPP/card) vs bank payout \u2014 with every unmatched item sealed as an exception receipt. CERTIFIED (simulator, fixture records) \u2014 fixture records on all three legs; moves no money; no live rail or bank integration.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Payments & Settlement"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 rail-agnostic three-way match: mandate ledger vs rail settlement records (x402/MPP/card shapes) vs bank payout, with every unmatched item emitted as a sealed exception receipt a third party can recompute offline from the export + public keys alone (SPEC \u00a72.1, verified verbatim via F-S9). The matcher operates on normalized records only; rail identity enters solely as a profile tag in normalization \u2014 no rail-specific branch exists in the matcher.",
    "Complete residue (L4) \u2014 nothing unmatched is a log line or a silent drop: matched + exceptioned keys = the full key union of the three legs. Exception taxonomy is 11 classes (SPEC \u00a72.5 as amended 2026-10-27): LEDGER_ONLY / RAIL_ONLY / PAYOUT_ONLY for single-leg presence, MISSING_PAYOUT / MISSING_RAIL / MISSING_LEDGER for two-leg presence (absent from the named leg), AMOUNT_MISMATCH / FIELD_MISMATCH (field named) / FEE_MISMATCH / FEE_UNSTATED (fee never assumed zero) / DUPLICATE (never netted).",
    "Sealed, pinned verification \u2014 the run receipt binds the three leg head hashes, the matched set, and every exception receipt hash; settle_verify recomputes each leg chain, re-runs the deterministic match, and verifies each Herald seal against a key pinned out-of-band from the local key store \u2014 a presented public key is never trust material (v0.1.0 self-keyed verify blocker fixed and re-proven adversarially in the re-bench). Unverifiable exports are labelled UNVERIFIED_EXPORT with no outcome claim and are never upgraded post-hoc.",
    "Honest scope \u2014 SIMULATOR, fixture records only: fixture mandate-ledger entries, fixture rail settlement records (x402/MPP/card shapes), and fixture bank-payout records. Settleseal moves no money, initiates no payout, corrects no ledger, and instructs no rail; no live rail connection, bank connection, or production ledger is touched, read, or designed around. Live rail/bank connections are a named counsel-gated phase (SPEC \u00a710), not built. Disjoint surfaces: desk = exactly 7 tools, auditor = exactly 3 (read/verify only); there is deliberately no resolve-exception, manual-match, tolerance, delete-exception, payout, or ledger-correction verb."
   ],
   "tools": [
    "settle_run_open",
    "settle_leg_ingest",
    "settle_leg_seal",
    "settle_match",
    "settle_exception_list",
    "settle_run_receipt_get",
    "settle_exception_ack",
    "settle_export_get",
    "settle_verify",
    "settle_exception_get"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $299/mo, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (one metered subscription event per active desk per month; per-run counters for usage visibility; no per-exception charge exists). The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-settleseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-settleseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (simulator, fixture records)",
    "certified": true,
    "certified_scope": "CERTIFIED (simulator, fixture records) \u2014 Verity re-bench of v0.1.1, 2026-10-27 (argus101-program-20261027/rebench-settleseal.md): all three blockers, both majors, and the minor from the v0.1.0 FAIL bench are fixed and independently re-proven \u2014 verify pins only the out-of-band key-store Herald key (attacker reseals and presented-key swaps all FAIL), the shipped v0.1.0 private key is burned and absent tree-wide outside keys/, and the run receipt is fully recomputed with run_id bound (rebind/window/leg tampers FAIL by named step). M1 two-leg taxonomy RATIFIED: SPEC \u00a72.5 enum extended 8\u219211 with MISSING_PAYOUT / MISSING_RAIL / MISSING_LEDGER (present in exactly two legs, absent from the named leg), amendment logged in SPEC.md AMENDMENTS 2026-10-27. Builder suite 27/27 fresh process; F-S9 decisive test passed against a bench-written dataset and bench-written spec matcher (13 keys: 2 matched, 11 exceptions, 11 distinct classes) with fresh-process recompute SETTLE_VERIFY_PASS. Scope never exceeds simulator / fixture records: three-way reconciliation (mandate ledger vs rail settlement vs bank payout) over fixture records only; moves no money; no live rail/bank integration.",
    "not_tested": [],
    "live_state_note": "Bench evidence: argus101-program-20261027/rebench-settleseal.md (Verity re-bench, independent, bench-written dataset + spec matcher, fresh-process stdio, cross-process determinism, scratch-tree pin/fence probes, full chain-correct attacker reseals). Prior FAIL bench: bench-settleseal.md; fix claim: fix-settleseal-011.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-settleseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-settleseal-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-settleseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-mockmint-mcp",
   "name": "Eclipse Mockmint",
   "tagline": "Watermarked synthetic-counterparty mint for commerce testing: fake merchants, agents and APIs whose every artifact carries the \u00a74.4 synthetic watermark. CERTIFIED (LOCAL/sandbox) \u2014 local/sandbox only, no real counterparty is impersonated or connected to. Detection boundary stated on its face (Amendment A1): bare payload values with every structural field removed are NO_WATERMARK_FOUND \u2014 detection is not claimed at that level.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Certification & Testing"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 a synthetic-counterparty mint whose every artifact carries a provable synthetic watermark (SPEC \u00a74.4): overt markers (synthetic: true, value_class: \"test\", mint_id, watermark_id wm_\u2026, and the mockmint_ ref namespace), a Herald-signed attestation (RS256 JWS) bound to artifact_hash \u2016 mint_id \u2016 watermark_id \u2016 artifact_type, and a per-mint artifact hash chain in the ledger export \u2014 so watermarked test artifacts are detectable as synthetic wherever they surface, within the stated detection boundary below.",
    "Out-of-band trust anchor only (SPEC \u00a75.1) \u2014 verification never trusts keys supplied by the presenter: public keys come only from an explicit trusted_public_keys argument, the MOCKMINT_TRUSTED_KEYS_FILE config file, or the local key store's pinned public keys (keys/public-keys.json). Keys embedded in an artifact, mint record, or ledger export are ignored for trust \u2014 a fully self-consistent forged ecosystem fails VERIFY_FAIL, a removed anchor refuses rather than trusting presenter material, and genuine outsider verification (export + pinned public keys alone) passes 12/12 (re-bench F-K10). No private key material exists anywhere in the shipped tree outside the gitignored keys/ store (keys/ dir 700, keys.json 600); clean checkouts regenerate fixture keys locally by design.",
    "Detection boundary, stated exactly as measured (SPEC \u00a711.2 / F-K11 as amended by Amendment A1 \u2014 the listing must state the bare-payload limit, not oversell detection): mockmint_detect flags SYNTHETIC_MOCKMINT when (a) the full watermark verifies against the out-of-band pinned trust anchor, or (b) the watermark object is stripped but at least one identifying structural field survives \u2014 mint_id, artifact_id, or a mockmint_-namespace counterparty_ref \u2014 and that field resolves against the ledger export. An identifying field that does not resolve is UNVERIFIABLE. Records retaining only non-identifying fields (parent_ref, artifact_hash, overt flags) or bare payload values are NO_WATERMARK_FOUND \u2014 the honest limit (SPEC \u00a714 Q-K1): values hand-copied as bare payload, with every structural field removed, carry nothing of the artifact, and no artifact-carried mechanism can detect that. Re-bench strip battery: 12/12 SYNTHETIC at every identifying-field level including single-field L5/L6/L7; 12/12 NO_WATERMARK_FOUND at the non-identifying and bare-payload levels; claim == measurement at every level.",
    "Closed, hardened surface \u2014 exactly 9 tools (mockmint_mint, mockmint_activate, mockmint_emit, mockmint_api_call, mockmint_list, mockmint_retire, mockmint_verify_watermark, mockmint_detect, mockmint_export); no de-watermarking, re-namespacing, promotion, or live-connection verb exists. Minting is deterministic under a seed; mint records are minter + Herald counter-signed in a hash-chained ledger. A real-name imitation linter refuses lookalike display names including spaced/leet variants, and a payload linter refuses real-credential/identifier shapes. Malformed input to any tool returns a named refusal and the server process survives (re-bench: 58 hostile calls across all 9 tools, 0 raises). The \u00a712 production-ingest refusal shape (MOCKMINT_ARTIFACT_REFUSED_PRODUCTION, all five any-of triggers) is pinned as an internal helper \u2014 a stated contract on Till/Meter production ingest paths, stated not verified in this product; verification belongs to the Till/Meter benches (SPEC \u00a714 Q-K4).",
    "Honest scope \u2014 LOCAL / sandbox only: synthetic counterparties are minted and exercised locally only. No hosted mint, no network egress, no real merchant/agent/API is impersonated, copied, or connected to, and no Mockmint artifact is presented to a live system. Amounts, behaviours, and responses in artifacts are invented fixtures with no real-world referent."
   ],
   "tools": [
    "mockmint_mint",
    "mockmint_activate",
    "mockmint_emit",
    "mockmint_api_call",
    "mockmint_list",
    "mockmint_retire",
    "mockmint_verify_watermark",
    "mockmint_detect",
    "mockmint_export"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $49/mo, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79.1 (subscription shape; metering points are per mint activated and per priced mockmint_emit / mockmint_api_call call inside the tier \u2014 verifier calls assert no metering point; re-activation is idempotent and not a second metering point). The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-mockmint-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-mockmint-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL/sandbox)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL/sandbox) \u2014 Verity re-bench of v0.1.1, 2026-10-26 (argus101-program-20261027/rebench-mockmint.md): all three v0.1.0 blockers (D1 shipped private keys, D2 presenter-trusted verification, D3 detection claim exceeding measurement), majors D4\u2013D6, and minors D7\u2013D10 fixed and independently re-proven; builder suite 49/49 fresh process, additionally re-run 49/49 by the shipper. The verifier has a real out-of-band trust anchor (fully forged ecosystems and the shipped-key exploit shape both fail; a removed anchor refuses rather than trusting presenter material); no private key material exists in the tree outside the gitignored keys/ store; and the F-K11 detection claim matches measurement level-for-level, including the Amendment A1 boundary: single-identifying-field detection (mint_id / artifact_id / mockmint_ ref resolving against the ledger export) is SYNTHETIC_MOCKMINT, while records retaining only non-identifying fields or bare payload values are NO_WATERMARK_FOUND \u2014 detection is NOT claimed for bare payload values with every structural field removed. Scope never exceeds LOCAL/sandbox: watermarked synthetic counterparties for commerce testing; every artifact carries the \u00a74.4 watermark; no hosted mint, no live system, no real counterparty. Four new minors (N1\u2013N4) recorded in the re-bench, none blocking at this scope (see not_tested).",
    "not_tested": [
     "Hosted or any non-local scope \u2014 none claimed: no hosted mint, no network egress, no live merchant/agent/API connection exists in the tree",
     "Bare-payload detection \u2014 NOT claimed and measured as the honest limit: values hand-copied as bare payload with every structural field removed return NO_WATERMARK_FOUND (SPEC \u00a711.2 / \u00a714 Q-K1, Amendment A1); the listing states this limit rather than overselling detection",
     "\u00a712 enforcement inside Till/Meter production ingest \u2014 Mockmint's contract remains stated, not verified in this product; verification is owned by the Till/Meter benches per SPEC \u00a714 Q-K4",
     "N1 (minor, open) \u2014 malformed explicit trust-anchor entries are silently discarded and the anchor falls through to env/store instead of failing that role closed; not exploitable (presenter material can never enter through this path) \u2014 hardening queued",
     "N2 (minor, open) \u2014 detect attribution with conflicting identifying fields attributes to the chain-lookup mint without flagging the conflict; detection itself (synthetic) is correct; SPEC \u00a711.2 is silent on conflicts \u2014 queued",
     "N3 (minor, open) \u2014 idempotent re-activation of an already-ACTIVE_SANDBOX mint returns success before the window check when carrying a ts at/after expires_at; no state change and no extra metering, and emission remains window-gated \u2014 queued",
     "N4 (minor, open) \u2014 three variant shapes do not trigger the \u00a712 refusal helper (a herald_attestation top-level key name, a mockmint_ ref nested as a dict-of-dict inside refs, and a mockmint_ ref nested in an arbitrary sub-object outside refs); all five canonical \u00a712 triggers and four attestation shapes pass \u2014 helper shape list to be enumerated exactly, queued"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/rebench-mockmint.md (Verity independent re-bench, fresh-process, bench-written probes: strip battery 12 artifacts per level, 58 hostile calls, forged-ecosystem and wrong/removed-anchor probes, F-K10 outsider flow 12/12). Prior FAIL bench: bench-mockmint.md; fix claim: fix-mockmint-011.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null). Repository PRIVATE (priced-product policy): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-mockmint-mcp @ v0.1.1. Official MCP Registry: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-mockmint-mcp v0.1.1, status active / isLatest (confirmed by registry API fetch at ship, publishedAt 2026-10-27T06:28:16Z).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-mockmint-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-mockmint-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-mockmint-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-reviewseal-mcp",
   "name": "Eclipse Reviewseal",
   "tagline": "Receipt-bound review corpus: every review bound to a sealed purchase receipt, with a recomputable verified-share statistic. CERTIFIED (LOCAL/simulator, fixture corpus) \u2014 fixture corpus only, no live marketplace integration. An evidence pack is recomputable but not tamper-evident against its own holder (re-bench n1).",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Commerce"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 every review is bound to a sealed purchase receipt, and the corpus ships with a recomputable verified-share statistic: each submitted review is checked against a sealed purchase receipt (consumed as-is in the Till/Settleseal format) and, on a verified match of receipt + item + seller, bound to that receipt's hash inside a counter-signed, hash-chained review record (binding outcomes: BOUND_VERIFIED \u00b7 UNBOUND_NO_RECEIPT \u00b7 UNBOUND_RECEIPT_UNVERIFIABLE \u00b7 UNBOUND_ITEM_MISMATCH \u00b7 UNBOUND_SELLER_MISMATCH). Reviews without a verifiable binding are sealed too, labelled UNBOUND \u2014 the corpus is complete, not curated \u2014 and a replayed receipt is quarantined (RECEIPT_REPLAY) and never enters the corpus.",
    "Recomputable verified-share statistic \u2014 at snapshot time the server computes the verified share over the sealed corpus (exact unreduced rational, e.g. 7/10, never a bare percentage) and counter-signs it into a snapshot record stating numerator, denominator, unbound counts by reason, and tombstoned/superseded exclusions on its face. The exported corpus pack contains the full record stream, binding-check transcripts, and labelled fixture verification keys, so any third party recomputes the statistic and the corpus head hash from the pack alone (re-bench F-R12 decisive: fresh process, pack alone, Fraction(7,10) exact). A corpus that fails recompute exports only as DOWNGRADED_EXPORT with statistic_status UNVERIFIED \u2014 never upgraded post-hoc; verified_share_get withholds the statistic on a downgraded corpus (UNVERIFIED + downgrade reason).",
    "Fail-closed discipline \u2014 startup refuses with CONFIG_FENCE_REFUSED:<class> (exit 2, no state written) on any live marketplace/API endpoint, live key, production-corpus or real-review import path, value_class other than test, or receipt-format patch config, on both the env and config-file routes (re-bench: 15 hostile env configs + 5 config-file classes, all refused). Malformed input to any of the 11 tools returns a named refusal with zero corpus mutation and the process survives. Disjoint surfaces: marketplace = exactly 6 tools, auditor = exactly 5 (auditor verbs require the auditor token, fail-closed when unconfigured); no verb issues a receipt, edits or deletes a sealed record, or reclassifies an UNBOUND record post-seal. Corrections are superseding records and removals are tombstone records \u2014 the chain keeps both and exclusions are counted on the snapshot's face.",
    "Honest scope \u2014 LOCAL / simulator, fixture corpus ONLY: v0.1.1 is exercised only against a fixture marketplace corpus (fixture listings, fixture reviews, fixture purchase receipts). No live marketplace, no real review, no real buyer is touched. Reviewseal attests binding and corpus integrity only: an UNBOUND review is unbound \u2014 a fact about evidence, never a verdict that the review is fake, fraudulent, or inauthentic \u2014 and the unbound share is never rendered as a fake rate. It does not verify a review's truth, quality, or authorship and computes no star averages as claims. Reviewer identity appears only as a pseudonymous hash ref; no receipt payload beyond the binding fields enters any record or export."
   ],
   "tools": [
    "corpus_open",
    "review_submit",
    "review_correct",
    "review_tombstone",
    "corpus_status",
    "snapshot_seal",
    "corpus_export_get",
    "verified_share_get",
    "verified_share_recompute",
    "review_binding_check",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.01/review, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (one review_sealed metering event per review record sealed, bound or unbound \u2014 the sealing work, never the outcome; idempotent resubmissions meter zero; verified_share_recompute is unmetered \u2014 anyone can check). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-reviewseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-reviewseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL/simulator, fixture corpus)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL/simulator, fixture corpus) \u2014 Verity re-bench of v0.1.1, 2026-10-27 (argus101-program-20261027/rebench-reviewseal.md): all 8 re-bench conditions pass on independent probes (fresh stdio processes; pack-alone verification with bench-written stdlib-only code, zero product imports). B3 decisive: chain hashes, both signatures on every record and the corpus-open record, snapshot hash and both snapshot counter-signatures all verify from pack keys alone; recomputed head hash matches; F-R12 exact unreduced rational Fraction(7,10) == snapshot 7/10. Forgery boundary confirmed: minting a BOUND_VERIFIED receipt from source + fixtures + pack alone fails (UNBOUND_RECEIPT_UNVERIFIABLE / UNBOUND) \u2014 the issuer key is exported nowhere and lives only in keys/ (mode 600, gitignored). Fence battery 15/15 + 5/5 refused by named class; malformed sweep across all 11 tools = named refusals, zero mutation; builder suite 36/36 fresh process, re-run 36/36 by the shipper. Scope binds exactly: binding, chaining, snapshot, and recompute behaviour over fixture corpus only \u2014 not any live marketplace's review integrity, and not the truth of any review's content. Two minor residual notes (n1/n2) recorded in not_tested, neither blocking at LOCAL scope.",
    "not_tested": [
     "Live marketplace scope \u2014 none claimed and none exists in the tree: no live marketplace integration, no real reviews, no real buyers; any scope beyond LOCAL requires asymmetric keys + re-bench (SPEC \u00a710.2)",
     "n1 (minor, scope-inherent) \u2014 an evidence pack is recomputable but NOT tamper-evident against its own holder: because the sanctioned fixture-HMAC branch exports verification keys and verification key = signing key, a pack holder can alter a record, re-chain, and re-sign records + snapshot so the server recompute returns verified for the fabricated pack (both attacks demonstrated in the re-bench). The statistic claim (recompute over a pack received from a trusted origin) is unaffected and receipt minting is NOT enabled by this (the issuer key is never exported). Pack origin trust is out-of-band at this scope",
     "n2 (minor) \u2014 RECEIPT_UNVERIFIABLE precedence: on a store-tampered transcript the export names CHAIN_GAP, not RECEIPT_UNVERIFIABLE (chain assessed first); the reason is less specific, never less safe \u2014 the export still downgrades and the statistic is still withheld on every auditor path",
     "Production signing custody \u2014 signing keys are locally generated fixture keys in the gitignored keys/ store (mode 600); the pack exports marketplace + witness fixture verification keys, explicitly labelled fixture-only; the receipt-issuer key is never exported",
     "Truth, quality, or authorship of any review's content \u2014 Reviewseal attests binding and corpus integrity only (SPEC \u00a70.3); UNBOUND is never a fake/fraudulent verdict"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/rebench-reviewseal.md (Verity independent re-bench; prior FAIL bench bench-reviewseal.md, fix claim fix-reviewseal-011.md). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null). Repository PRIVATE (priced-product policy): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-reviewseal-mcp @ v0.1.1 (commit 8ff7f12a49cdf724dde192d80c0b27f52c8ec018). Official MCP Registry: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-reviewseal-mcp v0.1.1, status active / isLatest (confirmed by registry API fetch at ship, publishedAt 2026-10-27T06:31:11Z).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-reviewseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-reviewseal-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-reviewseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-continuity-mcp",
   "name": "Eclipse Continuity",
   "tagline": "Agent identity-continuity chains: signed links across model/config changes \u2014 same principal, new model, verified offline. CERTIFIED (local/fixture) \u2014 fixture principals/models/keys only, local stdio, no live registry or identity claim.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Agent Identity"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 agent identity-continuity chains across model/config changes: every change in an agent's life appends a signed link to a single hash-chained identity chain rooted at a genesis link, so a counterparty verifies offline, recomputably, that the agent in front of them descends link by link from the principal they originally trusted \u2014 'same principal, new model' instead of re-trusting from zero. Continuity proves continuity, not trustworthiness: a verifying chain asserts same-principal lineage only, nothing about the new model's capability, safety, or fitness.",
    "Fork freeze + principal-only resolution \u2014 key rotation and model change are distinct link types, never conflated (a combined change is two links, rotation first). Two valid children of one head freeze the chain FORKED; only a signed resolution link naming the surviving and repudiated branch heads resumes it, and the repudiated branch stays in exports, labelled. Revocation is terminal: the full chain verifies REVOKED, a prefix verifies CONTINUOUS_AS_OF:<seq> labelled historical, never current standing. A missing link is BROKEN:missing-link:<seq> \u2014 there is no partial-continuity verdict \u2014 and unwitnessed link sets receive no receipt at all, only a DOWNGRADED_CHAIN_EXPORT.",
    "Consume-or-refuse caller pins (v0.1.2, condition C1) \u2014 continuity_verify / continuity_verify_prefix take the presented chain plus public keys: a caller pinning a principal to a key ref, or an expected head hash, is honored (a chain anchored under a different key does not verify against that caller's anchor). Every part of a supplied public_keys argument must resolve to a pin (supported shapes enumerated in README: key-ref lists; principal -> key ref / ref list / secret / descriptor; key ref -> secret or descriptor; sole keys/key_refs/public_keys wrappers) or the call refuses PIN_SHAPE_UNRECOGNISED with no verdict and no receipt \u2014 pin material is never silently ignored (spot re-bench: 28/28 named-shape + 102/102 variant probes refuse; every supported shape provably binds).",
    "Honest scope \u2014 LOCAL / fixture ONLY: v0.1.2 builds and verifies chains over fixture identity events with fixture principals/models/keys (HMAC fixture keys via a fixture Herald interface stub; signing material lives only in the local gitignored keys/ store, mode 600, never in source). No live registry, no network fetch, no production identity store, no live identity claim. Startup fails closed with CONFIG_FENCE_REFUSED:<class> on any live-registry URL, non-fixture Herald endpoint, non-test value class, or key material outside keys/. Verification never writes the chain store (metering is an in-memory record only)."
   ],
   "tools": [
    "chain_genesis",
    "chain_append",
    "chain_head",
    "chain_export",
    "continuity_verify",
    "continuity_verify_prefix"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.05/verification, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC SS9 (one metering point per continuity_verify / continuity_verify_prefix issuance; genesis and appends unmetered in v0.1; v0.1.2 implements no charge path \u2014 in-memory metering records only, and per-verification charging waits a hosted endpoint). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-continuity-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-continuity-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local/fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local/fixture) \u2014 Verity spot re-bench of v0.1.2, 2026-10-27 (argus101-program-20261027/spot-continuity-012.md), closing condition C1 from the v0.1.1 re-bench (rebench-continuity.md; original bench bench-continuity.md): the pin parser fails closed on every probe constructed (the 4 N1 shapes refuse on both tools x both anchor chains + empty chain + stdio surface, 28/28, no verdict/receipt; 51 unconsumable variants x both tools, 102/102 refuse; nested wrappers, descriptor abuse, double secret aliases, scalar/bool/None values all refuse), every supported pin shape provably binds, and N2 (stdio non-JSON line -> named JSON-RPC parse error -32700 / MALFORMED_INPUT) is fixed. No-regression spots pass (A5/A6/A7, F-C14 recomputed by independent bench code from SPEC text alone, builder suite 49/49). Scope binds exactly: signed identity-continuity chains (genesis, typed append, fork freeze, principal-only resolution, revocation, offline + prefix verification) over fixture principals/models/keys, local stdio only \u2014 no live registry or production identity claim (SPEC SS11). Refusal-vs-support ruling on its face: the spec names no pin shape, C1 allowed either branch, and refusal is the fail-closed direction.",
    "not_tested": [
     "Live identity scope \u2014 none claimed and none exists in the tree: no live registry, no production identity store, no real principals; any scope beyond local/fixture requires asymmetric keys + re-bench (SPEC SS11)",
     "Trustworthiness of a chained agent \u2014 Continuity proves same-principal lineage only; nothing about a new model's capability, safety, or fitness is attested or implied",
     "Production signing custody \u2014 signing is consumed through a fixture Herald interface stub (HMAC fixture keys, local gitignored keys/ store mode 600); Continuity stores key refs in links, never private key material, and defines no signing scheme of its own",
     "Hosted/networked operation \u2014 local stdio only in v0.1.2; no charge path exists (metering records only, SS9.2)"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/spot-continuity-012.md (Verity spot re-bench; history bench-continuity.md + rebench-continuity.md). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null). Repository PRIVATE (priced-product policy): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-continuity-mcp @ v0.1.2 (commit bcd599231b774cba4704b3aa951ddfb0b1e34baa). Official MCP Registry: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-continuity-mcp v0.1.2, status active / isLatest (confirmed by registry API fetch at ship, publishedAt 2026-10-27T06:44:27Z).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-continuity-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-continuity-mcp/versions/0.1.2",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-continuity-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-regulens-mcp",
   "name": "Eclipse Regulens",
   "tagline": "Regulation-change impact receipts: fixture publications witnessed and deterministically mapped to your declared controls. CERTIFIED (LOCAL/simulator) \u2014 fixture corpus only, local stdio, no live ingestion. Not legal advice; not a compliance determination.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Compliance & Regulation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 regulator publications are witnessed on release and machine-mapped to the subscriber's own control/product set, so 'this rule changed' arrives as 'these three of your controls are affected.' A publication enters only as a witnessed record (content hash + footprint + release stamp, witness counter-signed); the subscriber's control set enters only as a sealed, versioned declaration (subscriber-signed, witness counter-signed); the mapping is a deterministic boolean anchor match (citation \u2208 declared anchors OR topic-key intersection) under the versioned rule set regulens-rules/1.0 \u2014 no model inference, no embeddings, no per-run judgement. The output is a signed impact receipt naming affected declared controls with the triggering anchor + passage refs, recomputable offline from the receipt + witnessed publication + sealed set + rule-set version alone (spot re-bench F-R13: P4 \u00d7 S-B recomputed exactly, affected B1, B2, B3).",
    "Single trust anchor + downgrade law (v0.1.2, conditions N1\u2013N3) \u2014 verification pins to the local keys/ store only: production code contains zero reads of fixtures/fixture-keys.json (that file is public keys only, informational, never consulted); rotating or deleting both keys/ files makes pre-rotation artifacts fail IMPACT_VERIFY_FAIL:1, never RECOMPUTED, and a missing store raises the named KEY_STORE_MISSING:<role> class \u2014 issuance over missing keys refuses SIGNATURE_INVALID with no sealed output. A receipt that fails recompute at any step exports only as DOWNGRADED_IMPACT_EXPORT (verified: false, failing step on its face) \u2014 no tool path upgrades, repairs, or edits a receipt, a witnessed publication, or a sealed set in place; a republication or redeclaration produces a new record under its own triple.",
    "\u00a76.2 face posture on every envelope \u2014 the verbatim standing face text rides the top level of every emitted envelope class (14/14 probed in the spot re-bench, including server ToolError / generic-error envelopes and the downgraded export): 'Impact receipt \u2014 a deterministic mapping over your declared control set only. Not legal advice; not a compliance determination. Controls you did not declare were not mapped (see set_hash).' Regulens output is an impact receipt, never legal advice; not a compliance determination. It never states a remediation instruction, required action, or deadline, and it maps only controls the subscriber declared \u2014 controls not declared were not mapped, and a nil receipt (affected: []) is a first-class recomputable artifact proving only that the mapping over the declared set found no anchor match.",
    "Honest scope \u2014 LOCAL / simulator, fixture corpus ONLY: v0.1.2 runs over fixture regulator publications (P1\u2013P4, invented fixture citations) and fixture subscriber control sets (S-A: 5 controls, S-B: 3 controls), local stdio only, all artifacts value_class: test. NO live ingestion exists or is claimed: no live regulator site is fetched, scraped, polled, or republished, there is no dormant live-ingestion path to flip, and startup refuses CONFIG_FENCE_REFUSED:<class> on any live-source / HTTP-client / non-test configuration. Live ingestion is gated on the SPEC \u00a710 source-terms review (the source-terms gate is unbuilt by design) plus counsel review of the \u00a711.2 'not legal advice' language \u2014 a post-gate, re-benched code change, not a configuration flip."
   ],
   "tools": [
    "publication_witness",
    "publication_get",
    "control_set_declare",
    "control_set_get",
    "impact_map",
    "impact_receipt_get",
    "impact_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $199/mo, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (the $199/mo subscriber subscription is the whole price shape \u2014 no per-receipt figure; v0.1.2 records subscription-period usage in Meter grammar only, implements no charge path, no payment call, and no entitlement check; charging waits a hosted endpoint). Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-regulens-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-regulens-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (LOCAL/simulator)",
    "certified": true,
    "certified_scope": "CERTIFIED (LOCAL/simulator) \u2014 Verity spot re-bench of v0.1.2, 2026-10-27 (argus101-program-20261027/spot-regulens-012.md), closing all three conditions (N1\u2013N3) of the v0.1.1 re-bench (rebench-regulens.md; original bench bench-regulens.md): N1 single trust anchor closed (genuine artifacts RECOMPUTED; rotation and deletion of both keys/ files fail closed IMPACT_VERIFY_FAIL:1, never via the fixtures fallback; KEY_STORE_MISSING:<role> at the anchor layer; issuance with keys missing refuses SIGNATURE_INVALID, no sealed output); N2 \u00a76.2 face text verbatim at the top level of 14/14 envelope classes; N3 unhashable subscriber_ref yields named SET_VERSION_NOT_FOUND across the surface (9/9 named tools + 21-call same-class sweep, zero generic-envelope leaks). No-regression spots pass (T7 fabrication FAIL:5, T8 total fabrication FAIL:1, F-R13 P4 \u00d7 S-B independently recomputed exactly with no regulens imports, 5-process determinism 1 distinct output, builder suite 47/47 with socket-denied parity). Scope binds exactly: regulation-change impact receipts mapped to the subscriber's own declared control set over fixture regulator publications, local stdio only \u2014 NO live ingestion (SPEC \u00a710 source-terms gate unbuilt by design) and the \u00a76.2 'not legal advice; not a compliance determination' posture applies to every receipt and envelope.",
    "not_tested": [
     "Live ingestion \u2014 none claimed and none built by design: no live regulator feed, site fetch, scrape, poll, or republication exists in v0.1.2; live phases are gated on the SPEC \u00a710 source-terms review + counsel review of the \u00a711.2 language and require a re-benched code change",
     "Legal advice / compliance determinations \u2014 never offered: Regulens emits a deterministic impact receipt over declared controls only; it states no remediation, required action, or deadline, and an unaffected (nil) result means only that the mapping over the declared set found no anchor match, never that a subscriber is unaffected in law",
     "Undeclared controls \u2014 invisible by construction (SPEC L5): the mapping sees only the subscriber's sealed declared set at the cited set_version; no inference, enrichment, or validation of the legal correctness of a subscriber's anchors",
     "Production signing custody \u2014 witness + subscriber keys are locally generated fixture keys in the gitignored keys/ store (files mode 600, never committed); signing is consumed through the Herald interface pattern and no production custody scheme is claimed. Informational observation from the spot re-bench: the signing path retains its documented D3 bootstrap (a signing call on a missing store key creates a fresh keys/ key, operationally a rotation) \u2014 verify/resolve paths create nothing and no burned artifact is resurrected",
     "Hosted/networked operation \u2014 local stdio only in v0.1.2; no charge path exists (SPEC \u00a79.2: metering records only, no payment call, no entitlement/subscription check)"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/spot-regulens-012.md (Verity spot re-bench; history bench-regulens.md + rebench-regulens.md). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null). Repository PRIVATE (priced-product policy): https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-regulens-mcp @ v0.1.2 (commit ada541cf0de2f8748ec171e37330d9b2203a5460). Official MCP Registry: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-regulens-mcp v0.1.2, status active / isLatest (confirmed by registry API fetch at ship, publishedAt 2026-10-27T07:00:15.326369Z).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-regulens-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-regulens-mcp/versions/0.1.2",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-regulens-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-scapegoat-mcp",
   "name": "Eclipse Scapegoat",
   "tagline": "Failure attribution is a recompute over the hash-chained record set \u2014 the verdict names the causal action and ships the proof path. CERTIFIED (local) \u2014 fixture record sets only; causal evidence, NOT a legal liability determination.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Oversight & Forensics"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 causal attribution as a RECOMPUTE over hash-chained multi-agent records (SPEC \u00a72.1): Scapegoat verifies every chain in the presented set, recomputes each action's conformance against the governing mandate/policy it cites, and names the causal action \u2014 the earliest record whose deviation first made the failure inevitable on the recorded path \u2014 in a Herald-signed verdict (methodology scapegoat-attribution/1.0) that ships the proof path: governing authority \u2192 causal action \u2192 failure record, each entry with its hash and recomputed conformance checks, so any third party re-runs \u00a76.4 from the export alone and reaches the same verdict or names the step where the pack fails.",
    "Presented proof path bound to the signed verdict (v0.1.2, condition C1 / defect N1 closed, Verity spot re-bench spot-scapegoat-012.md) \u2014 proof_verify step 2 recomputes the signed proof_path_head_hash over the PRESENTED path (a dropped, stripped, reordered, duplicated, or substituted entry fails at :2), step 4 requires the presented path to equal the recomputed walk \u2014 ids, order, roles, stream, seq \u2014 with every entry's conformance_checks matching the recomputation (a check-edited trail fails at :4), and re-pointing the head hash dies at step 1 on the Herald signature, because the head field sits inside the signed verdict core. Spot re-bench: 6/6 N1 table rows and 11/11 bench-devised path attacks FAIL at exactly the named steps; the honest pack PASSes.",
    "Record-bounded honesty \u2014 where the records do not determine a unique causal action, the verdict is UNATTRIBUTED at full standing with the reason named (NO_DEVIATION / MULTIPLE_FIRST_DEVIATIONS / CAUSAL_GAP / SET_DEFECT / NO_GOVERNING_AUTHORITY), never a plausible party picked to fill the gap. The verdict path contains no model call, no free-text reasoning, and no operator override; no tool accepts a party's narrative (NARRATIVE_FIELD_REJECTED); Scapegoat creates no records, repairs no chain, and fills no gap \u2014 defects (HASH_MISMATCH, SIGNATURE_INVALID, SEQ_GAP, \u2026) are stated on the verdict's face, and a record that failed integrity never carries an attribution through the causal window (tampered causal window degrades to UNATTRIBUTED: CAUSAL_GAP; tampered downstream record is stated as a defect on an ATTRIBUTED verdict).",
    "Honest scope \u2014 LOCAL, fixture record sets ONLY: v0.1.2 recomputes over fixture hash-chained record sets with fixture RS256 keys held only in the local gitignored keys/ store (private keys mode 600, never committed; proof_verify pins public keys from keys/public-keys.json only \u2014 a key carried in a pack is checked against the pin, never trusted). No real dispute, no real record set, and no real party is adjudicated. A verdict is causal evidence from a recompute \u2014 NOT a legal liability determination, not a legal fault finding, and never stated to bind any party; evidentiary use in real disputes is a counsel-gated later phase (SPEC \u00a710), not built. Closed surface: exactly 5 tools; no record-creation, chain-repair, re-run, override, party-naming, or remedy verb exists."
   ],
   "tools": [
    "attribution_submit",
    "attribution_run",
    "verdict_get",
    "proof_verify",
    "methodology_get"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $10/verdict, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79.1 (metering points only in v0.1.2, no charge path built): attribution_job_intake per accepted job, verdict_issued per issued verdict (ATTRIBUTED and UNATTRIBUTED meter identically \u2014 the price is for the recompute, never the outcome), proof_pack_exported per pack, proof_verify_run per served verify. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-scapegoat-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-scapegoat-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local)",
    "certified": true,
    "certified_scope": "CERTIFIED (local) \u2014 Verity spot re-bench of v0.1.2, 2026-10-27 (argus101-program-20261027/spot-scapegoat-012.md), closing the sole condition C1 (defect N1) from the v0.1.1 re-bench: proof_verify step 2 recomputes the signed proof_path_head_hash over the presented path and step 4 binds the presented path to the recomputed walk including every entry's conformance_checks \u2014 6/6 N1 rows and 11/11 bench-devised path attacks FAIL at the named steps, honest pack PASSes, and re-pointing the head hash fails at step 1 (Herald signature over the verdict core). No-regression spots re-proven: F-S13 both branches PASS from the pack alone in a fresh process with a nonexistent state dir (no store created), B1 gating pair, byte-identical determinism (verdict_hash 9f2ee71e\u2026 across fresh processes), builder suite 53/53 fresh process and 53/53 with sockets denied. Combined with the v0.1.1 re-bench (B1\u2013B3, M1\u2013M4, m1\u2013m6 verified), the product is CERTIFIED (local): local stdio, fixture record sets only, recompute verdicts only \u2014 causal evidence, NOT a legal liability determination; the SPEC \u00a710 counsel gate (evidentiary use in real disputes) is untouched and still binding.",
    "not_tested": [],
    "live_state_note": "Bench evidence: argus101-program-20261027/spot-scapegoat-012.md (Verity spot re-bench, fresh processes, nonexistent state dir, bench-side tamper code only, subject tree unmodified). Prior history: bench-scapegoat.md (v0.1.0 bench) + rebench-scapegoat.md (v0.1.1 re-bench, CONDITIONAL (local) with condition C1/N1). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-scapegoat-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-scapegoat-mcp/versions/0.1.2",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-scapegoat-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-sponsorline-mcp",
   "name": "Eclipse Sponsorline",
   "tagline": "Per-action-class sponsor acceptance receipts \u2014 a sponsor signs payments, publishing, or contracting separately, never one blanket acceptance. PASS-CONDITIONAL (local) \u2014 fixture sponsors/parties only. A Sponsorline receipt evidences that a sponsor signed stated acceptance terms for a stated action class at a stated time. It does not itself create, transfer, or enforce legal liability. Enforceability is a counsel question (\u00a710) and is not claimed.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Identity & Attestation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 per-class Herald-counter-signed acceptance receipts (SPEC \u00a72.1): a sponsor signs a separate acceptance receipt for each action class they sponsor (payments / publishing / contracting), each with its own scope terms, limits, and validity window, instead of one blanket terms acceptance at onboarding. Signing payments signs nothing else; the other classes remain UNACCEPTED until separately signed. There is no verb, field, or default that accepts all classes or an unnamed class.",
    "Scoped like a mandate \u2014 each presented action is checked in a fixed order (class/scope match \u2192 limits \u2192 validity/revocation) and the first failure names the refusal (CLASS_MISMATCH, SCOPE_MISMATCH, LIMIT_EXCEEDED, ACCEPTANCE_EXPIRED, ACCEPTANCE_REVOKED, ACCEPTANCE_SUPERSEDED, \u2026). Aggregate limits are recomputed from prior check records in the chain, never stored.",
    "Chained, revocable, time-bounded, offline-recomputable \u2014 receipts append to the sponsored party's hash-chained record stream; revocation and supersession are new chained records, prospective only. Any third party recomputes the whole pack offline from the exported pack plus pinned keys alone: enrolment hashes, sponsor + Herald signatures, terms-hash binding, chain hashes, per-class status derivation (an UNACCEPTED class is proven by derivation over the complete chain, not by absence from a summary), and every check record's outcome. Bench-decisive fixture F-S14: payments ACTIVE while publishing and contracting derive UNACCEPTED from the same pack, and the same action descriptor returns COVERED-BY-RECEIPT as payments and CLASS_MISMATCH as publishing/contracting.",
    "The liability fence (SPEC \u00a711.2, verbatim): A Sponsorline receipt evidences that a sponsor signed stated acceptance terms for a stated action class at a stated time. It does not itself create, transfer, or enforce legal liability. Enforceability is a counsel question (\u00a710) and is not claimed.",
    "Honest scope \u2014 LOCAL stdio, fixture sponsors and parties ONLY: every artifact carries value_class \"test\"; no real sponsor is solicited, signed, or recorded; no live signing ceremony, production agent, counterparty, or external registry is contacted. Signing is a fixture HMAC stand-in for the Herald pattern (no live Herald key held); fixture keys are pinned out-of-band in the local gitignored keys/ store (mode 600, never committed) \u2014 a key presented inside a record or pack is never trusted. Closed surface: exactly 9 tools across 3 disjoint surfaces (sponsor / operator / verifier); no verb accepts on a sponsor's behalf, accepts multiple classes, edits, extends, deletes, backdates, or marks accepted."
   ],
   "tools": [
    "party_enrol",
    "acceptance_present",
    "acceptance_sign",
    "acceptance_decline",
    "acceptance_revoke",
    "acceptance_status",
    "action_check",
    "sponsor_pack_get",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.10/attestation, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79.1 (metering points only in v0.1.0, no charge path built): acceptance_receipt_issued (the $0.10/attestation book shape attaches here), action_check, sponsor_pack_exported \u2014 counts recomputable from the record stream and the metering log; per-call charging waits a hosted endpoint. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-sponsorline-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-sponsorline-mcp.png",
   "certification": {
    "bench_verdict": "PASS-CONDITIONAL (local)",
    "certified": false,
    "certified_scope": "PASS-CONDITIONAL (local) \u2014 Verity bench of v0.1.0, 2026-10-27 (argus101-program-20261027/wave2/bench-sponsorline.md): builder suite 25/25 re-run from clean state; decisive fixture F-S14 independently reproduced in a fresh process from pack + pinned keys alone (payments ACTIVE with per-action 5000 / aggregate 20000 limits and window on the receipt face; publishing and contracting UNACCEPTED by derivation over the complete chain; same descriptor COVERED-BY-RECEIPT as payments, CLASS_MISMATCH as publishing and contracting); 44/44 adversarial probes (pack-smuggled keys ignored, forged signatures fail at receipt_signatures, revocation replay, presented-status substitution, receipt-face tampering, malformed-args battery with store byte-identical, cross-surface byte-identical NO_SUCH_TOOL refusals, all 6 ordered class pairs CLASS_MISMATCH, 300-op seeded fuzz). PASS-CONDITIONAL is not CERTIFIED \u2014 certified is false, and nothing beyond the conditional verdict at its exact scope is claimed. Scope is exactly: local stdio MCP, fixture sponsors/parties only, value_class \"test\" on all artifacts, fixture HMAC stand-in for the Herald pattern (no live Herald key), no counsel-gate (\u00a710) surface built or claimed. Conditions applied at ship: C1 \u2014 the bench's library-helper condition: the internal helper behind F-S14 branch (c) is not exposed on any tool surface and is not cited standalone in this listing or the README (verifier surface is receipt_verify only); C2 \u2014 the \u00a711.2 liability fence is carried verbatim in the README, in the full manifest of record (server.legacy.json), and in this listing (the registry server.json description is the \u2264100-char short form per the registry limit). All 3 builder deviations (D1 enrolment record_type, D2 unchained PRESENTATION_NOT_FOUND refusal, D3 SPEC.md \u00a711.4 enumeration) were ACCEPTED at bench.",
    "not_tested": [
     "Real sponsors, real sponsored parties, or real actions \u2014 fixture sponsors/parties only; no real acceptance is solicited or recorded",
     "Legal effect of an acceptance \u2014 whether a Sponsorline acceptance creates, transfers, limits, or enforces legal liability is a counsel question; the SPEC \u00a710 counsel gate (e-signature enforceability, permissible terms language, org signatory authority, consumer-protection limits, insurance and platform-terms interaction, revocation's legal effect) is unbuilt by design and no live phase exists in this code to flip",
     "Live Herald RS256 signing \u2014 v0.1.0 signing is a fixture HMAC stand-in for the Herald pattern; Sponsorline holds no live Herald key",
     "Production key custody \u2014 fixture keys are local-only in keys/ (gitignored, mode 600, never committed); a fresh clone must create its own fixture key file to run the full suite",
     "Hosted or live operation \u2014 local stdio only; no charge path and no live Meter ingest (metering points only, $0.10/attestation is a book reference)",
     "Standalone use of the internal action-check library helper (bench condition C1) \u2014 it is not a tool and must never be exposed or cited standalone unless it first gates on a successful verify_pack of the same pack; any such exposure is a scope change requiring re-bench"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-sponsorline.md (Verity bench, builder suite re-run from clean state, F-S14 re-run independently with bench-side harness in a fresh process with an empty state dir, 44 bench-devised adversarial probes, scope/claims audit by grep + code read; subject tree unmodified by the bench). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sponsorline-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-sponsorline-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-sponsorline-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-morphguard-mcp",
   "name": "Eclipse Morphguard",
   "tagline": "Payee-detail drift evidence over fixture records \u2014 before paying a known payee, Morphguard compares the bank/rail details presented against a continuous, hash-chained fingerprint history and returns CLEAR or BLOCK plus a drift receipt naming exactly which field classes changed. CERTIFIED (local, fixture payee records) \u2014 fixture payee records only; verdict to caller only, never executes payment; verification uses pinned fixture keys (HMAC fixture stand-in \u2014 not public keys); export packs carry fixture detail tokens for recompute and are not value-free.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Payments",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 a continuous fingerprint chain over a payee's bank/rail details; any silent change blocks payment and issues a drift receipt \u2014 the classic vendor-bank-fraud pattern becomes impossible to hide. (That sentence describes the fixture chain's tamper-evidence property, not a real-world fraud guarantee \u2014 SPEC \u00a711.4 fence, attached per the spec's honest-label rules.)",
    "Fingerprint chain \u2014 fingerprint = sha256(canonical(payee_detail_set)) over a fixed field set (payee_ref, beneficiary_name, bank_id, account_id as fixture tokens only, rail, unit); every witnessed state appends one signed, hash-chained record, so rewriting history breaks every later hash. A check recomputes the presented fingerprint against the chain head: match \u2192 CLEAR; mismatch \u2192 BLOCK_DRIFT plus a signed drift receipt naming the changed field classes only \u2014 never values \u2014 with the last agreeing sequence and prior fingerprint. Silence is drift: a missing field, an added field, or a re-ordered canonical form does not match; a legitimate change is absorbed only by an explicit re-enrollment citing the drift receipt, and the seam stays in the chain permanently.",
    "Offline recompute with pinned fixture keys \u2014 chain_verify recomputes every fingerprint, record hash, changed-field-class list and verdict from the source detail sets in an exported pack, using only the local pinned fixture keys (never keys presented inside a pack; a pack carrying keys fails at keys_pinned). The pinned fixture keys are HMAC secrets \u2014 they are NOT public keys, and no public or third-party verifiability is claimed at v0.1.1. An export is labelled witnessed:true / WITNESSED_EXPORT only when its embedded verifier transcript actually verified.",
    "Completeness limits (bench condition C-4, on the face) \u2014 chain_verify proves the integrity of the records presented, NOT the completeness of the payee's history: a pack truncated to a prefix of the chain (receipts pruned consistently) verifies true as that shorter chain, because the pack format carries no external head-hash or length anchor; callers needing completeness must pin the head fingerprint and record count out-of-band (both are on the verify result's face). Appending an exact duplicate of a valid drift receipt still verifies (linkage is set-compared; the duplicate inflates the reported drift_receipts count, and no false history is created). The pack's own witnessed/export label is never trusted \u2014 the result label is re-derived from the recompute.",
    "Export packs are NOT value-free (bench condition C-3, on the face) \u2014 chain_export packs contain the full fixture detail sets (enrollment, re-enrollment and check sets) by design, because drift classes and fingerprints are recomputed from them; the values are synthetic fixture tokens only (bank_fixture_\u2026, acct_fixture_\u2026), never real bank data, and packs must be handled as 'fixture tokens only' until a live-scope redesign. What is values-free, accurately, is the drift receipt (and logs): fingerprints + changed field classes only, never detail values. No value-free-export claim is made anywhere for this product.",
    "Honest scope \u2014 LOCAL stdio, fixture payee records ONLY: no live bank, rail, vendor-master, or payment system is touched and no real bank-account number enters any fixture. Morphguard never pays, settles, releases, or holds funds \u2014 a drift result is a verdict returned to the caller (CLEAR / BLOCK_DRIFT / BLOCK_UNKNOWN_PAYEE / BLOCK_CHAIN_DEFECT); payment execution, if the caller proceeds on a CLEAR, stays entirely with Till behind Till's existing gates. A CLEAR means only 'presented fixture details match the chain head' \u2014 nothing more. Closed surface: exactly 9 tools across 2 disjoint surfaces (caller 6 / operator 3); no pay/settle/release/hold/edit/delete verb exists on either surface. Startup is fail-closed: a real ABA-shaped routing token, a live-key string, a non-local endpoint, or value_class other than 'test' refuses startup."
   ],
   "tools": [
    "payee_enroll",
    "payee_check",
    "payee_reenroll",
    "payee_status",
    "drift_receipt_get",
    "chain_verify",
    "payee_retire",
    "chain_export",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.05/check, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering point only in v0.1.1, no charge path built): payee_check evaluations only (including BLOCK_UNKNOWN_PAYEE) meter at the $0.05/check book shape; idempotent retries do not double-meter; per-call charging waits a hosted endpoint. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-morphguard-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-morphguard-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local, fixture payee records)",
    "certified": true,
    "certified_scope": "CERTIFIED (local, fixture payee records) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-morphguard.md) returned PASS-CONDITIONAL at that scope subject to conditions C-1..C-4; the spot re-bench of v0.1.1 in the same record CLOSED C-1 and confirmed C-2/C-3/C-4: builder suite 32/32 re-run from clean state; decisive fixture F-G9 independently reproduced in a fresh process from pack file + local pinned fixture keys alone (drift classes exactly [bank_id, rail], last_agreeing_seq=4, head_fingerprint == fingerprint(drifted set)); C-1 long chains verified end-to-end at 23/30/40 records (verify args >20k generic cap, within the 200k pack limit) and chain_export labels witnessed only when its embedded transcript actually verified (refusal/failed transcripts downgrade to UNWITNESSED_EXPORT); 28-check adversarial battery on the verify layer (tamper, swap, deletion, forged signatures, pack-carried keys rejected at keys_pinned, wrong/swapped pinned keys fail) and 300-step model-checked state fuzz with 0 illegal transitions. Scope is exactly: local stdio MCP, fixture payee records only, verdict to caller only (never executes payment), HMAC pinned-fixture-keys signing (fixture stand-in, not public keys), no counsel-gate (\u00a710) live phase built or claimed. Export packs carry fixture detail tokens for recompute and are NOT value-free (C-3); drift receipts carry fingerprints + changed field classes only, never values. chain_verify proves integrity of the records presented, not completeness of history (C-4): a consistently pruned prefix verifies as that shorter chain, so callers needing completeness must pin the head fingerprint + record count out-of-band.",
    "not_tested": [
     "Real payee, vendor-master, bank, or rail data \u2014 fixture payee records only; SPEC \u00a710 counsel gate (a) checking details against any real vendor-master / bank / rail system is unbuilt by design, named, with no dormant live path",
     "Holding or processing real bank-account numbers \u2014 SPEC \u00a710 counsel gate (b) (data-protection + NACHA-adjacent obligations) is unbuilt by design; no real bank-account number enters any fixture",
     "Automatically halting a real payment \u2014 SPEC \u00a710 counsel gate (c): any integration where a BLOCK automatically halts a real payment inside a third party's AP flow (interference/liability review) is unbuilt by design; Morphguard returns a verdict to the caller only and never pays, settles, releases, or holds funds",
     "Fraud prevention for live payments \u2014 SPEC \u00a710 counsel gate (d): marketing the verdict as fraud prevention for live payments is counsel-gated and NOT claimed; never claimed for v0.1.1 are fraud prevention, bank-account verification, 'prevents vendor fraud', live monitoring, or any Till/payment capability",
     "Asymmetric / third-party verifiability \u2014 v0.1.1 signing is an HMAC-SHA256 fixture stand-in for the Herald RS256 pattern using pinned fixture keys only; the pinned fixture keys are HMAC secrets, NOT public keys, and anyone holding a pinned fixture key could forge a chain, so no public or third-party verifiability is claimed; RS256 (or equivalent asymmetric) is required before any scope where verifier and signer are in different trust domains",
     "Production key custody \u2014 fixture keys are local-only in keys/ (gitignored, mode 600, never committed); a fresh clone must create its own fixture key file to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering point only on payee_check ($0.05/check shape), no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-morphguard.md (Verity bench of v0.1.0 + spot re-bench of v0.1.1 closing C-1; independent fresh-process F-G9 and long-chain verification, bench-side adversarial battery, subject tree unmodified by the bench). Fix of record: wave2/fix-morphguard.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-morphguard-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-morphguard-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-morphguard-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-adproof-mcp",
   "name": "Eclipse Adproof",
   "tagline": "Pre-publication substantiation gate for fixture marketing claims \u2014 no sealed pointer, no publish; the published fixture artifact carries the pointer. CERTIFIED (local/fixture) \u2014 fixture claims/documents only, fixture publish pipeline only. The pointer proves substantiation was BOUND, not that it substantiates \u2014 substantiation adequacy is the publisher's/counsel's call. RSA key generation uses the random module (Mersenne Twister), not a CSPRNG \u2014 fixture keys only.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Compliance & Regulation",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism \u2014 a claim cannot pass the publish gate without a sealed pointer to its substantiation document; the published artifact carries the pointer (SPEC \u00a72.1). Load-bearing label (SPEC \u00a711.1, verbatim): the pointer proves substantiation was BOUND, not that it substantiates \u2014 substantiation adequacy is the publisher's/counsel's call.",
    "Seal, gate on verification, carry \u2014 at bind time claim_hash and substantiation_doc_hash plus document ref, binder ref, and bind time are sealed into a hash-chained bind record with two signatures (binder counter-signature + Herald RS256 JWS). At publish the gate recomputes both hashes from the artifact and document as presented and verifies the seal \u2014 a pointer merely present, stale, or pointing at a different document does not pass; there is no override verb, manual pass, or publish-first-bind-later path. The published fixture artifact embeds the pointer triple (bind_id, claim_hash, substantiation_doc_hash) on its face in an in-band footer block.",
    "Offline pointer verification (SPEC \u00a76.4) \u2014 a pure function of the published artifact + the document + the pointer (+ optional gate receipt / chain segment) + the pinned public keys in keys/pinned-public.json: recompute claim and document hashes from source bytes (presented digests are never trusted), verify both signatures against pinned keys only (a key carried on a pointer, receipt, or tool argument is never consumed), walk the chain, and check the gate receipt. Failing steps are named VERIFY_FAIL:1..5. Unverifiable material exports only as UNVERIFIED_EXPORT, verified: false \u2014 downgrade law: no tool path upgrades it and no path from it leads to a gate pass.",
    "Decisive fixture + C1 closure \u2014 bench F-A10: end-to-end bound/gated/published fixture artifact verified VERIFY_PASS in a fresh subprocess with an empty data dir (no store created), and every tamper fails at its named step. At v0.1.1 the state machine is closed as specced (SPEC \u00a73.1): adproof_bind refuses a claim_hash with no submitted claim record as CLAIM_NOT_SUBMITTED \u2014 no state change, no metering \u2014 so BOUND without CLAIM_HASHED does not exist, and the zero-submit sequence that previously reached PUBLISHED/VERIFY_PASS now refuses at bind.",
    "F5 scope fence (standing, exactly as benched) \u2014 RSA key generation uses the random module (Mersenne Twister), not a CSPRNG. That is acceptable only for these fixture keys at this local/fixture scope. Before any scope above fixture is ever contemplated, key generation must move to a CSPRNG and be re-benched; no scope claim above local/fixture is made or implied by this code.",
    "Honest scope \u2014 LOCAL stdio, fixture claims/documents ONLY: no live publisher, ad platform, or marketing system is touched, no real claim or real substantiation document enters a fixture, and every emitted artifact carries value_class \"test\". Adproof binds, gates, and stamps: it does not read a document and judge it, does not rewrite claims, and does not approve claims \u2014 closed surface of exactly 6 tools; no adequacy/score/approve/pay/charge verb exists. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live endpoint, an enabled network client, a non-fixture source, or value_class other than 'test'; no network or publisher client exists in the tree."
   ],
   "tools": [
    "adproof_claim_submit",
    "adproof_bind",
    "adproof_gate_check",
    "adproof_publish",
    "adproof_pointer_verify",
    "adproof_export"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.05/claim, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering point only in v0.1.1, no charge path built): one metering point per claim bound (a bind reaching BOUND with both signatures); gate checks, publishes, verifies, and refused binds are not metering points, and idempotent re-binds assert no new metering point; per-call charging waits a hosted endpoint. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-adproof-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-adproof-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED (local/fixture)",
    "certified": true,
    "certified_scope": "CERTIFIED (local/fixture) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-adproof.md) returned PASS-CONDITIONAL (local/fixture) subject to condition C1; the spot re-bench of v0.1.1 in the same record CLOSED C1 and F2: builder suite 26/26 re-run from clean state; bencher-written independent C1 probes \u2014 orphan bind (locally hashed real fixture claim never submitted, and an arbitrary 'a'*64 hash) refused CLAIM_NOT_SUBMITTED with no pointer, no store.json created, zero state and zero metering; the full zero-submit path never reaches PUBLISHED or VERIFY_PASS; submitted binds meter exactly once and idempotent re-binds do not double-meter; future-bound pointer at the gate refuses POINTER_BOUND_IN_FUTURE (F2, not POINTER_MISMATCH, no gate receipt). Decisive fixture F-A10 independently reproduced: VERIFY_PASS in a fresh subprocess with a new empty data dir (no store.json created \u2014 genuinely offline/stateless), and tamper classes fail at their named steps (claim word altered VERIFY_FAIL:1, Herald signature stripped VERIFY_FAIL:3, presented-digest substitution both variants VERIFY_FAIL:1). Scope is exactly: local stdio MCP, fixture claims/documents only, fixture publish pipeline, offline pointer verification from artifact+document+pointer+gate receipt+chain segment+pinned public keys; value_class 'test' on all artifacts; no advertising-claims counsel-gate (SPEC \u00a710) live phase built or claimed. Load-bearing label (SPEC \u00a711.1, verbatim): the pointer proves substantiation was BOUND, not that it substantiates \u2014 substantiation adequacy is the publisher's/counsel's call. F5 standing fence: RSA key generation uses the random module (Mersenne Twister), not a CSPRNG \u2014 fixture-only; CSPRNG keygen + re-bench required before any scope above fixture.",
    "not_tested": [
     "Real claims, real substantiation documents, or any live publisher / ad-platform / marketing use \u2014 fixture claims/documents only; the SPEC \u00a710 advertising-claims counsel gate is unbuilt by design, named, with no dormant live mode: before any live use counsel must clear (a) \u00a711's label language, (b) the gate's marketing description, (c) what, if anything, a carried pointer may be represented as to advertisers, publishers, and regulators",
     "Substantiation adequacy \u2014 whether a document actually substantiates a claim, and whether a claim may lawfully run, is the publisher's/advertiser's call with their counsel, outside Adproof entirely; never claimed for v0.1.1 are 'substantiated', 'verified claim', 'compliant advertising', 'FTC-safe', 'legally cleared', or any implication that a gate PASS means a claim is true, supported, or lawful to publish; no tool reads, scores, or reviews a substantiation document's contents (no adequacy verb exists)",
     "F5 \u2014 RSA key generation uses the random module (Mersenne Twister), not a CSPRNG: acceptable only for fixture keys at local/fixture scope; any scope above fixture requires CSPRNG key generation and a re-bench, and no such scope is claimed",
     "Bench C2 notes F3/F4, left as documented notes at v0.1.1 \u2014 the key-argument blocklist is enumerative rather than an allowlist (inert: no code path consumes a key from a pointer, receipt, or tool argument; verification uses pinned public keys only), and the function layer tolerates extra/irrelevant fields (server schemas declare additionalProperties: false but server.handle does not enforce schemas; no malformed required field was accepted in any bench test)",
     "Production key custody \u2014 fixture keys are local-only in keys/ (gitignored, mode 600, never committed); a fresh clone generates its own fixture keys on first run to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering point only per claim bound ($0.05/claim shape), no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-adproof.md (Verity bench of v0.1.0 + spot re-bench of v0.1.1 closing C1/F2; builder suite re-run clean-state, decisive F-A10 and C1 probes reproduced independently in fresh processes, 28/29 adversarial verify battery with the 1 miss a bencher expectation error recorded in the bench, subject tree unmodified by the bench). Fix of record: wave2/fix-adproof.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-adproof-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-adproof-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-adproof-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-feeseal-mcp",
   "name": "Eclipse Feeseal",
   "tagline": "Fee-schedule sealing + fee-verification witness over fixture transactions \u2014 every fee charged is sealed against the published fee-schedule version in force; overcharges against that version are detected automatically. CERTIFIED(local, fixture transactions) \u2014 fixture schedules + fixture transactions only; no real fee is charged, audited, refunded, or adjusted by Feeseal.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Payments",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, verbatim) \u2014 every fee charged is sealed against the published fee-schedule version in force; overcharges against that version are detected automatically.",
    "Seal, recompute, compare \u2014 a schedule version is sealed (hash + marketplace signature + Herald signature) as presented; each fixture transaction is checked by deterministic arithmetic only (SPEC \u00a72.2: Fee = clamp( round_bps(base \u00d7 rate_bps / 10_000) + flat , min , cap ), integer minor units, one named rounding step) over the sealed in-force version, reporting MATCH, OVERCHARGE, or UNDERCHARGE with the signed variance to the minor unit. A schedule whose fee cannot be computed deterministically from its face is refused at seal time (SCHEDULE_NOT_DETERMINISTIC), never interpreted; gaps, overlaps, and version skips refuse as SCHEDULE_INTERVAL_BREAK / SCHEDULE_VERSION_SKIP.",
    "Offline verification (SPEC \u00a76.3) \u2014 a pure function of the sealed schedule chain + transaction + verdict export + pinned keys alone: schedule hashes and both signatures are recomputed and verified, the version in force at the transaction timestamp is identified (a relabelled schedule_version claim never governs \u2014 VERSION_CLAIM_MISMATCH is recorded on the verdict's face), and expected/charged/variance arithmetic must be exact. Any step failing names its step (FEESEAL_VERIFY_FAIL:<step>); unverifiable material exports only as UNVERIFIED_EXPORT, verified: false \u2014 downgrade law: no tool path upgrades it and no retro-seal path exists.",
    "Decisive fixture F-F9 \u2014 bench-reproduced: a batch spanning the v1 (250 bps) \u2192 v2 (300 bps) succession boundary recomputes exactly from the export + pinned keys in a fresh process, including OVERCHARGE +70 (charged 350 vs v1-prescribed 280); the same transaction relabelled as a v2 transaction still verifies against sealed in-force v1 and the OVERCHARGE +70 verdict stands; a sealed schedule copy edited to make 350 'correct' fails at step 1 (seal broken).",
    "Honest scope \u2014 LOCAL stdio, fixture schedules + fixture transactions ONLY: no live marketplace, payment, or ledger is touched, no real fee is charged, audited, refunded, or adjusted by Feeseal, and every emitted artifact carries value_class \"test\". Schedules are sealed as presented by the marketplace fixture, not published by Feeseal. Closed surface of exactly 8 tools (6 party + 2 operator, disjoint); no charge/refund/adjust/collect/pay/settle/publish/set/delete schedule verb exists on either surface. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a non-local endpoint or any schedule-fetch/scrape configuration, value_class other than 'test', or any payment/billing/ledger module in the tree. Signing is an HMAC fixture stand-in for Herald RS256 (disclosed)."
   ],
   "tools": [
    "feeseal_schedule_present",
    "feeseal_schedule_get",
    "feeseal_check",
    "feeseal_batch_check",
    "feeseal_verify",
    "feeseal_dispute_handoff",
    "feeseal_chain_list",
    "feeseal_anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.002/transaction, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering point only in v0.1.0, no charge path built): exactly one metering point per transaction reaching a signed verdict (MATCH / OVERCHARGE / UNDERCHARGE; a batch meters per transaction, not per batch); UNVERIFIABLE results, seal operations, and idempotent re-presentations emit no metering point; per-call charging waits a hosted endpoint. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-feeseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-feeseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture transactions)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture transactions) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-feeseal.md), clean bench, NO conditions: builder suite 29/29 re-run clean by bencher; decisive fixture F-F9 independently reproduced in fresh processes \u2014 batch spanning the v1 (250 bps) to v2 (300 bps) succession boundary recomputes exactly, including OVERCHARGE +70 (charged 350 vs v1-prescribed 280); relabelling the overcharged transaction as schedule_version 2 does not move the verdict (sealed in-force v1 governs, VERSION_CLAIM_MISMATCH on the verdict's face), and an edited sealed schedule copy fails at step 1 (FEESEAL_VERIFY_FAIL:step1_schedule_seal, UNVERIFIED_EXPORT). Bencher adversarial battery 33/33: forged signatures, presented-verdict substitution, schedule-swap, 21-call malformed-args battery, refusal-must-not-mutate, key custody, metering exactness, determinism \u2014 all pass. Scope is exactly: local stdio MCP, fixture schedules + fixture transactions only, value_class 'test' on all artifacts; no real fee is charged, audited, refunded, or adjusted by Feeseal and no live marketplace is touched; no counsel-gate (SPEC \u00a710) live phase built or claimed. Novel mechanism (SPEC \u00a72.1, verbatim): every fee charged is sealed against the published fee-schedule version in force; overcharges against that version are detected automatically. Advisory F-2/F-3 (non-blocking, do not limit scope): signing is an HMAC fixture stand-in for Herald RS256 (disclosed; live phase would need real Herald signing + re-bench); sealed effective_to is derived, never mutated; feeseal_verify step 4 does not independently anchor prev_hash (not exploitable without the Herald key; v0.2 hardening note).",
    "not_tested": [
     "Real fees, real marketplace schedules, or any live marketplace use \u2014 fixture schedules + fixture transactions only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: operating Feeseal live (sealing a real marketplace's schedule as evidence against it, publishing findings about a named live marketplace, enforcing or collecting on variances, or holding Feeseal out as an audit of a named live marketplace) is counsel-gated under the FinTech Law / marketplace packet, additionally implicating defamation/commercial-disparagement and contract-interference analysis counsel must scope before any live design exists",
     "Any real fee audited, charged, refunded, or adjusted \u2014 Feeseal detects and evidences variances against the sealed version only; it never charges, refunds, withholds, adjusts, or collects any amount and issues no instruction to do so; never claimed for v0.1.0 are 'fee audit', 'refund recovery', 'guaranteed accurate fees', 'certified fee schedule', any implication of live marketplace coverage or enforcement, or any finding about a real platform (SPEC \u00a711.3 strings are named here only as never claimed)",
     "Provenance beyond the seal \u2014 a verdict proves only that the charged fee does or does not equal the deterministic output of the sealed version as presented, for the stated inputs; it does not prove the presented schedule was the one actually published to the world, that transaction inputs are complete, or that any remedy is owed (SPEC \u00a711.4)",
     "Production signing \u2014 v0.1.0 signing is an HMAC fixture stand-in for Herald RS256 with local fixture keys (keys/ gitignored, mode 600, never committed); a live phase requires real Herald signing and a re-bench; a fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering point only per signed-verdict transaction ($0.002/transaction shape), no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-feeseal.md (Verity bench of v0.1.0, 2026-10-27; builder suite re-run clean-state 29/29, decisive F-F9 reproduced independently in both runs, bencher adversarial battery 33/33, scope audit confirming the \u00a710 counsel gate genuinely unbuilt; clean bench, no conditions, F-2/F-3 advisory only). No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-feeseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-feeseal-mcp/versions/0.1.0",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-feeseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-trueprice-mcp",
   "name": "Eclipse Trueprice",
   "tagline": "Quote-sealing + checkout drift witness over fixture quote/checkout pairs \u2014 quote + full terms are hash-sealed at quote time; checkout drift of any term produces a drift receipt in a Docket-grade evidence pack format. CERTIFIED(local, fixture quote/checkout pairs) \u2014 fixture pairs only; no real quote or checkout is sealed or judged, and Trueprice never blocks or alters a checkout.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Payments",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, with the \u00a711.2 substitution applied) \u2014 quote + full terms are hash-sealed at quote time; checkout drift of any term produces a drift receipt in a Docket-grade evidence pack format. (Spec \u00a711.2 fence: admissibility is a court's decision; Trueprice warrants the pack's recomputability, not its admission.)",
    "Seal at quote time + term-by-term diff \u2014 seal_hash = sha256(canonical(terms)) over the full terms object (price, fees, taxes as stated, quantity, unit, delivery terms, subscription/renewal terms, expiry), each field also hashed individually (term_hashes) so drift is located, not just detected; there is no price-only mode. Verification recomputes each sealed term's per-term hash from the presented checkout and returns MATCH, or on any mismatch a signed drift receipt naming each drifted term with its sealed vs presented per-term hashes (hashes only, except unit_price/total_all_in amounts when those terms drift, SPEC \u00a76.3). Verdicts: MATCH \u00b7 DRIFT \u00b7 EXPIRED_QUOTE \u00b7 SEAL_NOT_FOUND. A quote never sealed at quote time can receive only an unsigned UNSEALED_SUMMARY, which the offline verifier rejects \u2014 downgrade law: unverifiable exports downgrade to UNWITNESSED_EXPORT, never upgraded.",
    "Offline verification (SPEC \u00a76.4) \u2014 a pure function of the seal pack + pinned keys alone: seal_hash and every term_hash recomputed from the pack's terms, Herald signature and caller counter-signature verified (absence must match the seal's face label), record chain walked gapless, drifted_terms + verdict re-derived per verification record including the EXPIRED re-check, value_class 'test' required throughout; any step failing names its step (TRUEPRICE_VERIFY_FAIL:<step>). Stored paths enforce the same discipline (delta re-bench C1/C2 closures): stored-chain integrity verifies the counter-signature before any checkout_verify (tamper \u2192 SEAL_DEFECT, no verdict), and drift_receipt_get recomputes receipt hash + verifies signature before serving (tamper \u2192 RECEIPT_UNVERIFIED, receipt never served).",
    "Decisive fixture F-T8 \u2014 bench-reproduced at v0.1.0 and as a delta regression probe at v0.1.1: quote sealed at fixture time T=2026-10-27T01:00:00Z; checkout drifting in exactly 3 named terms (unit_price, one fee in fees_as_stated, renewal price in subscription_terms) verified DRIFT; pack exported and re-verified in a fresh verifier-only subprocess from pack + pinned key file alone (fresh data dir): verified true, seal hash reproduced, seal ts == T, drift re-derived as exactly {unit_price, fees_as_stated, subscription_terms, total_all_in} (the 3 named terms + consequential total), verdict DRIFT identical.",
    "Honest scope \u2014 LOCAL stdio, fixture quote/checkout pairs ONLY: no live storefront, cart, payment page, price feed, or merchant system is touched, no real quote or checkout is sealed or judged, and every emitted artifact carries value_class \"test\". Trueprice never blocks a checkout, alters a price, contacts a merchant, or executes/refunds any payment. Closed surface of exactly 7 tools (5 caller + 2 operator, disjoint); no retrospective-seal, seal-edit, verification-delete, checkout-block/alter, merchant-contact, or unsealed-quote-receipt verb exists on either surface. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a merchant/storefront endpoint or network-client config, a caller-supplied-timestamp mode flag, or value_class other than 'test'. Signing is an HMAC fixture stand-in for Herald RS256 (disclosed on every record's face); scope stays local/fixture until signing is real Herald RS256 and v0.1.x verification is NOT public-key verification \u2014 the pinned key file holds a shared HMAC secret, not a public key (condition C3)."
   ],
   "tools": [
    "quote_seal",
    "checkout_verify",
    "seal_status",
    "drift_receipt_get",
    "seal_verify",
    "seal_pack_export",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.02/quote, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79.1 (metering point only in v0.1.1, no charge path built): exactly one Meter record per completed quote_seal \u2014 the quote is the priced unit; verifications, drift receipts, status, and exports emit no metering record (a drift finding is never a chargeable event); idempotent re-seal of an identical (quote_ref, terms hash) returns the recorded seal with no double metering; per-call charging waits a hosted endpoint. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-trueprice-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-trueprice-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture quote/checkout pairs)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture quote/checkout pairs) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-trueprice.md) PASS-CONDITIONAL(local, fixture quote/checkout pairs) with conditions C1\u2013C4, plus delta re-bench of v0.1.1 in the same record: C1, C2, C4 CLOSED at scope and C3 satisfied as scope wording (C3 persists as a scope limit, not a defect). Builder suite 35/35 at v0.1.0 and 44/44 at v0.1.1 (35 prior + 9 new TestBenchFixes011) re-run clean-state by bencher both times; decisive fixture F-T8 independently reproduced in fresh processes at both benches \u2014 quote sealed at T=2026-10-27T01:00:00Z, checkout drifting in exactly 3 named terms verified DRIFT, pack re-verified in a verifier-only subprocess from pack + pinned keys alone with drift re-derived exactly {unit_price, fees_as_stated, subscription_terms, total_all_in}. Delta re-bench independent probes 11/11 PASS with fresh bench-generated keys: stored counter-signature stripped/forged/absent-label-injected all SEAL_DEFECT with no verdict, intact MATCH; tampered stored receipt RECEIPT_UNVERIFIED and never served (idempotent re-verify also withholds it), intact served; DRIFT pack with drift_receipts dropped fails at step drift_receipt; key material nested 4 deep rejected key_material_in_pack; quote_ref drift fixture DRIFT ['quote_ref'] exactly. Scope is exactly: local stdio MCP, fixture quote/checkout pairs only, value_class 'test' on all artifacts; no live storefront, cart, payment page, price feed, or merchant system is touched, no real quote or checkout is sealed or judged, and Trueprice never blocks or alters a checkout; no counsel-gate (SPEC \u00a710) live phase built or claimed. Novel mechanism (SPEC \u00a72.1, with the \u00a711.2 substitution applied): quote + full terms are hash-sealed at quote time; checkout drift of any term produces a drift receipt in a Docket-grade evidence pack format \u2014 admissibility is a court's decision; Trueprice warrants the pack's recomputability, not its admission. C3 scope limit (standing): scope stays local/fixture until signing is real Herald RS256; v0.1.x verification is NOT public-key verification \u2014 the pinned key file holds a shared HMAC secret, not a public key, and any holder of it can forge seals; no RS256 / public-key / third-party-verifiability claim is licensed.",
    "not_tested": [
     "Real quotes, real checkouts, or any live merchant use \u2014 fixture quote/checkout pairs only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: (a) sealing real quotes / verifying real checkouts against live merchants, (b) evidence-law wording in any live listing, pack, or sales material (fenced per SPEC \u00a711.2 until counsel clears it), (c) any integration that blocks or alters a live checkout on a DRIFT verdict, (d) retention/handling of real consumers' quote data \u2014 each requires counsel clearance, a scope edit in code, and a Verity re-bench at the new scope",
     "Any checkout blocked, price altered, merchant contacted, or payment executed/refunded \u2014 Trueprice is evidence-only: a DRIFT verdict is information for the caller and evidence for a later dispute, nothing more; never claimed for v0.1.1 are price accuracy, best-price, merchant endorsement/partnership, live monitoring of any store, that a MATCH means the price was fair, or 'prevents price fraud' (SPEC \u00a711.3 strings are named here only as never claimed); no wording implies a verdict can be bought or a drift finding suppressed (SPEC \u00a711.4 \u2014 metering attaches to the seal, identical regardless of later verdicts)",
     "Production signing / public-key verification \u2014 v0.1.1 signing is a fixture HMAC stand-in for Herald RS256 (local fixture keys, keys/ gitignored, mode 600, never committed); scope stays local/fixture until signing is real Herald RS256, and v0.1.x verification is NOT public-key verification: the pinned key file holds a shared HMAC secret, not a public key (condition C3, standing scope limit); a fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering point only per completed quote_seal ($0.02/quote shape), no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-trueprice.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL C1\u2013C4; builder suite re-run clean 35/35, F-T8 reproduced independently, adversarial pass incl. pack counter-signature/forgery/substitution, stored-record tamper, \u00a75.3 refusals, malformed-args battery, fuzz, key custody) + delta re-bench of v0.1.1 in the same record (suite 44/44, independent probes 11/11, F-T8 regression probe rc=0; C1/C2/C4 CLOSED, C3 scope wording verified on README + server.json surfaces). Fix record: argus101-program-20261027/wave2/fix-trueprice.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-trueprice-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-trueprice-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-trueprice-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-kitseal-mcp",
   "name": "Eclipse Kitseal",
   "tagline": "Continuous loadout sealing for agents over fixture loadouts \u2014 an operator-declared fixture configuration is genesis-sealed and every change streams as a hash-chained signed delta receipt; the current config is a recompute, never a stored claim. CERTIFIED(local, fixture loadouts) \u2014 fixture loadouts only; no real agent is sealed or streamed, and a seal attests presentation, sequence, and hashes \u2014 not runtime state.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Governance",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, verbatim) \u2014 an agent's full tool/permission configuration is sealed and streamed; every change emits a delta receipt to subscribers (employers, insurers, auditors). Mandatory gloss (SPEC \u00a711.3): sealed = an operator declared this configuration, in this order, at these times \u2014 recompute it yourself.",
    "Genesis seal + hash-chained delta stream \u2014 the full configuration is canonicalised, hashed, and sealed at config_seq 0, signed by the operator and counter-signed by Kitseal; every change is a delta record citing the exact head config_hash it applies to and the resulting config_hash, chained on dual spines (prev_hash record spine + base\u2192result config spine). A delta citing anything but the current head is refused (DELTA_BASE_MISMATCH); the chain is append-only and fork-refusing, retirement is itself a delta, and sealed records are never edited or deleted. Every delta receipt carries the attestation verbatim: 'operator-declared configuration change; Kitseal attests presentation, sequence, and hashes \u2014 not runtime state.'",
    "Offline recompute (SPEC \u00a76.4) \u2014 a subscriber holding only the exported pack + pinned fixture keys recomputes the current configuration in a fresh process without asking Kitseal anything: config hashes, record hashes, both spines, the op digest, and both signatures (operator + Kitseal counter-signature) are recomputed against keys pinned out-of-band, never keys presented inside a record. A withheld receipt is detectable by sequence gap: the recompute stops at KITSEAL_VERIFY_FAIL:gap@<seq>, asserts no current configuration, and the export is labelled STALE_OR_PARTIAL. Verify-before-serve (v0.1.1, delta-bench C1/C2 closures): loadout_status, feed_read, and the pack face run the full chain verification over the records they serve before asserting any head hash, state, receipt, or chain_complete_through, and receipt_verify walks the presented chain from genesis to the receipt's record \u2014 an isolated record without chain context does not verify.",
    "Decisive fixture F-K11 \u2014 bench-reproduced at v0.1.0 and as a delta regression at v0.1.1, both branches PASS in fresh subprocesses (pack + pinned key file only): genesis + 6 deltas recompute verified:true with config_hash == the reported head hash @ seq 6 (final tools [tool-alpha, tool-beta, tool-delta], the unset setting gone); with seq-3 withheld the recompute fails KITSEAL_VERIFY_FAIL:gap@3, current_config:null, verified_through:2, export labelled STALE_OR_PARTIAL \u2014 no current config asserted.",
    "Honest scope \u2014 LOCAL stdio, fixture loadouts ONLY: configurations are operator-supplied fixture data, no real agent is sealed or streamed, Kitseal connects to no runtime, captures no configuration from any system, grants/revokes no permission, and is not a config-management tool, runtime monitor, or policy engine. Closed surface of exactly 9 dispatch entries (5 operator + 4 subscriber, disjoint; loadout_pack_export appears on both surfaces); no verb edits or deletes a sealed record, re-bases a delta onto a non-head hash, asserts a current configuration without recompute, captures a config from a runtime, or suppresses a delta from a subscriber feed. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a non-local endpoint, a config source other than operator presentation, a runtime credential, or value_class other than 'test'. Signing is an HMAC-SHA256 fixture stand-in for the Herald pattern (bench observation F4); symmetric fixture keys mean the operator/Kitseal key holder set is a local trust domain, consistent with (local) scope."
   ],
   "tools": [
    "loadout_seal_genesis",
    "loadout_apply_delta",
    "loadout_status",
    "subscription_add",
    "loadout_pack_export",
    "feed_read",
    "current_config_recompute",
    "receipt_verify"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $49/mo, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering points only in v0.1.1, no charge path built): metering records at exactly genesis_sealed (per loadout), delta_receipted (per chained delta), subscription_period (per loadout-subscriber-period \u2014 the unit the $49/mo shape names), and pack_exported (per pack); no subscription billing and no per-delta billing is built; charging waits a separately gated pricing stage. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-kitseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-kitseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture loadouts)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture loadouts) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-kitseal.md) PASS-CONDITIONAL(local) with conditions C1\u2013C2, plus delta re-bench of v0.1.1 in the same record: C1 CLOSED, C2 CLOSED at scope (local) \u2014 the v0.1.0 carve-out is LIFTED and no new findings were raised. Builder suite 34/34 at v0.1.0 and 40/40 at v0.1.1 (34 prior + 6 new TestReadPathVerifyC1C2) re-run clean-state by the bencher both times; decisive fixture F-K11 independently re-run in a fresh subprocess (pack + pinned key file only) at both benches, both branches PASS \u2014 verified:true, recomputed config_hash == loadout_status head hash 6ff16dd3\u2026b7c6c @ seq 6, final tools [tool-alpha, tool-beta, tool-delta]; seq-3 withheld \u2192 KITSEAL_VERIFY_FAIL:gap@3, current_config:null, verified_through:2, export labelled STALE_OR_PARTIAL. Delta probes: tampered store (head result_config_hash set to deadbeef\u2026 + delta-1 Kitseal signature zeroed) \u2192 loadout_status, feed_read and the pack face all fail closed KITSEAL_VERIFY_FAIL:signature@1, state UNVERIFIED, no head hash asserted, no feed items served; deleted seq-3 record \u2192 gap@3 explicit (gaps:[3], gap_at:3), chain_complete_through=2 (verified prefix only); receipt_verify: isolated genuine seq-4 receipt \u2192 verified:false at genesis@0, gapped prefix \u2192 gap@2, tampered predecessor \u2192 signature@2, full chain \u2192 verified:true. Scope is exactly: local stdio MCP, fixture loadouts only, operator-declared fixture configurations, value_class 'test' throughout \u2014 now including loadout_status, feed_read, and pack-face head/state fields, which verify-before-serve; no real agent is sealed or streamed, Kitseal connects to no runtime, and no configuration is captured from any system; no counsel-gate (SPEC \u00a710) live phase built or claimed. Novel mechanism (SPEC \u00a72.1, verbatim): an agent's full tool/permission configuration is sealed and streamed; every change emits a delta receipt to subscribers (employers, insurers, auditors). Mandatory gloss (SPEC \u00a711.3): sealed = an operator declared this configuration, in this order, at these times \u2014 recompute it yourself. Observation F4 (standing): signing is an HMAC-SHA256 fixture stand-in for the Herald pattern; symmetric fixture keys mean the operator/Kitseal key holder set is a local trust domain \u2014 consistent with (local) scope, to be revisited at any post-counsel gate.",
    "not_tested": [
     "Real agents, real subscribers, or any live use \u2014 fixture loadouts only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: seals presented as compliance/insurance evidence for real agents (reliance language, misrepresentation exposure when an operator seals a configuration the agent does not run, employee-monitoring / workplace-surveillance rules, trade-secret handling of sealed configs, and the runtime-attested capture integration as a separate later clearance) \u2014 each requires counsel clearance, a scope edit in code, and a Verity re-bench at the new scope",
     "Any runtime state \u2014 Kitseal seals what it is given: a seal binds the operator's declaration (presentation, sequence, hashes) and is never evidence that an agent runs the sealed configuration; never claimed for v0.1.1 are 'verified configuration', 'attested loadout', 'the agent's actual tools', 'compliance-ready', or any implication that a seal describes running state (SPEC \u00a711.3 strings are named here only as never claimed); every displayed configuration carries its config_seq + config_hash per SPEC \u00a711.4",
     "Production signing \u2014 v0.1.1 signing is an HMAC-SHA256 fixture stand-in for the Herald pattern (local fixture keys, keys/ gitignored, mode 600, never committed); symmetric fixture keys mean the operator/Kitseal key holder set is a local trust domain (bench observation F4), to be revisited at any post-counsel gate; a fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering records only per SPEC \u00a79.1 (genesis_sealed, delta_receipted, subscription_period, pack_exported), the $49/mo shape is a book reference with no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-kitseal.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL(local) C1\u2013C2; builder suite re-run clean 34/34, F-K11 reproduced independently both branches, adversarial pass incl. attacker-key-in-record, stored-digest lies caught at named steps, dual-spine fork attempts, signature-strip, malformed-args battery, refusal-must-not-mutate (10/10), 60-call fuzz, key custody, read-path probe F1 + receipt chain-context probe F2) + delta re-bench of v0.1.1 in the same record (suite 40/40 clean-state, independent tampered-store/gap/receipt probes, F-K11 regression both branches PASS; C1/C2 CLOSED, carve-out lifted). Fix record: argus101-program-20261027/wave2/fix-kitseal.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-kitseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-kitseal-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-kitseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-shelfprice-mcp",
   "name": "Eclipse Shelfprice",
   "tagline": "Listing view-to-checkout drift witness over fixture listing/checkout pairs \u2014 the price + full view terms are hash-sealed at view time; checkout drift of any term produces a signed drift receipt recomputable from the buyer-held pack. CERTIFIED(local, fixture listing/checkout pairs) \u2014 fixture pairs only; no live marketplace is touched, and Shelfprice never blocks or alters a checkout.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Agent Commerce / Procurement",
    "Trust & Receipts"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, with the \u00a711.2 substitution applied) \u2014 the price + terms an agent saw are sealed at view time, so view-to-checkout drift is recomputable from the buyer-held pack by the buyer. (Spec \u00a711.2 fence: in v0.1 surfaces the product claims only drift \u2014 'the checkout differed from the sealed view in these named terms'; drift proves difference, not intent, and admissibility is never claimed.)",
    "Seal at view time + term-by-term diff \u2014 seal_hash = sha256(canonical(view_terms_object)) over the full \u00a74.1 view terms object (price, fees, shipping, taxes as stated, quantity/availability terms, returns terms, subscription terms, and the listing version itself), each field also hashed individually (term_hashes) so drift is located, not just detected; there is no price-only mode \u2014 a checkout matching the headline price but drifting any other sealed term is DRIFT. Verification recomputes each sealed term's per-term hash from the presented checkout and returns MATCH, or on any mismatch a signed drift receipt naming each drifted term with its sealed vs presented per-term hashes (hashes only, except unit_price/total_all_in/shipping_as_stated amounts when those terms drift, SPEC \u00a76.3). Verdicts: MATCH \u00b7 DRIFT \u00b7 LISTING_SUPERSEDED \u00b7 EXPIRED_VIEW \u00b7 SEAL_NOT_FOUND. A listing view never presented at view time can never be sealed retrospectively \u2014 a reconstructed view receives only an unsigned UNSEALED_SUMMARY, which the verifier rejects; downgrade law: unverifiable packs downgrade whole to UNWITNESSED_EXPORT, never upgraded.",
    "Offline verification (SPEC \u00a76.4) \u2014 a pure function of the buyer-held pack + pinned fixture keys alone: seal_hash and every term_hash recomputed from the pack's view terms, Herald signature and buyer counter-signature verified against keys pinned out-of-band (never keys carried inside the pack; counter-signature presence/absence must match the seal's face label), record chain walked gapless, drifted_terms + verdict re-derived per verification record including the expiry and superseded-version conditions, value_class 'test' required throughout; any step failing downgrades the whole pack with no partial verdict. Stored paths enforce the same discipline (v0.1.1, delta-bench C1\u2013C3 closures): checkout_verify (fresh + idempotent), view_seal's idempotent return, seal_status, and drift_receipt_get recompute stored seal hashes/term hashes and verify record hashes, Herald signatures, counter-signatures, and receipt hashes before issuing any verdict or serving any stored record \u2014 any mismatch is a SEAL_DEFECT refusal, no verdict issued, no record appended, nothing tampered served.",
    "Decisive fixture F-SP8 \u2014 bench-reproduced at v0.1.0 and as a delta regression at v0.1.1: listing view sealed at fixture T=2026-10-27T01:00:00Z (listing v3); checkout drifting in exactly 3 named terms (unit_price, one fee in fees_as_stated, returns_terms_hash); pack exported to a buyer-side holder only and re-verified in a fresh verifier-only subprocess from pack + pinned fixture keys alone (fresh empty data dir): verified True, seal ts == T, version bound = 3, drift re-derived as exactly [unit_price, fees_as_stated, total_all_in, returns_terms_hash] (the 3 named terms + consequential total), and the fresh process wrote no state files.",
    "Honest scope \u2014 LOCAL stdio, fixture listing/checkout pairs ONLY: no live marketplace, listing page, storefront, cart, or seller system is touched, scraped, or judged, no real listing or checkout is sealed or judged, and every emitted artifact carries value_class 'test'. Shelfprice never blocks a checkout, alters a price, contacts a seller or marketplace, or executes or refunds any payment. Closed surface of exactly 7 tools (5 caller + 2 operator, disjoint); no retrospective-seal, seal-edit, verification-delete, checkout-block/alter, seller/marketplace-contact, scrape, or unsealed-view-receipt verb exists on either surface. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a marketplace/listing endpoint or scraping or network-client config, a caller-supplied-witness-timestamp mode flag, or value_class other than 'test'. Signing is an HMAC-SHA256 fixture stand-in for the Herald pattern (disclosed on every record's face); C4 (standing scope condition): scope stays local/fixture until signing is real Herald RS256; no surface may describe v0.1 verification as public-key verification \u2014 'pinned fixture keys' wording only. Verification uses pinned fixture keys only (fixture HMAC stand-in; not public-key verification); the pinned key file holds a shared HMAC secret, not a public key, any holder can forge seals, and no public-key or third-party verifiability is claimed."
   ],
   "tools": [
    "view_seal",
    "checkout_verify",
    "seal_status",
    "drift_receipt_get",
    "seal_verify",
    "seal_pack_export",
    "anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $0.001/seal or $99/mo, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering point only in v0.1.1, no charge path built): exactly one Meter record per completed view_seal \u2014 the seal is the priced unit; verifications, drift receipts, status, and exports emit no metering record (a drift finding is never a chargeable event); idempotent re-seal returns the recorded seal with no double metering; the $99/mo shape is a subscription pattern reference only, with no subscription enforcement built. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-shelfprice-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-shelfprice-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture listing/checkout pairs)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture listing/checkout pairs) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-shelfprice.md) PASS-CONDITIONAL(local, fixture listing/checkout pairs) with conditions C1\u2013C4 and a stored-path carve-out, plus delta re-bench of v0.1.1 in the same record (stored paths only): C1 CLOSED, C2 CLOSED, C3 CLOSED at scope \u2014 the carve-out is LIFTED and no new findings were raised. Builder suite 33/33 at v0.1.0 and 43/43 at v0.1.1 (33 prior + 10 new TestStoredPathIntegrity) re-run clean-state by the bencher both times; decisive fixture F-SP8 independently reproduced in a fresh process at both benches \u2014 seal at fixture T=2026-10-27T01:00:00Z (listing v3), checkout drifting exactly price + one fee + returns terms, pack re-verified in a verifier-only subprocess from pack + pinned fixture keys alone (fresh empty data dir, no state files written): verified True, verdict DRIFT re-derived, drifted exactly [unit_price, fees_as_stated, total_all_in, returns_terms_hash]. Delta probes 26/26 PASS: stored term_hashes rewritten to the drifted checkout's hashes and Herald signature zeroed both meet SEAL_DEFECT with no verdict issued and no record appended (the DRIFT-to-signed-MATCH laundering is dead); tampered stored verdict, backdated stored seal, forged seal_hash/2030 expiry, and tampered drift receipt all refuse SEAL_DEFECT and are never served, while intact controls serve normally on every path. Scope is exactly: local stdio MCP, fixture listing/checkout pairs only, value_class 'test' throughout \u2014 now including the online stored-read paths (checkout_verify fresh + idempotent, view_seal idempotent return, seal_status, drift_receipt_get), which recompute and signature-verify stored seals, verdicts, and receipts before serving; no live marketplace, listing page, storefront, cart, or seller system is touched, scraped, or judged, and Shelfprice never blocks or alters a checkout; no counsel-gate (SPEC \u00a710) live phase built or claimed. Novel mechanism (SPEC \u00a72.1, with the \u00a711.2 substitution applied): the price + terms an agent saw are sealed at view time, so view-to-checkout drift is recomputable from the buyer-held pack by the buyer. Accepted limitation F6 (on the face of the bench): a pack truncated to a prefix of the record chain verifies over the presented records only \u2014 the format has no completeness anchor; nothing presented can be forged or upgraded. C4 (standing scope condition): scope stays local/fixture until signing is real Herald RS256; no surface may describe v0.1 verification as public-key verification \u2014 'pinned fixture keys' wording only. Verification uses pinned fixture keys only (fixture HMAC stand-in; not public-key verification); the pinned key file holds a shared HMAC secret, not a public key, any holder can forge seals, and no public-key or third-party verifiability is claimed.",
    "not_tested": [
     "Real listings, real checkouts, or any live marketplace use \u2014 fixture listing/checkout pairs only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: (a) sealing real listing views / verifying real checkouts on live marketplaces (integration, scraping, and platform-terms review), (b) any characterization language beyond 'drift' in a live listing, pack, or sales material, (c) any integration that blocks or alters a live checkout on a DRIFT verdict, (d) retention/handling of real buyers' view/checkout data (privacy review), (e) any claim that a drift receipt is admissible or binding \u2014 each requires counsel clearance, a scope edit in code, and a Verity re-bench at the new scope",
     "Any checkout blocked or altered, price altered, seller or marketplace contacted, or payment executed or refunded \u2014 Shelfprice is evidence-only: a DRIFT verdict is information for the buyer and evidence for a later dispute, nothing more; drift proves difference, not intent. Never claimed for v0.1.1 are price accuracy, best-price, seller/marketplace endorsement or partnership, live monitoring of any marketplace, or that a MATCH means the price was fair (SPEC \u00a711.3 strings are named here only as never claimed); a MATCH means only that the presented checkout matched the sealed view in every term; no wording implies a verdict can be bought or a drift finding suppressed (SPEC \u00a711.4 \u2014 metering attaches to the seal, identical regardless of later verdicts)",
     "Production signing / public-key verification \u2014 v0.1.1 signing is an HMAC-SHA256 fixture stand-in for the Herald pattern (local fixture keys, keys/ gitignored, mode 600, never committed; signer face: herald-fixture (fixture HMAC stand-in)); C4 (standing scope condition): scope stays local/fixture until signing is real Herald RS256; no surface may describe v0.1 verification as public-key verification \u2014 'pinned fixture keys' wording only. Verification uses pinned fixture keys only (fixture HMAC stand-in; not public-key verification); the pinned key file holds a shared HMAC secret, not a public key, any holder can forge seals, and no public-key or third-party verifiability is claimed. A fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering point only per SPEC \u00a79.1 (exactly one Meter record per completed view_seal; verifications, drift receipts, status, and exports never meter), the $0.001/seal or $99/mo shape is a book reference with no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-shelfprice.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL(local, fixture listing/checkout pairs) C1\u2013C4 with stored-path carve-out; builder suite re-run clean 33/33, also under a socket-denied harness, F-SP8 reproduced independently in a fresh process, pack-path adversarial 19/19 tampers downgraded to UNWITNESSED_EXPORT, stored-path tampers F1\u2013F5 documented, \u00a75.3 refusals, malformed-args battery, 120-op fuzz, surface disjointness, Trueprice cross-verification excluded both ways) + delta re-bench of v0.1.1 in the same record (suite 43/43 clean-state, bencher's own tampered-store probes 26/26, F-SP8 regression PASS, C4 wording audit PASS on README + server.json + source surfaces; C1\u2013C3 CLOSED, carve-out lifted). Fix record: argus101-program-20261027/wave2/fix-shelfprice.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-shelfprice-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-shelfprice-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-shelfprice-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-skillseal-mcp",
   "name": "Eclipse Skillseal",
   "tagline": "Machine-checkable skill claims over fixture claims + fixture verdict receipts \u2014 a claim is a pointer to a bench-verdict receipt; no verifiable receipt renders UNVERIFIED in the standard format. CERTIFIED(local, fixture claims + fixture verdict receipts) \u2014 fixture claims + fixture receipts only; Skillseal benches nothing, certifies no skill, and issues no verdicts.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Trust & Receipts",
    "Identity & Attestation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, verbatim) \u2014 a skill claim is a pointer to a bench-verdict receipt; a claim with no receipt renders as UNVERIFIED in a standard format counterparties and routers can filter on. The claim is a pointer, not a proof by assertion: a claim carries no grade, score, or verdict of its own (a claim carrying one is malformed and refused), and every verdict string in a rendering is copied mechanically from the receipt's face at verification time.",
    "Verification recomputes everything from the presented artifacts + pinned keys alone \u2014 claim hash + publisher fixture signature; receipt hash recomputed and required to equal the claim's pointer; receipt bench signature verified against the bench key pinned out-of-band by receipt format (never a key taken from, or selected by, the record); subject, skill ref, scope (token-set containment over the pinned fixture vocabulary), pass-class verdict (pinned: PASS only), expiry, and revocation re-derived from the receipt's face; render hash recomputed and the Herald counter-signature verified. Two fixture receipt formats are consumed (benchkit-scorecard and assay-service-receipt) with identical rendered shape. Any parseable-but-failing receipt renders UNVERIFIED with a machine-readable reason (NO_RECEIPT, RECEIPT_HASH_MISMATCH, RECEIPT_SIGNATURE_INVALID, RECEIPT_SUBJECT_MISMATCH, RECEIPT_SKILL_MISMATCH, RECEIPT_SCOPE_NARROWER, RECEIPT_NON_PASS, RECEIPT_EXPIRED, RECEIPT_REVOKED, WITHDRAWN); unparseable artifacts and malformed claims refuse. Downgrade law: any export that cannot be recompute-verified is labelled UNVERIFIED_EXPORT on its face, with no path back to a VERIFIED rendering over the same export. Re-verifying identical material is idempotent (identical render_hash, no second metering point).",
    "Stored-read verification (v0.1.1, delta-bench C1 closure) \u2014 skillseal_claim_get and skillseal_claim_list verify before serving: claim hash + publisher signature, the hash-chained record stream link by link, stored receipt hashes + pinned bench signatures, and the latest rendering's Herald signature + claim binding + receipt-face binding are all recomputed; on any failure claim_get serves only the downgraded form (verified:false, export_label UNVERIFIED_EXPORT, render_status UNVERIFIED, named step_failed, no stored claim/receipt/rendering values) and claim_list computes status and filter fields from verified state only (failed entries list as UNVERIFIED with agent_ref/skill_ref withheld and a downgraded marker, and never match a VERIFIED or skill filter they cannot authenticate).",
    "Decisive fixture F-S9 \u2014 bench-reproduced at v0.1.0 and as a delta regression at v0.1.1: a three-claim fixture set authored by parties other than Skillseal (claim A pointing to a valid pass receipt for A, claim B pointing to nothing, claim C pointing to A's receipt) verified in a fresh process, socket-denied, from the artifacts + pinned keys alone renders exactly VERIFIED / UNVERIFIED (NO_RECEIPT) / UNVERIFIED (RECEIPT_SUBJECT_MISMATCH), all in the identical standard format with render_status as the sole filter field; offline verify_export on A verifies (verified=True, VERIFIED_EXPORT).",
    "Honest scope \u2014 LOCAL stdio, fixture claims + fixture verdict receipts ONLY: no live marketplace, router, registry, or bench system is read, polled, or written, and every emitted artifact carries value_class 'test'. Skillseal benches nothing, certifies no skill, and issues no verdicts. Closed surface of exactly 7 tools (5 caller + 2 operator, disjoint); no verb benches or scores a skill, issues or alters a verdict receipt, edits a claim's receipt_ref, renders a claim verified without a verification run, removes an UNVERIFIED rendering, or fetches a live receipt. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a non-local endpoint, value_class other than 'test', or any bench-execution/scoring/receipt-issuance/live-ingest module in the tree. Signing is a fixture HMAC-SHA256 stand-in for the Herald / bench signature patterns, disclosed in README + code; verification uses pinned fixture keys only (not public-key verification); the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed."
   ],
   "tools": [
    "skillseal_claim_publish",
    "skillseal_verify",
    "skillseal_render",
    "skillseal_claim_get",
    "skillseal_claim_withdraw",
    "skillseal_claim_list",
    "skillseal_anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 FREE publication + $0.02/verification, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering points only in v0.1.1, no charge path built): exactly one Meter record per completed skillseal_verify run that produces a rendered record \u2014 the verification run is the priced unit; refusals, cache re-renders (skillseal_render), and idempotent re-verifications emit no metering point, and VERIFIED and UNVERIFIED outcomes meter identically (pay-for-verification-never-outcome). No price attaches to any bench verdict or receipt itself. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-skillseal-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-skillseal-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture claims + fixture verdict receipts)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture claims + fixture verdict receipts) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-skillseal.md) PASS-CONDITIONAL(local, fixture claims + fixture verdict receipts) with sole condition C1 (F1, stored-read assertion bypass), plus delta re-bench of v0.1.1 in the same record (stored-read paths only): C1 CLOSED at scope (local, fixture claims + fixture verdict receipts) \u2014 no new findings. Builder suite 42/42 at v0.1.0 and 48/48 at v0.1.1 (42 prior + 6 new TestStoredReadVerification C1 regressions) re-run clean-state by the bencher both times; decisive fixture F-S9 independently reproduced in a fresh process, socket-denied, at both benches \u2014 claim A (valid pointer) VERIFIED, claim B (no pointer) UNVERIFIED/NO_RECEIPT, claim C (pointer to A's receipt) UNVERIFIED/RECEIPT_SUBJECT_MISMATCH, identical rendered-record key shape with render_status the sole filter field, offline verify_export on A verified=True/VERIFIED_EXPORT. Delta probes 6/6 PASS: forged latest_rendered, tampered claim_record, tampered stored receipt, list-filter forgery, and cross-claim transplant of a genuine Herald-signed rendering all downgrade to the UNVERIFIED_EXPORT form only (no stored claim/receipt/rendering values served, forged strings absent), while intact controls serve VERIFIED normally. Scope is exactly: local stdio MCP, fixture claims + fixture verdict receipts only, value_class 'test' throughout \u2014 now including the stored-read paths (skillseal_claim_get, skillseal_claim_list), which recompute claim hash + publisher signature, the hash-chained record stream, stored receipt hashes + pinned bench signatures, and the latest rendering's Herald signature + receipt-face binding before serving anything; no live marketplace, router, registry, or bench system is read, polled, or written, and no counsel-gate (SPEC \u00a710) live phase is built or claimed. Novel mechanism (SPEC \u00a72.1, verbatim): a skill claim is a pointer to a bench-verdict receipt; a claim with no receipt renders as UNVERIFIED in a standard format counterparties and routers can filter on. Non-blocking bench observations F2 (receipt validation does not reject unknown extra fields \u2014 hash-covered, pinned bench signature still required) and F3 (genuine WITHDRAWN exports verify as VERIFIED_EXPORT with render_status UNVERIFIED via a dedicated verify_export branch that can only ever assert UNVERIFIED) remain open observations, untouched. Skillseal benches nothing, certifies no skill, and issues no verdicts.",
    "not_tested": [
     "Live receipt ingestion, live routers/marketplaces, or any real agent, skill, or bench outcome \u2014 fixture claims + fixture verdict receipts only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: ingesting receipts from a live bench pipeline, serving renderings to live routers or marketplaces, or any public claim that a named third party's skills are verified \u2014 each is a separate, counsel-cleared, re-benched build reviewed under the house claim/counsel review for marketplace-facing trust claims",
     "Any benching, scoring, or verdict issuance by Skillseal itself \u2014 Skillseal benches nothing, certifies no skill, and issues no verdicts (SPEC \u00a711.2); it defines the claim pointer, the render rule, and the verification procedure only, and consumes verdict receipts as artifacts owned by the house bench ecosystem. The SPEC \u00a711.4 forbidden claim strings are never claimed for v0.1.1 (they are listed in SPEC \u00a711.4 only and are not reproduced on this surface); UNVERIFIED means only that no verifiable receipt was presented \u2014 it is never a negative finding about an agent (SPEC \u00a711.3) \u2014 and a VERIFIED rendering is never presented detached from the receipt's own verdict + scope strings; no wording implies a verdict can be bought (SPEC \u00a79.2: no price attaches to any bench verdict or receipt itself)",
     "Production signing / public-key verification \u2014 v0.1.1 signing is a fixture HMAC-SHA256 stand-in for the Herald / bench signature patterns (local fixture keys, keys/ gitignored, mode 600, never committed); the live RS256 Herald signing form is unbuilt. Verification uses pinned fixture keys only, selected by the pinned in-source mapping by receipt format \u2014 a key is never taken from, or selected by, the record under verification; the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed. A fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering points only per SPEC \u00a79.1 (exactly one Meter record per completed skillseal_verify run that produces a rendered record; refusals, cache re-renders, and idempotent re-verifications emit none; VERIFIED and UNVERIFIED outcomes meter identically), the FREE publication + $0.02/verification shape is a book reference with no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-skillseal.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL(local, fixture claims + fixture verdict receipts), sole condition C1/F1; builder suite re-run clean 42/42, F-S9 decisive fixture independently reproduced in a fresh socket-denied process, adversarial pass: attacker-key receipt, bench-ref spoof and format swap all RECEIPT_SIGNATURE_INVALID, presented-digest substitutions caught on verify/render/offline verify_export paths, stored-read paths F1 documented, malformed-args battery with zero claim/meter writes, key custody verified, metering B-S8 reproduced, scope audit \u00a710 unbuilt, surface = exactly 5 caller + 2 operator tools disjoint, \u00a711.4 forbidden strings absent tree-wide) + delta re-bench of v0.1.1 in the same record (suite 48/48 clean-state, bencher's own tampered-store C1 probes 6/6 PASS, F-S9 regression PASS; C1 CLOSED, no new findings). Fix record: argus101-program-20261027/wave2/fix-skillseal.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-skillseal-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-skillseal-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-skillseal-mcp",
    "ghcr_image": null
   }
  },
  {
   "id": "eclipse-namesake-mcp",
   "name": "Eclipse Namesake",
   "tagline": "Pre-launch identity-collision similarity screen over a fixture registry snapshot \u2014 similarity scoring over registered agent identities issues a collision verdict before an agent launches under a confusing identity. CERTIFIED(local, fixture registry snapshot) \u2014 fixture snapshot only; a screen over a stated snapshot, not a trademark opinion, not a legal clearance, not permission to launch.",
   "status": "in-development",
   "listing_class": "mcp",
   "categories": [
    "Identity & Attestation"
   ],
   "vendor": "Cyan Eclipse Technologies",
   "capabilities": [
    "Novel mechanism (SPEC \u00a72.1, verbatim) \u2014 similarity scoring over registered agent identities (name, purpose, capability profile) issues a collision verdict before an agent launches under a confusing identity. Scoring version namesake-score/1.0 is pinned and purely mechanical \u2014 no model call, no randomness, no discretionary adjustment \u2014 so every component score recomputes offline from the candidate, the snapshot, and the pinned scoring version alone.",
    "Scoring + verification recompute everything \u2014 per registered identity: name similarity (normalised edit similarity + token-set Jaccard over case/diacritic/punctuation-folded names; exact normalised match = 1.0), purpose similarity (token Jaccard over declared-purpose token sets), capability similarity (Jaccard over capability-profile ref sets); composite = 0.5\u00b7name + 0.3\u00b7purpose + 0.2\u00b7capability (rounded 6dp); verdict over the maximum composite (REVIEW \u2265 0.40, COLLISION \u2265 0.70, exact-normalised-name match forces COLLISION regardless of composite), with the top-3 identities, full component breakdowns, thresholds, and snapshot id + hash on the verdict's face. namesake_verify recomputes candidate/snapshot hashes, re-derives the normalised name + purpose tokens, recomputes every component score + composite + top-k, re-derives the verdict (incl. the exact-name override), recomputes the \u00a74.5 chain head (candidate \u2192 snapshot pin \u2192 score records \u2192 verdict), and verifies the builder submission signature + Herald signature against pinned out-of-band keys only (a key supplied inside a record fails). Any failing step returns NAMESAKE_VERIFY_FAIL:<step> and the export downgrades to UNVERIFIED_EXPORT with verdict_claim null \u2014 there is no path from a downgraded export back to a sealed verdict.",
    "Stored-read verification (v0.1.1, delta-bench C1 closure) \u2014 namesake_verdict_get, namesake_breakdown_get, namesake_screen_list, and the idempotent path of namesake_screen recompute-verify the stored screen via the full \u00a76.2 procedure over the stored source artifacts before serving: verified intact \u2192 the sealed verdict is served normally (screen_list verified entries additionally carry verified:true / export_label VERIFIED_EXPORT); ANY failure \u2192 the \u00a76.3 downgrade form only (verified:false, export_label UNVERIFIED_EXPORT, verdict_claim:null, verify_failure NAMESAKE_VERIFY_FAIL:<step>) \u2014 no verdict, no top_k/score_records, no signature served, unverified screens are excluded from verdict-filtered lists, and metering never changes on a stored read. A snapshot envelope without snapshot_ref refuses SNAPSHOT_INCOMPLETE (Finding 2, also closed at delta).",
    "Decisive fixture F-N9 \u2014 bench-reproduced at v0.1.0 and as a delta regression at v0.1.1: a candidate + snapshot authored as an independent fixture registry's records (SNAP-IND, 3 entries), screened and re-verified in a fresh process from the artifacts alone, with the bencher's scorer rewritten from the spec text (builder scorer NOT imported): agent-harborlight name 0.628205 / purpose 0.6 / capability 0.666667 / composite 0.627436 \u2192 REVIEW, server top_k[0] identical to the independent record, fresh-process stdio verify verified:true / verdict_claim REVIEW / VERIFIED_EXPORT. Boundary pins exact: exact name composite 0.500000 \u2192 COLLISION by override; near name 0.454286 \u2192 REVIEW; stem-only 0.242424 \u2192 CLEAR.",
    "Honest scope \u2014 LOCAL stdio, fixture registry snapshot ONLY: no live registry is read, no agent is registered, blocked, or cleared by anything in v0.1.1, snapshot coverage is exactly the fixture set (a real registry's coverage is never implied), and every emitted artifact carries value_class 'test'. A Namesake verdict is a similarity screen over a stated snapshot \u2014 it is not a trademark opinion, not a legal clearance, and not permission to launch. Closed surface of exactly 7 tools (4 builder + 3 operator, disjoint); no verb registers, reserves, assigns, blocks, renames, or revokes an identity, edits a snapshot, adjusts a score, or issues a legal opinion. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a non-local endpoint, value_class other than 'test', a registry-write/registration/identity-issuance module, or a non-deterministic scoring component anywhere in the tree. Signing is a fixture HMAC stand-in for the Herald pattern, disclosed in README + code; verification uses pinned fixture keys only (not public-key verification); the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed."
   ],
   "tools": [
    "namesake_screen",
    "namesake_verdict_get",
    "namesake_verify",
    "namesake_breakdown_get",
    "namesake_screen_list",
    "namesake_snapshot_info",
    "namesake_anomaly_queue_read"
   ],
   "platforms": [
    "MCP over stdio"
   ],
   "pricing_model": "PRICED \u2014 $5/screen, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC \u00a79 (metering points only in v0.1.1, no charge path built): exactly one Meter record per completed namesake_screen reaching a sealed verdict \u2014 the screen is the priced unit; refusals and same-snapshot idempotent re-screens emit no metering point, and CLEAR, REVIEW, and COLLISION outcomes meter identically (pay-for-screen-never-outcome, L7). No price attaches to any verdict outcome. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).",
   "page_url": "https://eclipsebazaar.com/products/eclipse-namesake-mcp/",
   "logo_url": "https://eclipsebazaar.com/logos/eclipse-namesake-mcp.png",
   "certification": {
    "bench_verdict": "CERTIFIED(local, fixture registry snapshot)",
    "certified": true,
    "certified_scope": "CERTIFIED(local, fixture registry snapshot) \u2014 Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-namesake.md) PASS-CONDITIONAL(local, fixture registry snapshot) with sole condition C1 (Finding 1, stored-read paths served unverified stored verdicts), plus delta re-bench of v0.1.1 in the same record (stored-read paths only): C1 CLOSED at scope (local, fixture registry snapshot) \u2014 no new findings; Finding 2 (snapshot envelope without snapshot_ref accepted) also CLOSED. Builder suite 33/33 at v0.1.0 and 37/37 at v0.1.1 (33 prior + 4 new TestStoredReadVerification C1 regressions) re-run clean-state by the bencher both times, the v0.1.0 suite also under a socket-denied harness; decisive fixture F-N9 independently recomputed by the bencher with a scorer rewritten from the spec text (builder scorer NOT imported) at both benches \u2014 agent-harborlight name 0.628205 / purpose 0.6 / capability 0.666667 / composite 0.627436 \u2192 REVIEW, server top_k[0] identical, fresh-process stdio verify from artifacts alone verified:true / VERIFIED_EXPORT. Boundary pins exact at v0.1.0 bench: exact 'Payseal!' composite 0.500000 \u2192 COLLISION by exact-name override, near 'Payseel' 0.454286 \u2192 REVIEW, stem-only 'Ledger Lynx' 0.242424 \u2192 CLEAR. Delta probes ALL_C1_OK: intact control serves the sealed CLEAR verdict normally on every path (screen_list carries verified:true / VERIFIED_EXPORT); score-tamper (stored CLEAR\u2192COLLISION, max 0.999999, hash/signature NOT recomputed) and Herald-signature-tamper (signature f*64) both downgrade on verdict_get, breakdown_get, screen_list (incl. verdict-filtered lists: COLLISION=0, CLEAR=0) and idempotent re-screen to UNVERIFIED_EXPORT / verdict_claim null / NAMESAKE_VERIFY_FAIL:<step>, metering unchanged; a snapshot envelope without snapshot_ref now refuses SNAPSHOT_INCOMPLETE with 0 screens / 0 metering, and verify over a ref-less snapshot downgrades at step snapshot_hash. Scope is exactly: local stdio MCP, fixture registry snapshot only, scoring version namesake-score/1.0 (weights name 0.5 / purpose 0.3 / capability 0.2; thresholds REVIEW \u2265 0.40, COLLISION \u2265 0.70 plus exact-normalised-name override), value_class 'test' throughout \u2014 now including the stored-read paths (namesake_verdict_get, namesake_breakdown_get, namesake_screen_list, and the idempotent path of namesake_screen), which recompute-verify the stored screen before serving anything; no live registry is read, nothing is registered, reserved, assigned, blocked, renamed, or revoked, and no counsel-gate (SPEC \u00a710) live phase is built or claimed. Novel mechanism (SPEC \u00a72.1, verbatim): similarity scoring over registered agent identities (name, purpose, capability profile) issues a collision verdict before an agent launches under a confusing identity. Non-blocking bench observation Finding 3 (dispatch does not enforce schema additionalProperties:false \u2014 unexpected extra args are silently ignored, with no state or verdict effect observed) remains open, untouched. A Namesake verdict is a similarity screen over a stated snapshot \u2014 it is not a trademark opinion, not a legal clearance, and not permission to launch (SPEC \u00a711.2).",
    "not_tested": [
     "Live-registry screening, any verdict carrying consequences in a real registry, or any real agent identity \u2014 fixture registry snapshot only; the SPEC \u00a710 counsel gate is unbuilt by design, named, with no dormant live mode: screening against a live registry, a verdict carrying consequences in a real registry (blocking, flagging, or delaying a real launch), or any public marketing of the screen as clearance \u2014 each is a separate, counsel-cleared, re-benched build, with counsel review of (a) trademark-adjacent claim language and (b) the consequences a verdict may carry",
     "Any trademark opinion, legal clearance, or permission to launch \u2014 a Namesake verdict is a similarity screen over a stated snapshot (SPEC \u00a711.2): a CLEAR verdict does not mean a name is legally available, non-infringing, or registrable anywhere, and a COLLISION verdict does not mean a name infringes anything; a CLEAR verdict means only 'no collision above threshold in this snapshot under namesake-score/1.0'. The SPEC \u00a711.4 forbidden claim strings are never claimed for v0.1.1 (they are listed in SPEC \u00a711.4 only and are not reproduced on this surface); no wording implies live registry coverage, registration, or legal advice, and no wording implies a verdict outcome can be bought (SPEC \u00a79 / L7: metering attaches to the screen, identical for CLEAR, REVIEW, and COLLISION). Cross-script and homoglyph collisions are a known blind spot of v0.1 scoring (SPEC Q-N3): the fixture normaliser covers the Latin-script fixture set only, and no listing implies coverage the scorer does not have",
     "Production signing / public-key verification \u2014 v0.1.1 signing is a fixture HMAC stand-in for the Herald pattern (local fixture keys, keys/ gitignored, mode 600, never committed); the live RS256 Herald signing form is unbuilt and counsel-gated. Verification uses pinned fixture keys only \u2014 keys are pinned out-of-band and never read from, or selected by, a record under verification; the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed. A fresh clone generates its own fixture keys to run the full suite",
     "Hosted or live operation \u2014 local stdio only; metering points only per SPEC \u00a79 (exactly one Meter record per completed namesake_screen reaching a sealed verdict; refusals and same-snapshot idempotent re-screens emit none; CLEAR, REVIEW, and COLLISION meter identically), the $5/screen shape is a book reference with no charge path built and no live Meter ingest"
    ],
    "live_state_note": "Bench evidence: argus101-program-20261027/wave2/bench-namesake.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL(local, fixture registry snapshot), sole condition C1/Finding 1; builder suite re-run clean-state 33/33 twice plus a socket-denied run, determinism byte-identical across fresh stores, F-N9 decisive fixture independently recomputed with a scorer rewritten from the spec text, adversarial pass: forged builder signature, forged Herald signature, key-supplied-inside-record, full forgery with recomputed record_hash, forged Genesis entry signature, presented-score/verdict substitution battery \u2014 all named refusals or \u00a76.3 downgrades with verdict_claim null; snapshot entry removal/byte-drift refused; malformed-args battery on every tool on both surfaces with no tracebacks; refusal-must-not-mutate verified; key custody 600/gitignored/values absent from source; metering exactness reproduced (3 sealed screens = 3 points, 0 for refusals and idempotent re-screens, value_class 'test' on 100% of artifacts checked); scope audit \u00a710 unbuilt with fence startup refusals bench-reproduced; surface = exactly 4 builder + 3 operator tools disjoint, no registry-write verbs; \u00a711.4 forbidden claim strings absent tree-wide excl. SPEC.md's own forbidding enumeration) + delta re-bench of v0.1.1 in the same record (suite 37/37 clean-state twice, bencher's own on-disk store-tamper C1 probes ALL_C1_OK for score-tamper and signature-tamper across all four stored-read paths, snapshot_ref strictness closed, F-N9 regression F_N9_MATCH=True; C1 CLOSED, Finding 2 CLOSED, no findings in delta scope). Fix record: argus101-program-20261027/wave2/fix-namesake.md. Independent scoring reproduction at v0.1.0 bench: composite 0.627436 \u2192 REVIEW for the F-N9 candidate, identical to the server. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).",
    "scorecard_ref": null,
    "card_url": null
   },
   "install": {
    "oneliner": null,
    "registry_name": "io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-namesake-mcp",
    "registry_url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-namesake-mcp/versions/0.1.1",
    "repository": "https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-namesake-mcp",
    "ghcr_image": null
   }
  }
 ]
}