Skip to main content
Glama

ontomics

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

ontomics предоставляет Claude Code мгновенные знания о вашей кодовой базе. Один вызов инструмента вместо 19. Примерно в 20 раз меньше токенов.

Бенчмарк

Протестировано с Claude Sonnet — один и тот же вопрос, с ontomics и без него.

«Что означает 'transform' в этой кодовой базе?» в voxelmorph (полная расшифровка):

С ontomics

Без

Вызовы инструментов

1

19

Токены

~3.7k

~76k

Время

1м 15с

Качество ответа

Полный

Полный

«Каковы основные предметные концепции в этой кодовой базе?» в ScribblePrompt (полная расшифровка):

С ontomics

Без

Вызовы инструментов

1

26

Токены

~3.7k

~61.6k

Время

~5с

56с

Качество ответа

Полный

Полный

В обоих случаях были получены полные и правильные ответы. ontomics справился за один вызов.

Related MCP server: Code-Index-MCP

Что он делает, чего не может поиск

Поиск показывает, где встречается строка. LSP показывает, где определен и используется символ. Ни то, ни другое не отвечает на вопросы: каковы предметные концепции в этой кодовой базе? Как они связаны? Какие соглашения об именовании сложились? Что изменилось в предметном словаре с момента последнего релиза? Какие функции ведут себя схожим образом, независимо от их названия?

ontomics создает семантический индекс предметной области вашего проекта — группирует связанные символы в концепции, обнаруживает соглашения об именовании на основе частоты использования, разрешает аббревиатуры, группирует функции по поведенческому сходству и отслеживает эволюцию словаря с течением времени. Этот индекс можно экспортировать как переносимый артефакт для внедрения соглашений в другие репозитории.

Поведенческое сходство

Помимо именования и концепций, ontomics встраивает (embeds) тела функций, используя CodeRankEmbed (768-размерное, контрастное извлечение кода), и кластеризует их по поведенческому сходству. Это выявляет связи, которые не обнаруживаются ни именованием, ни графами вызовов:

❯ 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

Результат также показывает, что random_transform встречается в двух местах с разными показателями сходства — это признак дублирования реализации, который поиск на уровне концепций полностью упустил бы.

Установка

Установите один раз, доступно в каждом проекте. Конфигурация не требуется — ontomics автоматически обнаруживает репозиторий и индексирует его при первом запуске.

ontomics требует наличия git-репозитория (директория .git/). Он откажется индексировать домашние, корневые или временные директории. Чтобы проиндексировать директорию без git, используйте --force.

1. Установка бинарного файла

npm (macOS/Linux):

npm install -g @ontomics/ontomics

macOS (Homebrew):

brew install EtienneChollet/tap/ontomics

Shell-установщик (macOS/Linux):

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

Из исходного кода:

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

2. Регистрация в вашей среде

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

Поделитесь с командой — добавьте .mcp.json в корень вашего репозитория:

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

Поддерживаемые языки

Python, TypeScript, JavaScript, Rust. Автоматическое определение по расширениям файлов.

Инструменты

Концепции и словарь

Инструмент

Что он делает

query_concept

Находит все варианты, связанные концепции и вхождения термина

locate_concept

Находит ключевые сигнатуры, классы и файлы для концепции

describe_symbol

Получает сигнатуру, docstring и связи для функции или класса

trace_concept

Отслеживает, как концепция проходит через кодовую базу по цепочкам вызовов

list_concepts

Перечисляет основные предметные концепции по частоте

list_conventions

Перечисляет все обнаруженные шаблоны именования (префиксы, суффиксы, преобразования)

list_entities

Перечисляет сущности кода (классы, функции), отфильтрованные по концепции, роли или типу

check_naming

Проверяет идентификатор на соответствие соглашениям проекта; предлагает каноническую форму

suggest_name

Генерирует имя идентификатора, соответствующее словарю проекта

vocabulary_health

Измеряет покрытие соглашений, согласованность именования и сплоченность кластеров

ontology_diff

Показывает новые, измененные или удаленные предметные концепции с момента git-референса

export_domain_pack

Экспортирует предметные знания в виде переносимого YAML для использования в других репозиториях

Поведенческое сходство

Инструмент

Что он делает

find_similar_logic

Находит функции с поведенчески схожими реализациями, ранжированные по сходству эмбеддингов

describe_logic

Получает поведенческое описание, текст тела и принадлежность к кластеру логики для функции

compact_context

Собирает многоуровневый контекст (концепции + логика) для символа, оптимизированный для потребления LLM

Структура кодовой базы

Инструмент

Что он делает

describe_file

Обзор сущностей, концепций и связей файла

concept_map

Показывает, какие модули содержат какие предметные концепции

type_flows

Показывает доминирующие типы и то, как данные проходят через кодовую базу

trace_type

Отслеживает, как конкретный тип распространяется по файлам и местам вызовов

Ресурсы

Ресурс

Что он делает

ontomics://briefing

Брифинг сессии: основные соглашения, аббревиатуры, ключевые концепции, контрастные пары и предупреждения о словаре. Также доступно через CLI ontomics briefing.

Как это работает

ontomics запускает многоэтапный конвейер полностью на вашей машине — ключи API не требуются:

  1. Парсинг — tree-sitter извлекает каждый идентификатор, сигнатуру и место вызова из ваших исходных файлов

  2. Анализ — TF-IDF оценка определяет предметно-ориентированные концепции и обнаруживает соглашения об именовании

  3. Эмбеддинг (концепции) — BGE-small (384-размерное) кластеризует связанные концепции по семантическому сходству

  4. Эмбеддинг (логика) — CodeRankEmbed (768-размерное) встраивает тела функций и кластеризует их по поведенческому сходству

  5. Центральность — PageRank оценивает сущности по структурной важности

Обе модели эмбеддингов загружаются один раз при первом запуске и кэшируются локально. Индекс находится в <repo>/.ontomics/index.db — последующие запуски загружаются из кэша и отслеживают изменения файлов.

Конфигурация через .ontomics/config.toml в корне репозитория. Все поля имеют разумные значения по умолчанию. См. SPEC.md для полного описания дизайна.

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