Skip to main content
Glama

ontomics

Python Rust TypeScript JavaScript platform MCP MCP Registry Claude Code Codex pi

ontomics proporciona a Claude Code conocimiento instantáneo de tu base de código. Una llamada a herramienta en lugar de 19. ~20 veces menos tokens.

Benchmark

Probado con Claude Sonnet — misma pregunta, con y sin ontomics.

"¿Qué significa 'transform' en esta base de código?" en voxelmorph (transcripción completa):

Con ontomics

Sin

Llamadas a herramientas

1

19

Tokens

~3.7k

~76k

Tiempo

5s

1m 15s

Calidad de respuesta

Completa

Completa

"¿Cuáles son los principales conceptos del dominio en esta base de código?" en ScribblePrompt (transcripción completa):

Con ontomics

Sin

Llamadas a herramientas

1

26

Tokens

~3.7k

~61.6k

Tiempo

~5s

56s

Calidad de respuesta

Completa

Completa

Ambas condiciones produjeron respuestas completas y correctas. ontomics lo logró en una sola llamada.

Related MCP server: Code-Index-MCP

Lo que hace que la búsqueda no puede hacer

La búsqueda te dice dónde aparece una cadena. Un LSP te dice dónde se define y referencia un símbolo. Ninguno responde: ¿cuáles son los conceptos del dominio en esta base de código? ¿Cómo se relacionan? ¿Qué convenciones de nomenclatura surgieron? ¿Qué cambió en el vocabulario del dominio desde la última versión? ¿Qué funciones se comportan de manera similar, independientemente de cómo se llamen?

ontomics construye un índice semántico del dominio de tu proyecto: agrupa símbolos relacionados en conceptos, detecta convenciones de nomenclatura a partir de la frecuencia de uso, resuelve abreviaturas, agrupa funciones por similitud de comportamiento y rastrea cómo evoluciona el vocabulario con el tiempo. Ese índice puede exportarse como un artefacto portátil para iniciar convenciones en otros repositorios.

Similitud de comportamiento

Más allá de los nombres y conceptos, ontomics incrusta cuerpos de funciones sin procesar utilizando CodeRankEmbed (768 dimensiones, recuperación de código contrastiva) y los agrupa por similitud de comportamiento. Esto revela relaciones que ni los nombres ni los grafos de llamadas exponen:

❯ What functions behave like spatial_transform()?

  random_transform()   nn/functional.py:352   0.80
  spatial_transform()  functional.py:596      0.69
  random_transform()   functional.py:1399     0.67
  random_disp()        nn/functional.py:275   0.65
  integrate_disp()     functional.py:764      0.65
  compose()            nn/functional.py:216   0.63
  disp_to_trf()        functional.py:343      0.62

El resultado también revela que random_transform aparece en dos ubicaciones con diferentes puntuaciones de similitud: una señal de duplicación de implementación que la búsqueda a nivel de concepto pasaría por alto por completo.

Instalación

Instálalo una vez, disponible en cada proyecto. No se necesita configuración: ontomics detecta automáticamente el repositorio y lo indexa en la primera ejecución.

ontomics requiere un repositorio git (directorio .git/). Se negará a indexar directorios de inicio, raíz o temporales. Para indexar un directorio que no sea git, usa --force.

1. Instalar el binario

npm (macOS/Linux):

npm install -g @ontomics/ontomics

macOS (Homebrew):

brew install EtienneChollet/tap/ontomics

Instalador de shell (macOS/Linux):

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/EtienneChollet/ontomics/releases/latest/download/ontomics-installer.sh | sh

Desde el código fuente:

git clone https://github.com/EtienneChollet/ontomics.git
cd ontomics
cargo build --release

2. Registrar con tu entorno

Claude Code:

claude mcp add -s user ontomics -- ontomics

Codex:

codex mcp add ontomics -- ontomics

OpenClaw:

openclaw mcp set ontomics '{"command":"ontomics"}'

