Kontexta

Herramienta de gestión de contexto con interoperabilidad entre agentes y completamente local.

Documentación

Kontexta: motor de espacio de trabajo + contexto para agentes de codificaciónREV 5.0.0

Tus agentes tienen memoria. Simplemente no es tuya.

Claude Code, Cursor, Codex, Gemini, Copilot y cualquier otro agente mantienen su propio silo. kontexta es un espacio de trabajo compartido en tu máquina: bóveda, diario, calendario, manos y un perfil que el agente respeta. Con capacidad de búsqueda, versionado y portátil entre todas las herramientas.

$ npx kontexta start

FIG. 0: BUCLE EN VIVO

Claude Code corrige el error y lo registra en el diario. Hermes, una herramienta diferente sin contexto previo, lo recupera desde la misma bóveda local. Conecta tus clientes →

58

Herramientas MCP

10

Clientes

100%

Local

4x

Ahorro de Tokens

kontexta MCP server score

72.8%

Menos tokens consumidos por tarea

4.0×

Presupuesto de contexto liberado para razonamiento

Quirúrgico

Lee archivos específicos y secciones de markdown

PRINCIPIO DE FUNCIONAMIENTO

kontexta convierte a los agentes de IA de sesiones de chat aisladas en un sistema operativo continuo.

OPT-01

npx

Recomendado

Un solo comando. Panel + MCP juntos. Requiere Node 22 LTS.

Ver procedimiento →✓ Panel + MCP

OPT-02

Docker

Alternativa

Bóveda persistente en un volumen del host.

Ver procedimiento →✓ Panel + MCP

OPT-03

Solo MCP

Sin interfaz

Servidor MCP sin interfaz desde npm. Sin panel, sin puertos. Requiere Node 22 LTS.

Ver procedimiento →Solo MCP

OPT-04

Contribuidores

Avanzado

Clona, inicia, hackea. Apache-2.0.

Ver procedimiento →✓ Panel + MCP

