CIE - Code Intelligence Engine

Servidor MCP de análise de código local com mais de 25 ferramentas: busca semântica, rastreamento de grafo de chamadas, análise de dependências e navegação de símbolos. Construído com Tree-sitter e CozoDB. Suporta Go, Python, JS, TS.

Documentação

CIE - Code Intelligence Engine

Mais de 20 ferramentas MCP que dão a agentes de IA busca semântica de código, análise de grafo de chamadas e descoberta de endpoints — 100% local, indexa 100 mil linhas de código em segundos.

CIE Demo

Na prática: ao rastrear um grafo de chamadas no código do MIE, o Claude Code precisou de 34 chamadas de ferramenta sem o CIE. Com o CIE, precisou de apenas 3. Os resultados variam conforme a consulta, mas a inteligência estruturada de código reduz consistentemente as idas e voltas do agente.

Release codecov Go Report Card Go Version License

Início Rápido • Recursos • Documentação • Suporte


O CIE indexa seu código e fornece busca semântica, análise de grafo de chamadas e compreensão de código com IA por meio do Model Context Protocol (MCP).

Por que o CIE?

  • Busca Semântica - Encontre código pelo significado, não apenas por correspondência de texto
  • Análise de Grafo de Chamadas - Trace caminhos de execução, incluindo resolução de despacho de interfaces
  • Nativo MCP - Funciona perfeitamente com Claude Code, Cursor e qualquer cliente MCP
  • Rápido - Indexa 100 mil linhas de código em segundos, consultas em milissegundos
  • Privado - Todos os dados permanecem locais, seu código nunca sai da sua máquina
  • Preciso - Reforço de palavras-chave garante resultados relevantes para buscas de funções

Instalação

MétodoComando
Homebrewbrew tap kraklabs/cie && brew install cie
Script de Instalaçãocurl -sSL https://raw.githubusercontent.com/kraklabs/cie/main/install.sh | sh
GitHub ReleasesBaixar binário

Recursos

Busca Semântica de Código

Encontre código pelo significado, não por palavras-chave:

# Ask: "Where is authentication middleware?"
# Use cie_semantic_search tool via MCP

Exemplo de saída:

[95%] AuthMiddleware (internal/http/auth.go:42)
[76%] ValidateToken (internal/auth/jwt.go:103)

Análise de Grafo de Chamadas

Trace como a execução chega a qualquer função:

# Question: "How does main() reach database.Connect()?"
# Use cie_trace_path tool

Exemplo de saída:

main → InitApp → SetupDatabase → database.Connect
  ├─ File: cmd/server/main.go:25
  ├─ File: internal/app/init.go:42
  └─ File: internal/database/setup.go:18

Descoberta de Endpoints HTTP

Liste todos os endpoints de API automaticamente:

# Use cie_list_endpoints tool

Exemplo de saída:

[GET]    /api/v1/users          → HandleGetUsers
[POST]   /api/v1/users          → HandleCreateUser
[DELETE] /api/v1/users/:id      → HandleDeleteUser

Suporte a Múltiplas Linguagens

Suporta Go, Python, JavaScript, TypeScript e mais por meio dos parsers Tree-sitter.

Início Rápido

1. Instale a CLI

Homebrew (macOS/Linux):

brew tap kraklabs/cie
brew install cie

Script:

curl -sSL https://raw.githubusercontent.com/kraklabs/cie/main/install.sh | sh

Download manual: Baixe em GitHub Releases

2. Indexe Seu Repositório

cd /path/to/your/repo
cie init -y    # Initialize project configuration
cie index      # Index the codebase (works without Ollama too)

Exemplo de saída:

Project: your-repo-name
Files: 1,234
Functions: 5,678
Types: 890
Last indexed: 2 minutes ago

Nota: O CIE funciona sem Ollama — você terá acesso a mais de 20 ferramentas, incluindo grep, grafo de chamadas, localizador de funções e muito mais. A busca semântica requer embeddings do Ollama ou de outro provedor.

