Zephr
Continuity / Connect

Pick a client. Get the exact path.

Connect projects one versioned MCP tool contract into the coding clients already on your machine. The default experience is guest: your host client keeps its own model — Zephr is memory and MCP, not inference. Claude Code, Cursor, and Codex adapters are shipped; opencode is in conformance; the web wizard is partial. The CLI is real and works from a built checkout — it is not on npm yet.

Evolving
32 MCP toolsstdio transportversioned contract

current acquisition path

zephr connect projects a client configuration from one contract — it never takes over the client’s model. Your host keeps its own inference; Zephr is memory and MCP. The web wizard is partial; the CLI is shipped from source.

Client matrix

Seven rows, one truth table.

Three adapters are shipped and the CLI generates their configuration. opencode is evolving while conformance is unfinished. Any MCP-speaking client can use stdio. GitHub is in soak; GitLab is planned with no implementation on main. Every row connects your existing host — it keeps its own model; Zephr supplies memory and MCP tools.

Connect client implementation matrix
ClientStatusImplementation truth
Claude CodeshippedAdapter shipped; the CLI generates its mcpServers configuration. Inference stays on the host — your copy of Claude Code keeps its own model. Zephr adds memory + MCP.
CursorshippedAdapter shipped; the CLI generates its mcpServers configuration. Inference stays on the host — your copy of Cursor keeps its own model. Zephr adds memory + MCP.
CodexshippedAdapter shipped; the CLI generates its TOML mcp_servers configuration. Inference stays on the host — your copy of Codex keeps its own model. Zephr adds memory + MCP.
opencodeevolvingAdapter written; conformance suite unfinished.
Any MCP clientshippedCompatible through stdio; the tool contract is versioned and CI-asserted.
GitHubevolvingConsent and secret-scan drills exist; soak is not complete.
GitLabplannedPlanned; no implementation on main.

illustrative example - not live data · rows derived from the registry

One contract, seven projections

The same surface, projected into every client.

The MCP tool contract is singular — one versioned surface, one stdio boundary. Client adapters project it into the configuration format each client expects. The fan below shows the one-to-many relationship: the contract at the centre, each client at the end of a dashed or solid line depending on its shipped status.

One contract, many client configurationsThe MCP tool contract is projected into 7 client-specific configuration formats. Every client adapter projects the same versioned contract. The host keeps its own model — Zephr adds memory and MCP tools.MCP tool contractone surfaceClaude CodeJSON mcpServersCursorJSON mcpServersCodexTOML mcp_serversopencodeJSON mcpAny MCP clientstdio transportGitHubApp · webhookGitLabApp · webhook
  1. Claude Codeshipped

    JSON mcpServers

  2. Cursorshipped

    JSON mcpServers

  3. Codexshipped

    TOML mcp_servers

  4. opencodeevolving

    JSON mcp

  5. Any MCP clientshipped

    stdio transport

  6. GitHubevolving

    App · webhook

  7. GitLabplanned

    App · webhook

Every client adapter projects the same versioned contract. The host keeps its own model — Zephr adds memory and MCP tools.

illustrative projection — not live data · statuses derived from the registry

Install from source

The honest path is a built checkout.

@zephr-ai/cli is not published to npm. The supported installation path today is from source: clone the repository, make a frozen install, build the required packages, and run the local zephr connect command.

Why from source

A registry one-liner would imply a package that is not published. The CLI and client adapters are real; npm distribution is not. The current path keeps those facts separate. Publication is gated on the release-npm workflow (sigstore + SLSA provenance); verify the scoped package with pnpm check:npm-publication.

git clone https://github.com/DigitalSoftDistribution/zephr.git
cd zephr
pnpm install --frozen-lockfile
pnpm --filter @zephr-ai/protocol build
pnpm --filter @zephr-ai/core build
pnpm --filter @zephr-ai/mcp-server build
pnpm --filter @zephr-ai/mcp build
./packages/cli/bin/zephr connect

illustrative command sequence — seepackages/cli for the real one

git clone https://github.com/DigitalSoftDistribution/zephr.git cd zephr pnpm install --frozen-lockfile pnpm --filter @zephr-ai/protocol build pnpm --filter @zephr-ai/core build pnpm --filter @zephr-ai/mcp-server build pnpm --filter @zephr-ai/mcp build ./packages/cli/bin/zephr connect
The tool surface

32 MCP tools, one versioned surface.

The tool surface is 32 MCP tools today — 24 first-party plus 8 third-party bridges, not eight. The bridge lane is opt-in and not shipped by default; the default experience is memory + MCP only. MCP stdio is the universal client boundary: every client speaks the same wire protocol. Tool names and schemas are versioned, and descriptor/catalog parity is CI-asserted. Client adapters project that one contract into client-specific configuration formats.

How the contract is bound

One wire protocol. Every client adapter projects it into the client’s own configuration format. Names and schemas are versioned, the descriptor/catalog parity gate runs in CI, and the registry is the same file the platform ledger reads.

derived from lib/platform/shared-facts.ts

  • First-party

    24

    The zephr_* product surface: Memory, Lens, Review, Guard, Pulse, and the rest of the first-party tools.

  • Third-party bridges

    8

    Six curated third-party API bridges (Tavily, Firecrawl, GitHub, Sentry, Context7, browser render) routed through Zephr with tenant BYOK. This lane is opt-in, not the default; the default experience is memory + MCP only.

  • Total

    32

    One stdio boundary, one versioned surface, one CI-asserted catalog.

Close

Pick a client, build the CLI, project the contract.

Read the complete source-install workflow, or inspect the platform architecture behind the 32-tool surface.