Saltar al contenido
theus.pe ↗

Ñaupa MCP: conecta tu agente al mapa de tu código

Antes de que tu IA cambie código, dale un mapa. Ñaupa construye un índice local del repositorio y ofrece herramientas MCP para encontrar dependencias, explorar la arquitectura y analizar el posible impacto de un cambio. Puedes usarlo sin una cuenta ni una suscripción a Theus.

Esta guía explica cómo instalar el motor, conectarlo a un cliente MCP local y hacer una primera consulta. El cliente o modelo que elijas puede tener sus propios requisitos, permisos y costos.

Qué es

Ñaupa construye un grafo de conocimiento con símbolos y relaciones detectadas en el código. Sobre ese grafo el agente puede preguntar «¿quién llama a esta función?», «¿qué rutas usan esta tabla?» o «¿cómo se organiza este módulo?». Los resultados ayudan a orientar la lectura; no sustituyen revisar el código ni ejecutar las pruebas adecuadas.

  • Binario estático en C — sin runtime, sin dependencias; parsing por AST con tree-sitter para 158 lenguajes.
  • Resolución semántica: el análisis adicional de tipos y relaciones está disponible para un subconjunto de lenguajes. Soporte de sintaxis no significa idéntica precisión en todos ellos.
  • Grafo persistente — relaciones CALLS, rutas HTTP y data flows consultables con Cypher.
  • Consultas sobre un índice persistente: el tiempo y el consumo dependen del equipo, el repositorio, el modo de indexación y la consulta. No se garantiza un tiempo fijo ni un porcentaje de ahorro de tokens.
  • Embeddings incluidos — búsqueda semántica con embeddings nomic locales, sin llamadas a ninguna API.
  • 19 herramientas MCP — cualquier agente compatible con MCP puede usarlas.
  • UI 3D — visualización interactiva del grafo en http://localhost:9749.
  • Índice local: el procesamiento del motor ocurre en tu equipo. Los fragmentos devueltos al agente pueden formar parte del contexto que ese agente envía a su proveedor.

Instala solo Ñaupa

macOS y Linux

Este comando descarga la variante con UI, comprueba su SHA-256 y deja el motor en tu equipo sin modificar la configuración de otros agentes:

curl -fsSL https://theus.pe/naupa.sh | bash -s -- --ui --skip-config

--ui elige el binario con visualización. --skip-config es una opción del instalador web, no de naupa install. Si el instalador avisa de que su carpeta no está en PATH, sigue la indicación mostrada o usa la ruta absoluta al ejecutable.

Windows, sin instalar Theus CLI

Descarga el ZIP de Ñaupa para tu arquitectura usando los enlaces de abajo. Compara su SHA-256 con checksums.txt antes de extraerlo y ejecutar el binario. No necesitas instalar Theus CLI para conectar Ñaupa a otro agente.

# Desde la carpeta donde descargaste el ZIP:
Get-FileHash .\naupa-ui-windows-amd64.zip -Algorithm SHA256

En un equipo ARM64, usa el nombre del ZIP ARM64. La huella debe coincidir con la línea de ese mismo archivo en checksums.txt. Si no coincide, no lo ejecutes.

Si prefieres instalar Theus CLI y Ñaupa juntos, consulta la página de descargas de Theus.

Ojo en PowerShell ahí curl es un alias de Invoke-WebRequest, no el curl real — un comando curl -fsSL … | bash copiado de esta página falla con «Falta un argumento para el parámetro 'SessionVariable'». Los comandos curl … | bash son solo para macOS/Linux (o WSL/Git Bash); en Windows usa el irm … | iex de arriba. Si necesitas el curl de verdad en Windows 10/11, escribe curl.exe.

Para instalación manual en macOS/Linux, elige el .tar.gz de tu plataforma en descargas de Ñaupa. La variante con visualización empieza por naupa-ui-. Comprueba la huella del archivo antes de extraerlo; el instalador recomendado realiza esta comprobación automáticamente.

