Atlas / MCP servers / campfirein / byterover-cli

byterover-cliBLOCK

mcp/campfirein/byterover-cli

ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
2 2r · 0w · 0d
Transport
stdio
License
NOASSERTION
Stars
4,955
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Interactive REPL CLI for AI-powered context memory

Overview

ByteRover 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 for the full technical details.

Or download our self-hosted PDF version of the paper here.

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/pul
Read from source at commit e1090ca7ceaaOBSERVED · 2026-10-12
02

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-code
claude mcp add byterover-cli -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "byterover-cli": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
brv-curateread
brv-queryread
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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)

HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
src/server/infra/migrate/parsers.ts:97
parsed = yaml.load(yamlBlock, {schema: FRONTMATTER_SCHEMA})
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/webui/lib/transport.ts:49
const socket = io(`http://127.0.0.1:${config.daemonPort}`, {
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/webui/vite.config.ts:178
target: 'http://127.0.0.1',
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/webui/vite.config.ts:183
target: 'http://127.0.0.1',
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/webui/vite.config.ts:193
if (status.running) return `http://127.0.0.1:${status.port}`
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/webui/vite.config.ts:198
return 'http://127.0.0.1:0'
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mocharc.json
.mocharc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierrc.json
.prettierrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/server/infra/executor/query-result-cache.ts:62
return createHash('md5').update(data).digest('hex').slice(0, 16)
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
src/server/infra/vc/file-vc-git-config-store.ts:18
return createHash('sha1').update(projectPath).digest('hex').slice(0, 16)
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
eslint.config.mjs:45
group: ['**/server/**', '../server/**', '../../server/**', '../../../server/**', '../../../../server/**'],
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
eslint.config.mjs:49
group: ['**/agent/**', '../agent/**', '../../agent/**', '../../../agent/**', '../../../../agent/**'],
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
eslint.config.mjs:53
group: ['**/oclif/**', '../oclif/**', '../../oclif/**', '../../../oclif/**', '../../../../oclif/**'],
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
eslint.config.mjs:57
group: ['**/tui/**', '../tui/**', '../../tui/**', '../../../tui/**', '../../../../tui/**'],
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
eslint.config.mjs:75
group: ['**/server/**', '../server/**', '../../server/**', '../../../server/**', '../../../../server/**'],
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
src/webui/lib/base64url.ts:18
const binary = atob(padded)
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@ai-sdk/anthropic, @ai-sdk/cerebras, @ai-sdk/cohere, @ai-sdk/deepinfra, @ai-sdk/google, @ai-sdk/groq, @ai-sdk/mistral, @ai-sdk/openai
Why it matters. 119 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
CHANGELOG.md:185
- **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
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
CHANGELOG.md:407
- **Native binary installer** - Install on macOS and Linux without Node.js via `curl -fsSL https://byterover.dev/install.sh | sh`. Uninstaller script also available.
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
README.md:72
curl -fsSL https://byterover.dev/install.sh | sh

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha e1090ca7ceaafull audit observations/trust-audit/mcp-server/campfirein__byterover-cli.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12e1090ca7ceaaBLOCKD69first audit
06

Questions

What is the byterover-cli MCP server?

ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)

What tools does byterover-cli 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 byterover-cli 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 byterover-cli need?

No credential environment variables were found in its source, so it appears to need none.

How does byterover-cli 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-10-12. The repository is watched and re-audited when it changes.

Advertisement