Skip to main content
Glama

Cérebro 2.0

Context optimization server for OpenCode. Compresses LLM prompts via LLMLingua-2, injects task protocols, and provides a 2nd Brain knowledge graph.

Architecture

┌─────────────────────────────────────────────────┐
│                  OpenCode                        │
│  ┌──────────────┐  ┌──────────────────────────┐ │
│  │ Plugin       │  │ MCP Client               │ │
│  │ (hooks)      │  │ (tools)                  │ │
│  └──────┬───────┘  └────────────┬─────────────┘ │
│         │                       │                │
└─────────┼───────────────────────┼────────────────┘
          │                       │
    ┌─────▼─────┐          ┌──────▼──────┐
    │ Compressor │          │ MCP Server  │
    │ LLMLingua-2│          │ + HTTP API  │
    └─────┬─────┘          └──────┬──────┘
          │                       │
    ┌─────▼───────────────────────▼──────┐
    │           @cerebro/core             │
    │  compressor · task-injector · brain │
    └────────────────────────────────────┘

Packages

Package

Description

@cerebro/core

Compression engine, task injector, brain engine, metrics

@cerebro/mcp-server

MCP stdio server + HTTP API for dashboard

@cerebro/plugin

OpenCode plugin (message compression + task injection)

@cerebro/dashboard

Vite + React + Tailwind dashboard UI

Related MCP server: repocontext

Quick Start

# Install dependencies
pnpm install

# Approve native builds (onnxruntime-node)
pnpm approve-builds

# Run tests
pnpm test

# Build all packages
pnpm -r build

# Start MCP server (stdio for OpenCode)
node packages/mcp-server/dist/index.js

# Start dashboard dev server
pnpm --filter @cerebro/dashboard dev

Configuration

Environment variables (set in opencode.json under environment):

Variable

Default

Description

COMPRESSION_RATE

0.4

Compression rate (0.05–1.0, lower = more compression)

BRAIN_PATH

.context-brain

Path to 2nd Brain knowledge base

DASHBOARD_PORT

4321

HTTP API port for dashboard

ENABLE_TASK_INJECTION

true

Enable task protocol injection

PROTECTED_PATTERNS

code,json,errors,system

Comma-separated protected block patterns

OpenCode Integration

Add to opencode.json in your project root:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cerebro": {
      "type": "local",
      "command": ["node", "caminho/para/cerebro/packages/mcp-server/dist/index.js"],
      "environment": {
        "COMPRESSION_RATE": "0.4",
        "BRAIN_PATH": ".context-brain",
        "DASHBOARD_PORT": "4321",
        "ENABLE_TASK_INJECTION": "true"
      },
      "enabled": true
    }
  }
}

MCP Tools

compress_prompt

Compress text using LLMLingua-2 ONNX.

{ "text": "Your long prompt...", "rate": 0.4 }

brain_resolve

Query the 2nd Brain for a screen and its wiki-linked dependencies.

{ "screen": "dashboard-vendas", "depth": 1 }

brain_index

Index or update a screen in the knowledge graph.

{
  "id": "dashboard-vendas",
  "content": "---\ntitle: Dashboard Vendas\n---\n\n# Dashboard Vendas\n\nMetrics for the sales dashboard."
}

brain_screens

List all indexed screens. No parameters.

cerebro_metrics

Get compression metrics and token savings. No parameters.

cerebro_config

Get or set runtime configuration.

{ "key": "compressionRate", "value": 0.3 }

Dashboard

The dashboard runs on port 4321 and provides:

  • Métricas: Compression stats, token savings, recent events

  • 2º Cérebro: Browse indexed screens and their wiki-links

  • Config: View and edit runtime configuration

pnpm --filter @cerebro/dashboard dev
# Open http://localhost:4321

Plugin Hooks

The OpenCode plugin provides three hooks:

Hook

Description

experimental.chat.messages.transform

Compresses old messages before sending to LLM

experimental.chat.system.transform

Injects task protocol + self-check into system prompt

tool.execute.after

Logs tool execution for dashboard visibility

Development

# Type check all packages
pnpm -r typecheck

# Run tests
pnpm test

# Watch mode
npx vitest

# Build dashboard
pnpm --filter @cerebro/dashboard build

Testing

66 tests across 6 suites:

packages/core/src/          task-injector.test.ts (18) · metrics.test.ts (5)
packages/mcp-server/src/    errors.test.ts (9) · rate-limiter.test.ts (7) · e2e.test.ts (10)
packages/plugin/src/        plugin.test.ts (8)

Run with: pnpm test or npx vitest run

License

MIT

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides intelligent code context and analysis through semantic compression, AST parsing, and multi-language support. Offers 60-80% token reduction while enabling AI assistants to understand codebases through local analysis, OpenAI-enhanced insights, and GitHub repository integration.
    6
    14 npm
    3
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables AI coding agents and local LLMs to store and recall project memory, compact verbose logs, look up code symbols, create and rewind workspace snapshots, detect risky commands and loops, pack context optimally, and draft tokens through MCP tools.
    10
    2
    Apache 2.0