pi-coding-agent:

pi install npm:@ontomics/ontomics

Comparte con tu equipo — coloca un .mcp.json en la raíz de tu repositorio:

{
  "mcpServers": {
    "ontomics": {
      "command": "npx",
      "args": ["-y", "@ontomics/ontomics", "--repo", "."]
    }
  }
}

Lenguajes soportados

Python, TypeScript, JavaScript, Rust. Detectados automáticamente a partir de las extensiones de archivo.

Herramientas

Conceptos y vocabulario

Herramienta

Qué hace

query_concept

Encuentra todas las variantes, conceptos relacionados y ocurrencias de un término

locate_concept

Encuentra las firmas clave, clases y archivos para un concepto

describe_symbol

Obtiene la firma, docstring y relaciones para una función o clase

trace_concept

Rastrea cómo fluye un concepto a través de la base de código mediante cadenas de llamadas

list_concepts

Lista los principales conceptos del dominio por frecuencia

list_conventions

Lista todos los patrones de nomenclatura detectados (prefijos, sufijos, conversiones)

list_entities

Lista entidades de código (clases, funciones) filtradas por concepto, rol o tipo

check_naming

Comprueba un identificador contra las convenciones del proyecto; sugiere la forma canónica

suggest_name

Genera un nombre de identificador que se ajuste al vocabulario del proyecto

vocabulary_health

Mide la cobertura de convenciones, la consistencia de nombres y la cohesión de clústeres

ontology_diff

Muestra conceptos de dominio nuevos, cambiados o eliminados desde una referencia de git

export_domain_pack

Exporta el conocimiento del dominio como YAML portátil para su uso en otros repositorios

Similitud de comportamiento

Herramienta

Qué hace

find_similar_logic

Encuentra funciones con implementaciones de comportamiento similar, clasificadas por similitud de incrustación

describe_logic

Obtiene la descripción del comportamiento, el texto del cuerpo y la pertenencia al clúster de lógica para una función

compact_context

Ensambla contexto escalonado (conceptos + lógica) para un símbolo, optimizado para el consumo de LLM

Estructura de la base de código

Herramienta

Qué hace

describe_file

Descripción general de las entidades, conceptos y relaciones de un archivo

concept_map

Muestra qué módulos contienen qué conceptos de dominio

type_flows

Muestra los tipos dominantes y cómo fluyen los datos a través de la base de código

trace_type

Rastrea cómo se propaga un tipo específico a través de archivos y sitios de llamada

Recursos

Recurso

Qué hace

ontomics://briefing

Resumen de la sesión: convenciones principales, abreviaturas, conceptos clave, pares contrastivos y advertencias de vocabulario. También disponible a través de la CLI ontomics briefing.

Cómo funciona

ontomics ejecuta una tubería de varias etapas completamente en tu máquina; no se requieren claves de API:

  1. Analizar (Parse) — tree-sitter extrae cada identificador, firma y sitio de llamada de tus archivos fuente

  2. Analizar (Analyze) — la puntuación TF-IDF identifica conceptos específicos del dominio y detecta convenciones de nomenclatura

  3. Incrustar (conceptos) — BGE-small (384 dimensiones) agrupa conceptos relacionados por similitud semántica

  4. Incrustar (lógica) — CodeRankEmbed (768 dimensiones) incrusta cuerpos de funciones sin procesar y los agrupa por similitud de comportamiento

  5. Centralidad — PageRank puntúa las entidades por importancia estructural

Ambos modelos de incrustación se descargan una vez en la primera ejecución y se almacenan en caché localmente. El índice reside en <repo>/.ontomics/index.db: los inicios posteriores se cargan desde la caché y vigilan los cambios de archivo.

Configuración a través de .ontomics/config.toml en la raíz del repositorio. Todos los campos tienen valores predeterminados razonables. Consulta SPEC.md para ver el contrato de diseño completo.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EtienneChollet/ontomics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server