Install · Nightlies · Quick Start · Droplets · Docs · Security
CCP gives collaborating agents shared, persistent context for research, parallel
reviews, and handoffs. A Rust server stores text and append history in a
session → shelf → book → entry hierarchy. Agents create, search, and exchange
context through the CLI or Python MCP bridge.
Client traffic uses mTLS with individual certificates and server-enforced permissions. SQLite and a journal preserve state across clean restarts.
# Server and client
curl -fsSL https://raw.githubusercontent.com/squid-proxy-lovers/ccp/main/install.sh | bash
# Client and MCP bridge for an existing server
curl -fsSL https://raw.githubusercontent.com/squid-proxy-lovers/ccp/main/install.sh | bash -s -- --client
# Docker server from the published GHCR image
curl -fsSL https://raw.githubusercontent.com/squid-proxy-lovers/ccp/main/install.sh | bash -s -- --docker --session my-sessionBinaries install to ~/.local/bin by default; use --install-dir to change it.
The client installer configures MCP for supported Claude, Cursor, and Codex hosts.
See the MCP guide for agent setup and the
server deployment guide for Docker, source builds,
and remote enrollment.
Standard installs use stable releases. To preview changes merged into main,
install the latest available nightly:
curl -fsSL https://raw.githubusercontent.com/squid-proxy-lovers/ccp/main/install.sh | bash -s -- --channel nightlyAdd --client for the client and matching MCP bridge, or
--docker --session my-session for a Docker server. Nightly binary installs
require Python 3 and verify download checksums. The
nightly guide covers all modes and version pinning;
prereleases list available builds.
Start a local server and save the enrollment tokens printed on its first run:
ccp-server my-sessionIn another terminal, replace YOUR_WRITE_TOKEN with a read_write token:
ccp-client enroll --redeem-url http://127.0.0.1:1337/auth/redeem --token YOUR_WRITE_TOKENCreate an entry, append a finding, and search it:
ccp-client add-shelf my-session notes "project notes"
ccp-client add-book my-session --shelf notes findings "research findings"
ccp-client add-entry my-session --shelf notes --book findings day1 "first findings" "initial context"
ccp-client append my-session day1 --shelf notes --book findings "follow-up context"
ccp-client search-context my-session "follow-up"
ccp-client get my-session day1 --shelf notes --book findingsEntry names are unique within their shelf/book path. Enrollment is saved for later calls; see the client guide for credentials and permissions and the server guide for issuing more tokens.
For agents, the MCP bridge provides tools and a ccp://help
resource. Destructive operations and server lifecycle management remain CLI-only.
Droplets are JSON bundles for moving context between enrolled CCP sessions:
ccp-client export my-session --shelf notes --output notes.droplet
ccp-client import another-session notes.dropletImport fails on conflicts by default. See the droplet guide for selectors, history, and conflict policies. Its checksum detects changed entry data; it does not authenticate the sender.
The documentation index links every guide, crate README, and policy. It also includes collaboration examples and a map of the archived README.
| Guide | Covers |
|---|---|
| Server | Deployment, enrollment, mTLS, and persistence |
| Client | Credentials, permissions, and CLI selection |
| MCP | Agent-host setup, tools, and resources |
| Tool-call API | MCP arguments and response shapes |
| Nightly builds | Installation, pinning, and release process |
| Droplet format | Import/export contracts |
| Contributing | Development setup, quality checks, and PR requirements |
| Tests | Verification suites and benchmark commands |
| Recorded benchmarks | Historical machine-specific measurements |
Use ccp-client --help and ccp-server --help for command references.
See CONTRIBUTING.md to submit a reviewed pull request. Report vulnerabilities privately through SECURITY.md.
Maintainers: Vipin vipin@spl.team and Tanush dudcom@spl.team. General contact: oss@spl.team.
Licensed under AGPL-3.0-or-later.
