
Eclipse Crosslist MCP
Publish once, tracked everywhere — registry-native facets plus a mandate-bound, identity-checked listing ledger.
status: in-developmentclass: mcpIdentity, Trust & ReputationAgent Infrastructure
Vendor: Cyan Eclipse Technologies
What it does
- 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 — honest absences included (Glama carries ZERO write verbs; claim execution is refused permanently)
- A single Herald-signed mandate (agent × registry set × manifest hash × 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 — 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 — 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 — 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
Certification
Bench verdict: CERTIFIED(split per facet)
Certified scope: CERTIFIED(split per facet) — 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 — 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 — 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→live→claimed 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) — 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 — 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 — NOT live-write certified. Glama facet CERTIFIED(fixture-read) only, all 8 verbs, ZERO write verbs — 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 — 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 — 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) — 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 — none exist or were exercised; Official/Smithery writes are fixture-scope only and refuse REGISTRY_WRITE_UNAVAILABLE live.
- Glama live API — 401 without a key, none held; Glama is fixture-read only at every scope.
- Production Eclipse Herald (RSA-JWS) signing/sealing — fixture ECDSA P-256 only; receipts sealable/pending, never sealed.
- Hosted / multi-tenant transport — P1; v0.1 is local stdio only. Deferred registries (mcpso, pulsemcp, lobehub; claude-connectors manual tracks) are P1, absent by design.
Bench scorecard (evidence): https://eclipsebazaar.com/cards/eclipse-crosslist-mcp-2026-10-26-4.json
Pricing
Free local v0.1; suite pricing TBD per spec
Install / verify
uvx eclipse-crosslist-mcp
Official MCP Registry name: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/crosslist
Registry listing: 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
Verify any MCP server in your client configs against this catalog with bazaar check (Eclipse Bazaar MCP / CLI — see llms.txt).