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.
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.
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.
| Client | Status | Implementation truth |
|---|---|---|
| Claude Code | shipped | Adapter 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. |
| Cursor | shipped | Adapter shipped; the CLI generates its mcpServers configuration. Inference stays on the host — your copy of Cursor keeps its own model. Zephr adds memory + MCP. |
| Codex | shipped | Adapter 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. |
| opencode | evolving | Adapter written; conformance suite unfinished. |
| Any MCP client | shipped | Compatible through stdio; the tool contract is versioned and CI-asserted. |
| GitHub | evolving | Consent and secret-scan drills exist; soak is not complete. |
| GitLab | planned | Planned; no implementation on main. |
illustrative example - not live data · rows derived from the registry
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.
- Claude Codeshipped
JSON mcpServers
- Cursorshipped
JSON mcpServers
- Codexshipped
TOML mcp_servers
- opencodeevolving
JSON mcp
- Any MCP clientshipped
stdio transport
- GitHubevolving
App · webhook
- 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
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 connectillustrative 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 connect32 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.