[REF. T

Explora las 58 herramientas →

El inventario completo de MCP: búsqueda, lecturas quirúrgicas, Hands, informes, diario, calendario.

](https://kontexta.dev/tools)[REF. P

Publica tus documentos →

Bóveda → sitios de documentación, referencias de API y llms.txt.

](https://kontexta.dev/publish)[REF. C

Cómo se compara →

Una tabla honesta frente a CLAUDE.md, memoria del proveedor, mem0, Linksee y Cosmos.

](https://kontexta.dev/compare)[REF. S

Configura tu cliente →

Fragmentos de configuración para los 10 agentes compatibles.

](https://kontexta.dev/setup)

N-01¿Dónde viven mis datos?

En tu máquina. Por defecto, los datos se guardan en ~/.local/share/kontexta (Linux), ~/Library/Application Support/kontexta (macOS) o %APPDATA%\kontexta (Windows), sin necesidad de configuración. Puedes anular esto con KONTEXTA_DATA_DIR. Todo está indexado en una base de datos SQLite local. No se envía nada a servicios de terceros: sin API de embeddings, sin telemetría, sin sincronización en la nube. Tu único tráfico saliente es el git push opcional a un remoto que configures tú mismo.

N-02¿En qué se diferencia esto de una base de datos vectorial o un pipeline RAG?

Kontexta usa SQLite FTS5 para recuperación determinista por palabras clave y expresiones regulares. Sin embeddings, sin conjeturas de similitud semántica. La misma consulta devuelve los mismos resultados, siempre. También obtienes búsqueda exacta por subcadena/regex (captura URLs, identificadores, términos con guiones que los tokenizadores omiten).

N-03¿Cómo se aísla la ejecución de Hands?

Las herramientas Hands se declaran por proyecto en kontexta.json, por lo que los agentes no pueden inventar comandos. Cada invocación se ejecuta sin intérprete de shell, con un directorio de trabajo bloqueado y un entorno depurado (solo se reenvían PATH, HOME, USER, LANG, TZ). La salida está limitada mediante un búfer circular; los tiempos de espera matan todo el grupo de procesos. Los parámetros argv se validan con patrones re2 (a prueba de ReDoS) con un límite de 8 KB UTF-8, y el patrón predeterminado bloquea la inyección de argv con guion inicial.

N-04¿El agente necesita recordar registrar su trabajo?

No. El servidor MCP envuelve cada registro de herramienta al inicio, por lo que cada llamada escribe automáticamente una línea por evento en el registro de eventos de solo añadido del proyecto: fsync por escritura, redactado para argumentos sensibles, con contexto de rama/commit de git adjunto. Los agentes pueden enriquecer el registro con journal.write (kind: 'note' para decisiones, kind: 'intent' para cambios de tema), pero la captura duradera ocurre sin participación del agente. La destilación periódica (manual mediante journal.distill, o programada mediante la WebUI) convierte el registro de eventos sin procesar en resúmenes markdown por tema indexados en la misma superficie FTS5 que el resto de la bóveda.

N-05¿Puedo exigir aprobación humana antes de que se ejecuten comandos destructivos?

Sí. Marca una herramienta Hands como de confirmación requerida y devuelve un token de un solo uso vinculado a CSPRNG que expira en 60 segundos. El agente debe llamar a hands.confirm con ese token para ejecutar realmente. El token es la autenticación y no se puede reproducir.

N-06¿Qué impide que una URL maliciosa acceda a mi red interna?

El recortador de URLs realiza resolución DNS y rechaza cada dirección resuelta contra una lista de bloqueo: loopback, IPv4/IPv6 privado, link-local, CGNAT, multicast, IPv6 mapeado a IPv4 y nombres de host especiales (localhost, *.local, *.internal, *.lan). Los endpoints de metadatos en la nube como 169.254.169.254 están bloqueados. Las redirecciones se siguen manualmente con revalidación por salto (máximo 5 saltos), por lo que una URL pública que redirija 302 al servicio de metadatos sigue siendo rechazada. Los cuerpos de respuesta se transmiten con un límite de 10 MiB.

N-07¿Cómo se protegen las operaciones del sistema de archivos?

Cada ruta se verifica con assertPathInside antes de leer o escribir; los archivos no pueden escapar de su raíz de proyecto o base KB. files.move valida la contención tanto del origen como del destino. Los enlaces simbólicos se omiten (lstatSync) para que un bucle bajo tu bóveda no pueda recurrir infinitamente. Las escrituras son atómicas (archivo temporal + rename) para que un bloqueo a mitad de escritura no pueda corromper un archivo. Las respuestas de descarga eliminan CR/LF de los nombres de archivo y usan codificación RFC 5987 para bloquear la división de respuestas HTTP.

N-08¿Qué pasa con los secretos en mensajes de error o salida de git?

La salida de errores de git pasa por redactCredentials() antes de registrarse o devolverse a los clientes; los patrones user:pass@ en URLs se eliminan. La salida de Hands también está limitada y acotada para que un proceso descontrolado no pueda filtrar mediante volumen de registro.

N-09¿Funciona sin conexión?

Completamente. El servidor MCP, la interfaz web y el índice SQLite son todos locales. El git push para copia de seguridad es opcional y es la única operación que toca la red.

N-10¿Qué agentes funcionan con kontexta?

Cualquier cosa que hable MCP: Claude Code, Cursor, Gemini CLI, Codex, Continue, Antigravity, Claude Desktop, Aider, Cline y OpenClaw. La herramienta admin.onboard_agent detecta automáticamente y escribe el archivo de contexto correcto (CLAUDE.md, AGENTS.md, GEMINI.md,.cursor/rules/*,.continue/rules/*,.aider/kontexta.md,.cline/kontexta.md,.openclaw/kontexta.md) para que los agentes adopten el flujo de trabajo automáticamente.

N-11¿Cuál es la licencia?

Apache-2.0. Úsalo comercialmente, haz fork, intégralo. Sin devolución de telemetría, sin trampas.

N-12¿Cómo configuro kontexta para OpenClaw?

Añade el servidor MCP de Kontexta a tu configuración de OpenClaw. Para una instancia local de Kontexta, configura OpenClaw para conectarse vía stdio con el comando openclaw\ y los argumentos \["mcp", "serve",...\]\. Para una Gateway remota, usa openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token\. OpenClaw también admite contexto basado en archivos mediante .openclaw/kontexta.md\.

CH-01

GitHub

Código fuente, problemas, discusiones.

Abrir repositorio CH-02

npm

kontexta (panel + MCP) y kontexta-mcp (sin interfaz) en el registro.

Ver paquete CH-03

Docker Hub

safiyu/kontexta: imagen oficial.

Extraer imagen CH-04

Glama

Listado del directorio MCP.

Ver en Glama CH-05

Peerlist

Lanzado en Peerlist Launchpad.

Ver en Peerlist