Instalación manual en Windows: descarga el .zip de tu arquitectura — naupa-ui-windows-amd64.zip o naupa-ui-windows-arm64.zip —, descomprímelo y deja naupa.exe en una carpeta de tu PATH. Los checksums de todos los artefactos están en https://theus.pe/dl/naupa/checksums.txt.

Registro automático opcional

La conexión manual de la siguiente sección permite elegir un solo agente. Si prefieres el registro automático en los agentes detectados, primero revisa los cambios previstos:

naupa install --dry-run

Solo si quieres aplicar esos cambios, ejecuta:

naupa install
Revisa antes de aplicar naupa install puede modificar configuraciones de varios agentes, actualizar el ejecutable y detener otros procesos de Ñaupa. No es necesario para la conexión manual. Cierra tus sesiones de trabajo antes de usarlo.

Conecta el agente que elijas

Tu cliente debe admitir servidores MCP locales por stdio. En sus ajustes MCP, añade un servidor llamado naupa, indica la ruta absoluta al ejecutable y deja los argumentos vacíos. Si el cliente solo acepta una URL remota, esta configuración local no aplica.

Para localizar el binario en macOS/Linux:

command -v naupa
# Si la carpeta de instalacion no esta en PATH:
ls "$HOME/.local/bin/naupa"

En Windows, usa (Get-Command naupa.exe).Source si está en PATH, o (Resolve-Path .\naupa.exe).Path desde la carpeta donde lo extrajiste.

Conserva tu configuración los bloques siguientes son ejemplos para añadir un servidor, no instrucciones para reemplazar todo tu archivo de ajustes. Cambia /RUTA/ABSOLUTA/naupa por la ruta real de tu equipo. En JSON, las barras de Windows deben duplicarse: C:\\carpeta\\naupa.exe.

Clientes con una sección JSON mcpServers

{
  "mcpServers": {
    "naupa": {
      "command": "/RUTA/ABSOLUTA/naupa",
      "args": []
    }
  }
}

Editores con una sección JSON servers

{
  "servers": {
    "naupa": {
      "type": "stdio",
      "command": "/RUTA/ABSOLUTA/naupa",
      "args": []
    }
  }
}

Clientes con una sección TOML mcp_servers

[mcp_servers.naupa]
command = "/RUTA/ABSOLUTA/naupa"
args = []

El archivo y la estructura dependen del cliente. Usa el formato que documenta tu agente, no los tres a la vez. Reinicia el agente después de guardar y comprueba su panel MCP: Ñaupa debe aparecer conectado y ofrecer herramientas como search_graph y get_architecture.

Ñaupa pagina el listado de herramientas. Si un cliente solo muestra la primera página, necesita procesar nextCursor para obtener la lista completa.

No es una dirección MCP remota http://127.0.0.1:9749 es la UI del grafo. No la pegues como URL de un servidor MCP. El cliente debe iniciar el ejecutable por stdio.

Tu primera consulta

Abre un repositorio de confianza y sustituye la ruta del siguiente mensaje por la carpeta real. Indexar construye datos locales; revisar el código y sus permisos sigue siendo tu responsabilidad.

Usa Ñaupa para indexar el repositorio en RUTA_ABSOLUTA_DEL_PROYECTO.
Después consulta get_architecture y explica sus módulos y puntos de entrada.
Cita archivos y líneas. No modifiques código.

El agente puede usar index_repository con repo_path y consultar list_projects para conocer el identificador del índice. Usa ese identificador en las consultas posteriores: no tiene por qué coincidir con el nombre corto de la carpeta.

Tres preguntas para trabajo real

Impacto de un cambio: «Usa blast_radius para analizar mi git diff. Muestra funciones afectadas, rutas y pruebas candidatas. Explica qué no puede resolver el análisis. No edites código ni ejecutes pruebas».

