Cipher logo

Cipher

OrganizationPopular
campfirein

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

Publishercampfirein
Repositorycipher
LanguageTypeScript
Forks
450
Stars
4.7K
Available tools
0
Transport typestdio
Categories
LicenseNOASSERTION
Links
  • Connect tools to AI workflows

    Cipher exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    4.7K stars and 450 forks from the linked repository.

ByteRover CLI

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/pull
  • πŸ‘€ Review workflow for curate operations (approve/reject pending changes)
  • πŸ”Œ MCP (Model Context Protocol) integration
  • πŸ“¦ Hub and connectors ecosystem for skills and bundles
  • 🀝 Works with 22+ AI coding agents (Cursor, Claude Code, Windsurf, Cline, and more)
  • 🏒 Enterprise proxy support

Benchmark Results

All benchmarks are run using the production byterover-cli codebase in this repository - no separate research prototype.

We evaluate on two long-term conversational memory benchmarks:

  • LoCoMo - ultra-long conversations (~20K tokens, 35 sessions) testing single-hop, multi-hop, temporal, and open-domain retrieval.
  • LongMemEval-S - large-scale benchmark (23,867 docs, ~48 sessions per question) testing 6 memory abilities including knowledge update, temporal reasoning, and multi-session synthesis.

LoCoMo - 96.1% overall accuracy (1,982 questions, 272 docs).

LongMemEval-S - 92.8% overall accuracy (500 questions, 23,867 docs).

All metrics are LLM-as-Judge accuracy (%). See the paper, or self-hosted PDF for full details.

Quick Start

Shell Script (macOS & Linux)

No Node.js required - everything is bundled.

bash
curl -fsSL https://byterover.dev/install.sh | sh

Supported platforms: macOS ARM64, macOS x64 (Intel), Linux x64, Linux ARM64.

npm (All Platforms)

Requires Node.js >= 20.

bash
npm install -g byterover-cli

Verify

bash
brv --version

First Run

bash
cd your/project
brv

The REPL auto-configures on first run - no setup needed. Type / to discover all available commands:

/curate "Auth uses JWT with 24h expiry" @src/middleware/auth.ts
/query How is authentication implemented?

ByteRover Cloud

ByteRover Cloud is a hosted platform for teams to sync, share, and manage context knowledge across projects and machines. Everything works locally by default - Cloud adds collaboration and persistence without changing your workflow.

Sign in from the dashboard, or run brv login with an API key.

  • πŸ”„ Team context sync β€” push and pull shared knowledge across teammates
  • πŸ“‚ Shared spaces β€” organize context across multiple projects and teams
  • πŸ’» Multi-machine access β€” sync your context tree across devices with cloud backup
  • πŸ’» Multi-machine access β€” sync your context tree across devices
  • 🧠 Built-in hosted LLM β€” start immediately with limited free usage
  • πŸ‘₯ Team management β€” manage members, spaces, and permissions via the web app
  • πŸ“Š Usage analytics β€” track seat allocation and monthly credit consumption
  • πŸ”’ SOC 2 Type II certified infrastructure with privacy mode

Most users only need brv webui. The commands below are for advanced users and automation. Run brv --help for the full, up-to-date reference.

Core Workflow

bash
brv                  # Start interactive REPL
brv webui            # Open the ByteRover dashboard (primary UI)
brv status           # Show project and daemon status
brv curate           # Add context to knowledge storage
brv curate view      # View curate history
brv query            # Query context tree and knowledge
brv review pending   # List pending review operations
brv review approve   # Approve curate operations
brv review reject    # Reject curate operations

Sync (Legacy)

bash
brv push             # Legacy β€” migrate or snapshot context to cloud
brv pull             # Legacy β€” restore context from cloud snapshot

Use brv vc push / brv vc pull for version-controlled sync going forward.

Version Control

bash
brv vc init              # Initialize version control for context tree
brv vc status            # Show version control status
brv vc add               # Stage files for the next commit
brv vc commit            # Save staged changes as a commit
brv vc log               # Show commit history
brv vc branch            # List, create, or delete branches
brv vc checkout          # Switch branches
brv vc merge             # Merge a branch into the current branch
brv vc clone             # Clone a ByteRover space repository
brv vc push              # Push commits to ByteRover cloud
brv vc pull              # Pull commits from ByteRover cloud
brv vc fetch             # Fetch refs from ByteRover cloud
brv vc remote            # Show current remote origin
brv vc remote add        # Add a named remote
brv vc remote set-url    # Update a remote URL
brv vc config            # Get or set commit author
brv vc reset             # Unstage files or undo commits

Providers & Models

bash
brv providers list       # List available LLM providers
brv providers connect    # Connect to an LLM provider
brv providers switch     # Switch active provider
brv providers disconnect # Disconnect a provider
brv model list           # List available models
brv model switch         # Switch active model

