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.
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.
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étodo | Comando |
|---|---|
| Homebrew | brew tap kraklabs/cie && brew install cie |
| Script de Instalación | curl -sSL https://raw.githubusercontent.com/kraklabs/cie/main/install.sh | sh |
| Lanzamientos de GitHub | Descargar 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
| Comando | Descripción |
|---|---|
cie init -y | Inicializa la configuración del proyecto |
cie index | Indexa (o re-indexa) el código |
cie reset --yes | Elimina 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
| Herramienta | Descripción |
|---|---|
cie_grep | Búsqueda rápida de texto literal (sin regex) |
cie_semantic_search | Búsqueda basada en significado usando embeddings |
cie_find_function | Encuentra funciones por nombre (maneja sintaxis de receptor) |
cie_find_type | Encuentra tipos/interfaces/structs |
cie_find_similar_functions | Encuentra funciones con nombres similares |
cie_list_files | Lista archivos indexados con filtros |
cie_list_functions_in_file | Lista todas las funciones en un archivo |
Análisis de Grafos de Llamadas
| Herramienta | Descripción |
|---|---|
cie_find_callers | Encuentra qué llama a una función |
cie_find_callees | Encuentra qué llama una función |
cie_trace_path | Traza rutas de llamadas desde puntos de entrada hasta el objetivo |
cie_get_call_graph | Obtén el grafo de llamadas completo de una función |
Comprensión de Código
| Herramienta | Descripción |
|---|---|
cie_analyze | Análisis arquitectónico (narrativa LLM opcional) |
cie_get_function_code | Obtén el código fuente de una función |
cie_directory_summary | Obtén una vista general del directorio con funciones principales |
cie_find_implementations | Encuentra tipos que implementan una interfaz |
cie_get_file_summary | Obtén un resumen de todas las entidades en un archivo |
Descubrimiento HTTP/API
| Herramienta | Descripción |
|---|---|
cie_list_endpoints | Lista endpoints HTTP/REST de frameworks comunes de Go |
cie_list_services | Lista servicios gRPC y métodos RPC de archivos .proto |
Seguridad y Verificación
| Herramienta | Descripción |
|---|---|
cie_verify_absence | Verifica que los patrones no existan (auditorías de seguridad) |
Sistema
| Herramienta | Descripción |
|---|---|
cie_index_status | Verifica el estado de indexación y estadísticas |
cie_search_text | Búsqueda de texto basada en regex en código de funciones |
cie_raw_query | Ejecuta 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:
| Proveedor | Configuración |
|---|---|
| Ollama | OLLAMA_HOST, OLLAMA_EMBED_MODEL |
| OpenAI | OPENAI_API_KEY, OPENAI_EMBED_MODEL |
| Nomic | NOMIC_API_KEY |
Documentación
| Guía | Descripción |
|---|---|
| Primeros Pasos | Tutorial paso a paso desde la instalación hasta la primera consulta |
| Configuración | Referencia completa de configuración |
| Referencia de Herramientas | Las más de 20 herramientas MCP con ejemplos |
| Arquitectura | Cómo funciona CIE internamente |
| Integración MCP | Configuración con Claude Code, Cursor |
| Guía de Migración | Migración de Docker al modo integrado |
| Guía de Pruebas | Ejecutar pruebas y agregar nuevas pruebas |
| Benchmarks | Datos de rendimiento y ajuste |
| Códigos de Salida | Códigos de salida de CLI para scripting |
| Solución de Problemas | Problemas 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?
- Documentación: docs/
- Reportar Problemas: Problemas de GitHub
- Discusiones: Discusiones de GitHub
- Correo Electrónico: support@kraklabs.com
Antes de abrir un problema:
- Consulta la guía de solución de problemas
- Busca problemas existentes
- Incluye la versión de CIE:
cie --version - 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ística | Código Abierto | Enterprise |
|---|---|---|
| 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:
- CozoDB C Headers (MPL 2.0) - Consulta THIRD_PARTY_LICENSES.md para detalles
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