Arquitectura: «Usa get_architecture para explicar los módulos y puntos de entrada de este repositorio, con referencias al código».

Encontrar una funcionalidad: «Busca con search_graph dónde se valida la sesión y sigue las llamadas con trace_path. Cita archivos y líneas; distingue los enlaces encontrados de los no resueltos».

Resultados, no garantías las pruebas sugeridas son candidatas. La reflexión, el despacho dinámico, el código generado y los enlaces no resueltos pueden dejar relaciones fuera del grafo.

Uso con Theus CLI

Con Theus no hay nada que configurar: si el binario naupa está instalado, Theus lo monta automáticamente como servidor MCP con el nombre theus-naupa al arrancar la sesión. Sus 19 herramientas aparecen junto a las nativas y el agente las usa cuando necesita entender la estructura del proyecto.

# kill-switch: arranca Theus sin montar Ñaupa
THEUS_NO_NAUPA=1 theus
UI del grafo requiere la variante naupa-ui y un servidor de Ñaupa activo. El puerto por defecto es 9749. Consulta /dashboard en Theus para abrirla o ver el diagnóstico. El dashboard clásico de Theus es otra interfaz; se selecciona con THEUS_DASHBOARD=neural.
En español y con nuevo diseño (Ñaupa 1.1.0) la UI 3D está completa en español por defecto (inglés y chino con naupa config set ui-lang es|en|zh|auto) y estrena diseño: paleta por conectividad, aristas por familia semántica con gradiente en las llamadas, niebla de profundidad, campo de estrellas, halo de selección y panel de detalle como overlay.
Estado del índice el arranque intenta habilitar el auto-indexado y el seguimiento de cambios. Comprueba index_status; si el índice falta o sigue pendiente, el agente puede usar index_repository. No des por construido un grafo solo porque la UI se abre.
La variable THEUS_NO_NAUPA=1 desactiva el montaje automático para esa sesión. Es útil para aislar problemas o en proyectos donde no quieras indexar nada.

Las 19 herramientas MCP

HerramientaQué hace
index_repositoryIndexa un repositorio y construye o actualiza su grafo de conocimiento (modos full/moderate/fast y enlace cross-repo).
search_graphBúsqueda híbrida sobre el grafo: full-text BM25 en lenguaje natural, patrón exacto por regex y búsqueda semántica vectorial, combinables en una sola llamada.
query_graphEjecuta una consulta Cypher arbitraria sobre el grafo de conocimiento.
trace_pathTraza rutas por el grafo: cadenas de llamadas, flujo de datos con argumentos en cada salto, y saltos entre servicios vía rutas HTTP.
get_code_snippetEl código fuente exacto de un símbolo por su nombre calificado (archivo:línea precisos).
get_graph_schemaEsquema del grafo: etiquetas de nodos y tipos de relaciones disponibles.
get_architectureVista de arquitectura del proyecto: módulos, capas, dependencias y puntos de entrada.
search_codeGrep aumentado con el grafo: agrupa los matches por función contenedora y los ordena por importancia estructural.
list_projectsLista todos los proyectos indexados en la máquina.
delete_projectElimina un proyecto y su grafo del índice local.
index_statusEstado y progreso de la indexación de un proyecto.
detect_changesDetecta cambios de código y calcula su impacto: el blast radius de una edición.
manage_adrRegistra y consulta decisiones de arquitectura (ADR) junto al grafo.
get_database_schemaEl esquema de base de datos detectado en el código (Prisma, migraciones SQL): tablas, columnas, claves, relaciones y cobertura.
table_usageQuién lee y quién escribe una tabla: funciones con archivo:línea, operación y la ruta HTTP que llega hasta ella.
db_healthSeñales de salud del esquema: tablas sin clave primaria, foreign keys sin índice, SQL por concatenación, con evidencia y severidad.
blast_radiusQué se rompe si tocas esto: lee el git diff con precisión de línea y devuelve las funciones afectadas con su distancia en saltos, qué tests correr en vez de la suite entera, y las rutas HTTP y tablas tocadas.
find_dead_codeCódigo al que nadie llega, con confianza alta/media y caveats honestos (no es una lista de borrado: la reflexión y el despacho por string son invisibles al análisis estático).
find_clonesFamilias de código duplicado agrupadas por similitud real, ordenadas por tamaño.
La visualización 3D del grafo no es una herramienta MCP: viene embebida en la variante naupa-ui del binario y se sirve sola en http://localhost:9749 mientras el servidor está montado. Theus la abre como dashboard del proyecto al arrancar.

