Summary
Move the marketplace registry from JSON files bundled in the app to a live-fetched hosted registry at registry.openconduit.ai. This enables community submissions, download counts, verified badges, and registry updates without shipping a new app version.
Motivation
Currently, adding a new provider or MCP server requires a core package release and a client app update. A hosted registry decouples content from code — the community can submit entries, the registry updates instantly, and users see new entries next time the app fetches.
Architecture
Registry endpoints
https://registry.openconduit.ai/
v1/providers/index.json
v1/mcp/index.json
v1/personas/index.json
v1/prompts/index.json
v1/profiles/index.json
v1/themes/index.json
Fetch behaviour
- App fetches registry on launch + once per hour (background)
- Falls back to bundled JSON if fetch fails (offline support)
- ETags /
If-None-Match to avoid re-downloading unchanged registries
- Registry responses cached in
registryStore
registryStore
providers, mcp, personas, prompts, profiles, themes — each a RegistryEntry[]
lastFetched: Record<type, number> timestamps
fetchAll() — triggers background refresh
- Persisted to local storage (so last known registry is available offline)
Registry repo (OpenConduit/marketplace)
- Source of truth for all registry JSON files
- Community PRs add new entries
- CI validates schema on PRs
- Merge to
main → Cloudflare Worker / Pages serves the JSON at registry.openconduit.ai
Community submission flow
- Fork
OpenConduit/marketplace
- Add entry to the relevant
index.json
- Open PR — CI validates schema + runs basic checks
- Maintainer review → merge → live in registry within minutes
Acceptance criteria
Prerequisites
Related
OpenConduit/marketplace repo (registry source of truth)
Summary
Move the marketplace registry from JSON files bundled in the app to a live-fetched hosted registry at
registry.openconduit.ai. This enables community submissions, download counts, verified badges, and registry updates without shipping a new app version.Motivation
Currently, adding a new provider or MCP server requires a core package release and a client app update. A hosted registry decouples content from code — the community can submit entries, the registry updates instantly, and users see new entries next time the app fetches.
Architecture
Registry endpoints
Fetch behaviour
If-None-Matchto avoid re-downloading unchanged registriesregistryStoreregistryStoreproviders,mcp,personas,prompts,profiles,themes— each aRegistryEntry[]lastFetched: Record<type, number>timestampsfetchAll()— triggers background refreshRegistry repo (
OpenConduit/marketplace)main→ Cloudflare Worker / Pages serves the JSON atregistry.openconduit.aiCommunity submission flow
OpenConduit/marketplaceindex.jsonAcceptance criteria
registryStoreimplemented with fetch + cache + offline fallbackOpenConduit/marketplacereporegistryStore(not hardcoded JSON imports)OpenConduit/marketplacerepo has CI schema validation on PRsregistry.openconduit.aiserves the JSON (Cloudflare Worker or Pages)Prerequisites
Related
OpenConduit/marketplacerepo (registry source of truth)