Comandos de Gerenciamento

ComandoDescrição
cie init -yInicializa a configuração do projeto
cie indexIndexa (ou reindexa) o código
cie reset --yesExclui todos os dados indexados do projeto

Modo Servidor MCP

O CIE pode ser executado como um servidor MCP para integração com o Claude Code:

cie --mcp

Configure nas configurações do seu Claude Code:

{
  "mcpServers": {
    "cie": {
      "command": "cie",
      "args": ["--mcp"]
    }
  }
}

Configuração

O CIE usa um arquivo de configuração YAML (.cie/project.yaml):

version: "1"
project_id: my-project
embedding:
  provider: ollama
  base_url: http://localhost:11434
  model: nomic-embed-text

Embeddings são opcionais. O CIE funciona sem Ollama ou qualquer provedor de embeddings. Você tem acesso total a todas as ferramentas estruturais (grep, grafo de chamadas, localizador de funções, etc.). Apenas a busca semântica (cie_semantic_search) requer embeddings.

Você também pode configurar um LLM para geração de narrativas cie_analyze:

# Optional: LLM for cie_analyze narrative generation
llm:
  enabled: true
  base_url: http://localhost:11434  # Ollama
  model: llama3
  # For OpenAI: base_url: https://api.openai.com/v1, model: gpt-4o-mini

Nota: A seção llm é opcional. Sem ela, o cie_analyze retorna dados brutos de análise. Com ela configurada, você obtém resumos narrativos sintetizados.

Ferramentas MCP

Quando executado como servidor MCP, o CIE fornece mais de 20 ferramentas organizadas por categoria:

Navegação e Busca

FerramentaDescrição
cie_grepBusca rápida de texto literal (sem regex)
cie_semantic_searchBusca baseada em significado usando embeddings
cie_find_functionEncontra funções pelo nome (lida com sintaxe de receiver)
cie_find_typeEncontra tipos/interfaces/structs
cie_find_similar_functionsEncontra funções com nomes semelhantes
cie_list_filesLista arquivos indexados com filtros
cie_list_functions_in_fileLista todas as funções em um arquivo

Análise de Grafo de Chamadas

FerramentaDescrição
cie_find_callersDescobre o que chama uma função
cie_find_calleesDescobre o que uma função chama
cie_trace_pathTraça caminhos de chamada de pontos de entrada até o alvo
cie_get_call_graphObtém o grafo de chamadas completo de uma função

Compreensão de Código

FerramentaDescrição
cie_analyzeAnálise arquitetural (narrativa LLM opcional)
cie_get_function_codeObtém o código-fonte da função
cie_directory_summaryObtém visão geral do diretório com funções principais
cie_find_implementationsEncontra tipos que implementam uma interface
cie_get_file_summaryObtém resumo de todas as entidades em um arquivo

Descoberta HTTP/API

FerramentaDescrição
cie_list_endpointsLista endpoints HTTP/REST de frameworks Go comuns
cie_list_servicesLista serviços gRPC e métodos RPC de arquivos .proto

Segurança e Verificação

FerramentaDescrição
cie_verify_absenceVerifica se padrões não existem (auditorias de segurança)

Sistema

FerramentaDescrição
cie_index_statusVerifica integridade e estatísticas da indexação
cie_search_textBusca de texto baseada em regex no código de funções
cie_raw_queryExecuta consultas CozoScript brutas

Para documentação detalhada de cada ferramenta com exemplos, consulte Referência de Ferramentas

Armazenamento de Dados

O CIE armazena dados indexados localmente em <local_data_dir>/<project_id>/ (padrão: ~/.cie/data/<project_id>/) usando CozoDB embutido com backend RocksDB. Isso garante:

  • Seu código nunca sai da sua máquina
  • Consultas locais rápidas
  • Índice persistente entre sessões