Ejemplos reales

Las herramientas también están disponibles desde la línea de comandos con naupa cli <herramienta> '<json>':

# indexar el proyecto actual
naupa cli index_repository '{"repo_path":"."}'

# búsqueda híbrida sobre el grafo
naupa cli search_graph '{"project":"mi-proyecto","query":"dónde se valida el token de sesión"}'

# quién llama a una función (cadena de llamadas entrante)
naupa cli trace_path '{"project":"mi-proyecto","function_name":"handleLogin","direction":"inbound"}'

Consulta Cypher directa — por ejemplo, las 10 funciones más llamadas del proyecto:

naupa cli query_graph '{"project":"mi-proyecto","query":"MATCH (caller)-[:CALLS]->(f:Function) RETURN f.name, f.file, count(caller) AS llamadas ORDER BY llamadas DESC LIMIT 10"}'

Datos y privacidad

Ñaupa construye el índice en tu máquina. Eso no convierte automáticamente en local al agente conectado: los resultados MCP, incluidos fragmentos de código, pueden formar parte del contexto que ese agente envía a su proveedor. Revisa su política y configuración antes de usar repositorios sensibles.

La instalación y actualización descargan archivos de la distribución oficial. «Índice local» no significa que nunca haya tráfico de red ni que el servicio de modelos sea gratuito.

RutaQué contiene
~/.cache/naupa/<proyecto>.dbEl grafo de conocimiento y los embeddings del proyecto (caché local por proyecto).
~/.theus/naupa/Almacén que configura Theus CLI mediante CBM_CACHE_DIR. Puede ser distinto del usado por una instalación independiente.
.naupa.jsonConfiguración por proyecto en la raíz del repo: exclusiones, lenguajes, opciones de indexado.
.naupa/graph.db.zstArtefacto opcional del grafo comprimido, versionable para compartir el índice con el equipo.
Si dos agentes no muestran los mismos proyectos, comprueba el directorio CBM_CACHE_DIR que usa cada servidor. No borres ni reemplaces sus almacenes para intentar conectarlos.

Si Ñaupa no aparece conectado

  • No se encuentra el ejecutable: usa la ruta absoluta. La aplicación gráfica puede tener un PATH distinto al de tu terminal.
  • El proceso espera sin mostrar una pantalla: ejecutar naupa sin argumentos inicia el servidor stdio. Es el agente quien debe comunicarse con él; no es una consola interactiva.
  • No aparece el repositorio: consulta list_projects e indexa la ruta correcta. Comprueba también el almacén que utiliza esa conexión.
  • No abre la UI: comprueba que tienes la variante con UI, que el servidor está activo y que el puerto no está ocupado. Si la habías desactivado, puedes pasar --ui=true como argumento del servidor MCP.
  • No acepta la configuración: comprueba si tu cliente usa JSON, TOML o un formulario. Un servidor stdio local no se configura como una URL remota.

Licencia y atribución

Ñaupa se distribuye bajo licencia MIT y es un producto de Theus. La atribución de los componentes de terceros que vendoriza (tree-sitter y sus gramáticas, SQLite, mimalloc, nomic-embed, entre otros) se preserva en los avisos de licencia que acompañan a los binarios.

    ↑↓ navegar · ↵ abrir · esc cerrarDocumentación de Theus