CIE - Code Intelligence Engine

Servidor MCP de análisis de código local con más de 25 herramientas: búsqueda semántica, trazado de grafos de llamadas, análisis de dependencias y navegación de símbolos. Construido con Tree-sitter y CozoDB. Compatible con Go, Python, JS, TS.

Documentación

CIE - Code Intelligence Engine

Más de 20 herramientas MCP que brindan a los agentes de IA búsqueda semántica de código, análisis de grafos de llamadas y descubrimiento de endpoints — 100% local, indexa 100k líneas de código en segundos.

CIE Demo

En la práctica: al rastrear un grafo de llamadas en el código de MIE, Claude Code necesitó 34 llamadas a herramientas sin CIE. Con CIE, solo necesitó 3. Los resultados varían según la consulta, pero la inteligencia estructurada de código reduce consistentemente los viajes de ida y vuelta del agente.

Release codecov Go Report Card Go Version License

Inicio Rápido • Características • Documentación • Soporte


CIE indexa tu código y proporciona búsqueda semántica, análisis de grafos de llamadas y comprensión de código impulsada por IA a través del Protocolo de Contexto de Modelo (MCP).

¿Por qué CIE?

  • Búsqueda Semántica - Encuentra código por significado, no solo por coincidencia de texto
  • Análisis de Grafos de Llamadas - Traza rutas de ejecución, incluida la resolución de despacho de interfaces
  • MCP Nativo - Funciona perfectamente con Claude Code, Cursor y cualquier cliente MCP
  • Rápido - Indexa 100k líneas de código en segundos, consultas en milisegundos
  • Privado - Todos los datos permanecen locales, tu código nunca sale de tu máquina
  • Preciso - El refuerzo de palabras clave garantiza resultados relevantes para búsquedas de funciones

Instalación

MétodoComando
Homebrewbrew tap kraklabs/cie && brew install cie
Script de Instalacióncurl -sSL https://raw.githubusercontent.com/kraklabs/cie/main/install.sh | sh
Lanzamientos de GitHubDescargar binario

Características

Búsqueda Semántica de Código

Encuentra código por significado, no por palabras clave:

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

Ejemplo de salida:

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

Análisis de Grafos de Llamadas

Traza cómo la ejecución llega a cualquier función:

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

Ejemplo de salida:

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

Descubrimiento de Endpoints HTTP

Lista todos los endpoints de API automáticamente:

# Use cie_list_endpoints tool

Ejemplo de salida:

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

Soporte Multi-Lenguaje

Soporta Go, Python, JavaScript, TypeScript y más mediante analizadores Tree-sitter.

Inicio Rápido

1. Instala la CLI

Homebrew (macOS/Linux):

brew tap kraklabs/cie
brew install cie

Script:

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

Descarga manual: Descarga desde Lanzamientos de GitHub

2. Indexa Tu Repositorio

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

Ejemplo de salida:

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

Nota: CIE funciona sin Ollama -- tendrás acceso a más de 20 herramientas, incluyendo grep, grafo de llamadas, buscador de funciones y más. La búsqueda semántica requiere embeddings de Ollama u otro proveedor.

Comandos de Gestión

ComandoDescripción
cie init -yInicializa la configuración del proyecto
cie indexIndexa (o re-indexa) el código
cie reset --yesElimina todos los datos indexados del proyecto

Modo Servidor MCP

CIE puede ejecutarse como servidor MCP para integración con Claude Code:

cie --mcp

Configura en los ajustes de Claude Code:

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

Configuración

CIE usa un archivo de configuración YAML (.cie/project.yaml):

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

Los embeddings son opcionales. CIE funciona sin Ollama ni ningún proveedor de embeddings. Tienes acceso completo a todas las herramientas estructurales (grep, grafo de llamadas, buscador de funciones, etc.). Solo la búsqueda semántica (cie_semantic_search) requiere embeddings.

También puedes configurar un LLM para la generación 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: La sección llm es opcional. Sin ella, cie_analyze devuelve datos de análisis sin procesar. Con ella configurada, obtienes resúmenes narrativos sintetizados.

Herramientas MCP

Cuando se ejecuta como servidor MCP, CIE proporciona más de 20 herramientas organizadas por categoría:

Navegación y Búsqueda

HerramientaDescripción
cie_grepBúsqueda rápida de texto literal (sin regex)
cie_semantic_searchBúsqueda basada en significado usando embeddings
cie_find_functionEncuentra funciones por nombre (maneja sintaxis de receptor)
cie_find_typeEncuentra tipos/interfaces/structs
cie_find_similar_functionsEncuentra funciones con nombres similares
cie_list_filesLista archivos indexados con filtros
cie_list_functions_in_fileLista todas las funciones en un archivo

Análisis de Grafos de Llamadas

HerramientaDescripción
cie_find_callersEncuentra qué llama a una función
cie_find_calleesEncuentra qué llama una función
cie_trace_pathTraza rutas de llamadas desde puntos de entrada hasta el objetivo
cie_get_call_graphObtén el grafo de llamadas completo de una función

Comprensión de Código

HerramientaDescripción
cie_analyzeAnálisis arquitectónico (narrativa LLM opcional)
cie_get_function_codeObtén el código fuente de una función
cie_directory_summaryObtén una vista general del directorio con funciones principales
cie_find_implementationsEncuentra tipos que implementan una interfaz
cie_get_file_summaryObtén un resumen de todas las entidades en un archivo

Descubrimiento HTTP/API

HerramientaDescripción
cie_list_endpointsLista endpoints HTTP/REST de frameworks comunes de Go
cie_list_servicesLista servicios gRPC y métodos RPC de archivos .proto

Seguridad y Verificación

HerramientaDescripción
cie_verify_absenceVerifica que los patrones no existan (auditorías de seguridad)

Sistema

HerramientaDescripción
cie_index_statusVerifica el estado de indexación y estadísticas
cie_search_textBúsqueda de texto basada en regex en código de funciones
cie_raw_queryEjecuta consultas CozoScript sin procesar

Para documentación detallada de cada herramienta con ejemplos, consulta Referencia de Herramientas

Almacenamiento de Datos

CIE almacena datos indexados localmente en <local_data_dir>/<project_id>/ (predeterminado: ~/.cie/data/<project_id>/) usando CozoDB integrado con backend RocksDB. Esto garantiza:

  • Tu código nunca sale de tu máquina
  • Consultas locales rápidas
  • Índice persistente entre sesiones

Proveedores de Embeddings

CIE soporta múltiples proveedores de embeddings:

ProveedorConfiguración
OllamaOLLAMA_HOST, OLLAMA_EMBED_MODEL
OpenAIOPENAI_API_KEY, OPENAI_EMBED_MODEL
NomicNOMIC_API_KEY

Documentación

GuíaDescripción
Primeros PasosTutorial paso a paso desde la instalación hasta la primera consulta
ConfiguraciónReferencia completa de configuración
Referencia de HerramientasLas más de 20 herramientas MCP con ejemplos
ArquitecturaCómo funciona CIE internamente
Integración MCPConfiguración con Claude Code, Cursor
Guía de MigraciónMigración de Docker al modo integrado
Guía de PruebasEjecutar pruebas y agregar nuevas pruebas
BenchmarksDatos de rendimiento y ajuste
Códigos de SalidaCódigos de salida de CLI para scripting
Solución de ProblemasProblemas comunes y soluciones

Arquitectura

CIE usa una arquitectura integrada -- un solo binario maneja indexación, consultas y servicio MCP sin servicios externos requeridos:

┌──────────────────────────────────────────────────────────────┐
│  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 Clave:

  • CLI de CIE: Un solo binario maneja indexación, consultas y servicio MCP
  • CozoDB + RocksDB: Base de datos integrada almacenada localmente en <local_data_dir>/<project> (predeterminado ~/.cie/data/<project>)
  • Ollama (opcional): Generación local de embeddings para búsqueda semántica
  • Tree-sitter: Análisis de código para Go, Python, JS, TS

Estructura del 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 detalles profundos de arquitectura, consulta Guía de Arquitectura.

Desarrollo

Pruebas

# Run all tests
go test ./...

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

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

Para documentación detallada de pruebas, consulta docs/testing.md.

Escribir Pruebas

Usa los ayudantes de prueba de CIE para una configuración fácil:

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)
}

Compilación

