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.
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.
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étodo | Comando |
|---|---|
| Homebrew | brew tap kraklabs/cie && brew install cie |
| Script de Instalação | curl -sSL https://raw.githubusercontent.com/kraklabs/cie/main/install.sh | sh |
| GitHub Releases | Baixar 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
| Comando | Descrição |
|---|---|
cie init -y | Inicializa a configuração do projeto |
cie index | Indexa (ou reindexa) o código |
cie reset --yes | Exclui 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
| Ferramenta | Descrição |
|---|---|
cie_grep | Busca rápida de texto literal (sem regex) |
cie_semantic_search | Busca baseada em significado usando embeddings |
cie_find_function | Encontra funções pelo nome (lida com sintaxe de receiver) |
cie_find_type | Encontra tipos/interfaces/structs |
cie_find_similar_functions | Encontra funções com nomes semelhantes |
cie_list_files | Lista arquivos indexados com filtros |
cie_list_functions_in_file | Lista todas as funções em um arquivo |
Análise de Grafo de Chamadas
| Ferramenta | Descrição |
|---|---|
cie_find_callers | Descobre o que chama uma função |
cie_find_callees | Descobre o que uma função chama |
cie_trace_path | Traça caminhos de chamada de pontos de entrada até o alvo |
cie_get_call_graph | Obtém o grafo de chamadas completo de uma função |
Compreensão de Código
| Ferramenta | Descrição |
|---|---|
cie_analyze | Análise arquitetural (narrativa LLM opcional) |
cie_get_function_code | Obtém o código-fonte da função |
cie_directory_summary | Obtém visão geral do diretório com funções principais |
cie_find_implementations | Encontra tipos que implementam uma interface |
cie_get_file_summary | Obtém resumo de todas as entidades em um arquivo |
Descoberta HTTP/API
| Ferramenta | Descrição |
|---|---|
cie_list_endpoints | Lista endpoints HTTP/REST de frameworks Go comuns |
cie_list_services | Lista serviços gRPC e métodos RPC de arquivos .proto |
Segurança e Verificação
| Ferramenta | Descrição |
|---|---|
cie_verify_absence | Verifica se padrões não existem (auditorias de segurança) |
Sistema
| Ferramenta | Descrição |
|---|---|
cie_index_status | Verifica integridade e estatísticas da indexação |
cie_search_text | Busca de texto baseada em regex no código de funções |
cie_raw_query | Executa 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:
| Provedor | Configuração |
|---|---|
| Ollama | OLLAMA_HOST, OLLAMA_EMBED_MODEL |
| OpenAI | OPENAI_API_KEY, OPENAI_EMBED_MODEL |
| Nomic | NOMIC_API_KEY |
Documentação
| Guia | Descrição |
|---|---|
| Começando | Tutorial passo a passo da instalação à primeira consulta |
| Configuração | Referência completa de configuração |
| Referência de Ferramentas | Todas as mais de 20 ferramentas MCP com exemplos |
| Arquitetura | Como o CIE funciona internamente |
| Integração MCP | Configuração com Claude Code, Cursor |
| Guia de Migração | Migrando do Docker para o modo embutido |
| Guia de Testes | Executando testes e adicionando novos testes |
| Benchmarks | Dados de desempenho e ajustes |
| Códigos de Saída | Códigos de saída da CLI para scripts |
| Solução de Problemas | Problemas 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?
- Documentação: docs/
- Reportar Problemas: GitHub Issues
- Discussões: GitHub Discussions
- E-mail: support@kraklabs.com
Antes de abrir um problema:
- Consulte o guia de solução de problemas
- Pesquise problemas existentes
- Inclua a versão do CIE:
cie --version - 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?
| Recurso | Open Source | Enterprise |
|---|---|---|
| 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:
- Cabeçalhos C do CozoDB (MPL 2.0) - Consulte THIRD_PARTY_LICENSES.md para detalhes
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