Cipher
BLOCKgrade D · trust 69/100ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)
agentaiautonomous agentsclicoding assistantcontext memorydeveloper toolsknowledge managementOverview
From the repository's own README, as read at the audited commit.
# ByteRover CLI<div align="center"><img src="./assets/images/logo/byterover-logo.svg" alt="ByteRover Logo" width="280" /><p align="center"><em>Interactive REPL CLI for AI-powered context memory</em></p><p align="center"><a href="LICENSE"><img src="https://img.shields.io/badge/License-Elastic%202.0-blue.svg" alt="License" /></a><a href="https://npmjs.org/package/byterover-cli"><img src="https://img.shields.io/npm/v/byterover-cli.svg" alt="Version" /></a><a href="https://npmjs.org/package/byterover-cli"><img src="https://img.shields.io/npm/dw/byterover-cli.svg" alt="Downloads" /></a><a href="https://docs.byterover.dev"><img src="https://img.shields.io/badge/Docs-Documentation-green.svg" alt="Documentation" /></a><a href="https://discord.com/invite/UMRrpNjh5W"><img src="https://img.shields.io/badge/Discord-Join%20Community-7289da" alt="Discord" /></a></p></div>## OverviewByteRover CLI (`brv`) gives AI coding agents persistent, structured memory. It lets developers curate project knowledge into a context tree, sync it to the cloud, and share it across tools and teammates.Run `brv` in any project directory to start an interactive REPL powered by your choice of LLM. The agent understands your codebase through an agentic map, can read and write files, execute code, and store knowledge for future sessions.📄 Read the [paper](https://arxiv.org/abs/2604.01599) for the full technical details.Or download our self-hosted PDF version of the paper [here](https://byterover.dev/paper).**Key Features:**- 🌐 Web dashboard for curating and querying context (`brv webui`)- 🖥️ Interactive TUI with REPL interface (React/Ink)- 🧠 Context tree and knowledge storage management- 🔀 Git-like version control for the context tree (branch, commit, merge, push/pull)- 🤖 20 LLM providers (Anthropic, OpenAI, Google, Groq, Mistral, xAI, DeepSeek, and more)- 🛠️ 24 built-in agent tools (code exec, file ops, knowledge search, memory management)- 🔄 Cloud sync with push/pull- 👀 Review workflow for curate operat
Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add byterover-cli -- npx -y [email protected]
{
"mcpServers": {
"byterover-cli": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (2) 2 read · 0 write · 0 destructive
| Tool | Risk | Description |
|---|---|---|
brv-curate | read | |
brv-query | read |
Details
- Source
- campfirein/cipher
- npm
byterover-cli@3.16.1- Transports
- stdio
- License
- NOASSERTION
- Stars
- 4,957 · pushed 80d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (10 observation(s))
- Network
- declared (15 observation(s))
- Shell
- declared (6 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (21)
parsed = yaml.load(yamlBlock, {schema: FRONTMATTER_SCHEMA})const socket = io(`http://127.0.0.1:${config.daemonPort}`, {target: 'http://127.0.0.1',
target: 'http://127.0.0.1',
if (status.running) return `http://127.0.0.1:${status.port}`return 'http://127.0.0.1:0'
.gitmodules
.mocharc.json
.prettierrc.json
return createHash('md5').update(data).digest('hex').slice(0, 16)return createHash('sha1').update(projectPath).digest('hex').slice(0, 16)group: ['**/server/**', '../server/**', '../../server/**', '../../../server/**', '../../../../server/**'],
group: ['**/agent/**', '../agent/**', '../../agent/**', '../../../agent/**', '../../../../agent/**'],
group: ['**/oclif/**', '../oclif/**', '../../oclif/**', '../../../oclif/**', '../../../../oclif/**'],
group: ['**/tui/**', '../tui/**', '../../tui/**', '../../../tui/**', '../../../../tui/**'],
group: ['**/server/**', '../server/**', '../../server/**', '../../../server/**', '../../../../server/**'],
const binary = atob(padded)
@ai-sdk/anthropic, @ai-sdk/cerebras, @ai-sdk/cohere, @ai-sdk/deepinfra, @ai-sdk/google, @ai-sdk/groq, @ai-sdk/mistral, @ai-sdk/openai
- **Intel Mac (darwin-x64) install support** — `curl -fsSL https://byterover.dev/install.sh | sh` now installs on Intel Macs. Previously the installer rejected `darwin-x64` with an Apple-Silicon-only
- **Native binary installer** - Install on macOS and Linux without Node.js via `curl -fsSL https://byterover.dev/install.sh | sh`. Uninstaller script also available.
curl -fsSL https://byterover.dev/install.sh | sh
Gates applied: no_behavioural_pass.
Audited 2026-09-14 · audit v0.4.0 · source sha e1090ca7ceaa · full audit: observations/trust-audit/mcp-server/campfirein__cipher.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-14 | e1090ca7ceaa | BLOCK | D | 69 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the Cipher MCP server?
ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)
What tools does Cipher expose?
2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Cipher safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What credentials does Cipher need?
No credential environment variables were found in its source, so it appears to need none.
How does Cipher run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as byterover-cli at 3.16.1.
How current is this page?
The grade is for one exact copy of the source (e1090ca7ceaa), read on 2026-09-14. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-14 · job trust-audit-2026-09-14