Hub & Connectors

bash
brv hub list             # List available hub packages
brv hub install          # Install a hub package
brv hub registry add     # Add a custom registry
brv hub registry list    # List registries
brv hub registry remove  # Remove a registry
brv connectors list      # List connectors
brv connectors install   # Install a connector

Spaces (Deprecated)

bash
brv space list       # Deprecated β€” use web dashboard
brv space switch     # Deprecated β€” use brv vc clone

Other

bash
brv mcp              # Start MCP server
brv login            # Authenticate to ByteRover
brv logout           # Disconnect and clear credentials
brv locations        # List registered projects
brv restart          # Restart daemon
brv debug            # Debug mode

Run brv --help for the full command reference.

ByteRover CLI supports 20 LLM providers out of the box. Connect and switch providers from the dashboard, or use brv providers connect / brv providers switch.

ProviderDescription
AnthropicClaude models
OpenAIGPT models
GoogleGemini models
GroqFast inference
MistralMistral models
xAIGrok models
CerebrasFast inference
CohereCommand models
DeepInfraOpen-source model hosting
DeepSeekDeepSeek V3 and R1 reasoning models
OpenRouterMulti-provider gateway
PerplexitySearch-augmented models
TogetherAIOpen-source model hosting
VercelAI SDK provider
MinimaxMinimax models
MoonshotKimi models
GLMGLM models
GLM Coding PlanGLM models on Z.AI Coding Plan subscription
OpenAI-CompatibleAny OpenAI-compatible API
ByteRoverByteRover's hosted models

Worktrees and Knowledge Sources

Vocabulary

  • Worktree link β€” a subdirectory pointer to a parent project (brv worktree)
  • Source β€” a read-only reference to another project's knowledge (brv source)
  • Origin β€” where an indexed search result came from (local vs shared)

ByteRover can run from a linked subdirectory without creating a nested .brv/.

  • projectRoot: the directory that owns .brv/config.json
  • worktreeRoot: the linked worktree directory, or projectRoot when unlinked
  • clientCwd: the shell cwd where you ran brv

When you run brv query or brv curate from a linked worktree, implicit defaults use worktreeRoot so scope stays stable even if clientCwd drifts deeper into the package. Explicit relative paths that you pass yourself, such as brv curate -f ./src/auth.ts, still resolve from clientCwd to match normal shell behavior.

Use brv worktree add from the project root to register a subdirectory (or sibling) as a worktree. This creates a .brv pointer file in the target directory that redirects to the parent project β€” the same pattern git uses for git worktree. Use brv worktree remove to unregister, and brv worktree list to inspect. To search another project's knowledge from here, use brv source add <path> (with brv source list / brv source remove to inspect or detach).

Documentation

Visit docs.byterover.dev for full guides on setup, integrations, and advanced usage.

TopicDescription
Getting StartedInstallation, first run, and basic usage
Cloud SyncPush/pull workflows and team sharing
Version ControlContext tree branching, commits, and collaboration
LLM ProvidersProvider setup and model configuration
AI Agent IntegrationsUsing ByteRover with Cursor, Claude Code, Windsurf, etc.
Hub & ConnectorsSkills, bundles, and the connector ecosystem
CLI ReferenceRun brv --help

Contributing

We welcome contributions! See our Contributing Guide for development setup, coding standards, and the PR workflow.

Community & Support

ByteRover CLI is built and maintained by the ByteRover team.

  • Join our Discord to share projects, ask questions, or just say hi
  • Report issues on GitHub
  • If you enjoy ByteRover CLI, please give us a star on GitHub β€” it helps a lot!
  • Follow @kevinnguyendn on X

Contributors

Contributors

Star History

License

Elastic License 2.0. See LICENSE for full terms.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "cipher": {
      "command": "cipher",
      "args": [
        "--mode",
        "mcp"
      ],
      "env": {
        "MCP_SERVER_MODE": "aggregator",
        "OPENAI_API_KEY": "your_openai_api_key",
        "ANTHROPIC_API_KEY": "your_anthropic_api_key"
      }
    }
  }
}

Use Cipher MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Cipher is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Cipher as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Cipher MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "cipher": {
      "command": "npx",
      "args": [
        "-y",
        "@byterover/cipher"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Cipher MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Cipher MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Cipher to help me with this task?
Cipher
Sure. I read it.
Here is what I found using Cipher.

Frequently asked questions

What is the Cipher MCP server used for?

Cipher is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Cipher MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Cipher with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Cipher MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Cipher connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Cipher MCP to TypingMind?

Cipher runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Cipher MCP provide in TypingMind?

Cipher exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Cipher MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Cipher requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter πŸ‘‡