# Build all commands
make build-all

# Format code
make fmt

# Run linter
make lint

Soporte

¿Necesitas ayuda o quieres contribuir?

Antes de abrir un problema:

  1. Consulta la guía de solución de problemas
  2. Busca problemas existentes
  3. Incluye la versión de CIE: cie --version
  4. Proporciona pasos mínimos de reproducción

Contribuciones

Consulta CONTRIBUTING.md para las pautas.

CIE Enterprise

Escala la inteligencia de código en toda tu organización.

CIE Enterprise lleva el poder de la búsqueda semántica de código y el análisis de grafos de llamadas a equipos de cualquier tamaño. Construido para organizaciones que exigen confiabilidad, seguridad y colaboración.

¿Por qué Enterprise?

CaracterísticaCódigo AbiertoEnterprise
Búsqueda Semántica✅✅
Análisis de Grafos de Llamadas✅✅
Embeddings Locales (768 dim)✅✅
Arquitectura Distribuida—✅
Colaboración en Equipo—✅
Integración CI/CD—✅
Embeddings de Alta Fidelidad (1536 dim)—✅
LLMs Integrados—✅
Soporte Prioritario—✅

Características Enterprise

Arquitectura Distribuida Despliega CIE en tu infraestructura con un Hub Principal y Cachés de Borde. Todos los miembros del equipo se conectan al mismo código indexado con consultas de latencia de milisegundos en todo el mundo.

Colaboración en Equipo Comparte inteligencia de código en toda tu organización de ingeniería. Un índice, una fuente de verdad—sin más conocimiento aislado.

Integración CI/CD Mantén automáticamente tu índice de código actualizado con cada commit. Integración nativa con GitHub Actions, GitLab CI, Jenkins y más.

Embeddings de Alta Fidelidad Embeddings de 1536 dimensiones impulsados por OpenAI para una precisión superior en búsqueda semántica. Encuentra exactamente lo que buscas, incluso en codebases masivos.

LLMs Integrados Conecta tu proveedor de LLM preferido para análisis de código mejorado, conocimientos arquitectónicos y consultas en lenguaje natural sobre tu código.

Soporte Prioritario Acceso directo a nuestro equipo de ingeniería. SLAs, canales de soporte dedicados y asistencia de implementación.

Comenzar

Contáctanos: enterprise@kraklabs.com

Programa una demostración para ver cómo CIE Enterprise puede transformar el flujo de trabajo de desarrollo de tu equipo.


Licencia

CIE tiene doble licencia:

Licencia de Código Abierto (AGPL v3)

CIE es gratuito y de código abierto bajo la GNU Affero General Public License v3.0 (AGPL v3).

Usa CIE gratis si:

  • Estás construyendo software de código abierto
  • Puedes publicar tus modificaciones bajo AGPL v3
  • Estás de acuerdo con los requisitos de copyleft

Consulta LICENCIA para los términos completos de AGPL v3.

Licencia Comercial

¿Necesitas usar CIE en un producto o servicio de código cerrado? Ofrecemos licencias comerciales que eliminan los requisitos de AGPL.

La licencia comercial es adecuada para ti si:

  • Quieres usar CIE en un producto propietario
  • Quieres ofrecer CIE como servicio gestionado sin publicar tu código
  • Las políticas de tu organización prohíben software con licencia AGPL
  • Quieres modificar CIE sin publicar tus modificaciones

Precios: Contacta a licensing@kraklabs.com para detalles.

Consulta LICENSE.commercial para más información.

¿Por qué doble licencia? Este modelo nos permite:

  • Mantener CIE gratuito para la comunidad de código abierto
  • Asegurar que las mejoras beneficien a todos mediante el copyleft de AGPL
  • Financiar el desarrollo de manera sostenible mediante licencias comerciales
  • Habilitar la adopción empresarial sin preocupaciones legales

Componentes de Terceros

CIE incluye algunos componentes de terceros con sus propias licencias:

Estos componentes son compatibles con AGPL v3 y conservan sus licencias originales.

Proyectos Relacionados

  • CozoDB - La base de datos embebida que impulsa CIE
  • Tree-sitter - Generador de analizadores para análisis de código
  • MCP - Especificación del Protocolo de Contexto de Modelo