Provedores de Embeddings

O CIE suporta vários provedores de embeddings:

ProvedorConfiguração
OllamaOLLAMA_HOST, OLLAMA_EMBED_MODEL
OpenAIOPENAI_API_KEY, OPENAI_EMBED_MODEL
NomicNOMIC_API_KEY

Documentação

GuiaDescrição
ComeçandoTutorial passo a passo da instalação à primeira consulta
ConfiguraçãoReferência completa de configuração
Referência de FerramentasTodas as mais de 20 ferramentas MCP com exemplos
ArquiteturaComo o CIE funciona internamente
Integração MCPConfiguração com Claude Code, Cursor
Guia de MigraçãoMigrando do Docker para o modo embutido
Guia de TestesExecutando testes e adicionando novos testes
BenchmarksDados de desempenho e ajustes
Códigos de SaídaCódigos de saída da CLI para scripts
Solução de ProblemasProblemas comuns e soluções

Arquitetura

O CIE usa uma arquitetura embutida — um único binário lida com indexação, consultas e serviço MCP sem exigir serviços externos:

┌──────────────────────────────────────────────────────────────┐
│  Host Machine                                                 │
│  ┌──────────────────────────────────────────────────────┐    │
│  │  CLI `cie`                                            │    │
│  │  - cie init   → Creates .cie/project.yaml            │    │
│  │  - cie index  → Parses code, writes to local CozoDB  │    │
│  │  - cie --mcp  → Reads from local CozoDB              │    │
│  │                                                       │    │
│  │  Data: <local_data_dir>/<project>/ (RocksDB)         │    │
│  └──────────────────────────────────────────────────────┘    │
│                                                               │
│  ┌──────────────┐  (optional)                                │
│  │   Ollama     │  For semantic search embeddings            │
│  │  :11434      │  Install: brew install ollama              │
│  └──────────────┘  Model: nomic-embed-text                   │
└──────────────────────────────────────────────────────────────┘

Componentes Principais:

  • CLI do CIE: Binário único que lida com indexação, consultas e serviço MCP
  • CozoDB + RocksDB: Banco de dados embutido armazenado localmente em <local_data_dir>/<project> (padrão ~/.cie/data/<project>)
  • Ollama (opcional): Geração local de embeddings para busca semântica
  • Tree-sitter: Análise de código para Go, Python, JS, TS

Estrutura do Código:

cie/
├── cmd/cie/           # CLI tool with init, index, query, MCP commands
├── pkg/
│   ├── ingestion/     # Tree-sitter parsers and indexing pipeline
│   ├── tools/         # 20+ MCP tool implementations
│   ├── llm/           # LLM provider abstractions (OpenAI, Ollama)
│   ├── cozodb/        # CozoDB wrapper for Datalog queries
│   └── storage/       # Storage backend interface
└── docs/              # Documentation

Para detalhes aprofundados da arquitetura, consulte Guia de Arquitetura.

Desenvolvimento

Testes

# Run all tests
go test ./...

# Run with short flag
go test -short ./...

# Run integration tests with CozoDB
go test -tags=cozodb ./...

Para documentação detalhada de testes, consulte docs/testing.md.

Escrevendo Testes

Use os auxiliares de teste do CIE para configuração fácil de testes:

import cietest "github.com/kraklabs/cie/internal/testing"

func TestMyFeature(t *testing.T) {
    backend := cietest.SetupTestBackend(t)
    cietest.InsertTestFunction(t, backend, "func1", "MyFunc", "file.go", 10, 20)

    result := cietest.QueryFunctions(t, backend)
    require.Len(t, result.Rows, 1)
}

Compilação

# Build all commands
make build-all

# Format code
make fmt

# Run linter
make lint

Suporte

Precisa de ajuda ou quer contribuir?

