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: context-mcp

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

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
    16 npm
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides persistent memory and a codebase knowledge graph for AI coding assistants, enabling shared context across multiple tools like Claude, Cursor, and ChatGPT, with significant token reduction.
    5
    13 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI coding agents to retrieve and manage code context with hybrid search, project memory, and observability via MCP tools.
    29
    MIT