Antes de abrir um problema:

  1. Consulte o guia de solução de problemas
  2. Pesquise problemas existentes
  3. Inclua a versão do CIE: cie --version
  4. Forneça etapas mínimas de reprodução

Contribuindo

Consulte CONTRIBUTING.md para diretrizes.

CIE Enterprise

Escale a inteligência de código em toda a sua organização.

O CIE Enterprise traz o poder da busca semântica de código e da análise de grafo de chamadas para equipes de qualquer tamanho. Construído para organizações que exigem confiabilidade, segurança e colaboração.

Por que Enterprise?

RecursoOpen SourceEnterprise
Busca Semântica✅✅
Análise de Grafo de Chamadas✅✅
Embeddings Locais (768 dim)✅✅
Arquitetura Distribuída—✅
Colaboração em Equipe—✅
Integração CI/CD—✅
Embeddings de Alta Fidelidade (1536 dim)—✅
LLMs Integrados—✅
Suporte Prioritário—✅

Recursos Enterprise

Arquitetura Distribuída Implante o CIE em sua infraestrutura com um Hub Primário e Caches de Borda. Todos os membros da equipe se conectam ao mesmo código indexado com consultas de latência de milissegundos em todo o mundo.

Colaboração em Equipe Compartilhe inteligência de código em toda a sua organização de engenharia. Um índice, uma fonte de verdade — sem mais conhecimento isolado.

Integração CI/CD Mantenha automaticamente seu índice de código atualizado a cada commit. Integração nativa com GitHub Actions, GitLab CI, Jenkins e mais.

Embeddings de Alta Fidelidade Embeddings de 1536 dimensões com tecnologia OpenAI para precisão superior de busca semântica. Encontre exatamente o que procura, mesmo em bases de código massivas.

LLMs Integrados Conecte seu provedor de LLM preferido para análise aprimorada de código, insights arquiteturais e consultas em linguagem natural sobre seu código.

Suporte Prioritário Acesso direto à nossa equipe de engenharia. SLAs, canais de suporte dedicados e assistência de implementação.

Comece Agora

Contate-nos: enterprise@kraklabs.com

Agende uma demonstração para ver como o CIE Enterprise pode transformar o fluxo de trabalho de desenvolvimento da sua equipe.


Licença

O CIE é duplamente licenciado:

Licença Open Source (AGPL v3)

O CIE é gratuito e open source sob a GNU Affero General Public License v3.0 (AGPL v3).

Use o CIE gratuitamente se:

  • Você está construindo software open source
  • Você pode liberar suas modificações sob AGPL v3
  • Você está de acordo com os requisitos de copyleft

Consulte LICENSE para os termos completos da AGPL v3.

Licença Comercial

Precisa usar o CIE em um produto ou serviço de código fechado? Oferecemos licenças comerciais que removem os requisitos da AGPL.

A licença comercial é ideal para você se:

  • Você quer usar o CIE em um produto proprietário
  • Você quer oferecer o CIE como um serviço gerenciado sem liberar seu código
  • As políticas da sua organização proíbem software licenciado sob AGPL
  • Você quer modificar o CIE sem liberar suas modificações

Preços: Contate licensing@kraklabs.com para detalhes.

Consulte LICENSE.commercial para mais informações.

Por que duplo licenciamento? Este modelo nos permite:

  • Manter o CIE gratuito para a comunidade open source
  • Garantir que melhorias beneficiem a todos por meio do copyleft da AGPL
  • Financiar o desenvolvimento de forma sustentável por meio de licenciamento comercial
  • Permitir adoção empresarial sem preocupações legais

Componentes de Terceiros

O CIE inclui alguns componentes de terceiros com suas próprias licenças:

Esses componentes são compatíveis com AGPL v3 e mantêm suas licenças originais.

Projetos Relacionados

  • CozoDB - O banco de dados embarcado que alimenta o CIE
  • Tree-sitter - Gerador de parser para análise de código
  • MCP - Especificação do Model Context Protocol