Skip to main content
Glama

Knowerage — Управление покрытием анализа ИИ

Локальный MCP-сервер, который отслеживает покрытие анализа устаревшего кода и его актуальность.

Исходный код: github.com/MTimma/knowerage

Быстрый старт

Требования: Node.js 18 или новееnpx должен быть в вашем PATH (он поставляется вместе с npm, который включен в Node).

Related MCP server: Atlas

Конфигурация MCP-сервера

Зарегистрируйте Knowerage там, где ваш MCP-хост ожидает определения серверов (например, некоторые клиенты используют .cursor/mcp.json или .vscode/mcp.json; другие используют переменные окружения или интерфейс — следуйте документации вашего хоста). Используйте следующую структуру записи сервера:

{
  "mcpServers": {
    "knowerage": {
      "command": "npx",
      "args": ["@mtimma/knowerage"],
      "env": {
        "KNOWERAGE_WORKSPACE_ROOT": "${workspaceFolder}",
        "KNOWERAGE_AUTO_FULL_RECONCILE": "true"
      }
    }
  }
}

Замените ${workspaceFolder} на корневой каталог вашего проекта, если ваш хост не раскрывает эту переменную автоматически.

KNOWERAGE_AUTO_FULL_RECONCILE является необязательным: если параметр не задан, пуст или не имеет истинного значения, файловый наблюдатель по умолчанию выключен. Установите значение 1, true, yes или on (без учета регистра, пробелы обрезаются), чтобы включить его. Когда параметр включен, сервер отслеживает директорию knowerage/ и после короткой задержки (debounce) запускает knowerage_reconcile_all при изменениях в файловой системе. Это не то же самое, что запуск полной сверки после каждого вызова инструмента MCP — он реагирует только на изменения файлов внутри knowerage/. Записи реестра в registry.json игнорируются наблюдателем, поэтому сохранения не вызывают циклов.

Как использовать Knowerage

После настройки MCP-сервера вы общаетесь со своим помощником обычными предложениями. Вам не нужно запоминать названия инструментов.

Анализ или документирование кода

Указывайте на файлы, классы или поведение, которые вас интересуют. Например:

  • Используя Knowerage, проанализируй логику алгоритма в main.java.

  • Проанализируй логику сверки сущностей данных и версионирования в сервисе ETL.

Помощник создает или обновляет Markdown-файлы в knowerage/analysis/ и записывает покрытие в knowerage/registry.json (см. Как это работает ниже).

Покрытие и пробелы (тот же проект, последующий чат или другой агент)

Когда у вас уже есть анализы в дереве, вы можете спросить:

  • В процентах, какая часть кода покрыта нашим анализом?

  • Какая часть этой кодовой базы еще не проанализирована?

Knowerage отвечает на эти вопросы, основываясь на реестре и вспомогательных средствах покрытия (например, обзор, статус по файлам и списки устаревших данных) — а не на общих фразах о репозитории.

Альтернативные подходы

Установка через npm

npx @mtimma/knowerage

Или сборка из исходного кода

cargo build --release
./target/release/knowerage-mcp

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

  1. ИИ-агент создает .md файлы анализа с YAML-заголовком (frontmatter), объявляющим исходный файл и диапазоны покрытых строк

  2. Реестр (knowerage/registry.json) отслеживает записи анализа с хешами SHA-256 для проверки актуальности

  3. Инструменты MCP предоставляют операции создания, сверки, запроса и экспорта

  4. Агент говорит "проанализируй X" → автоматически запускается полный рабочий процесс (создание → сверка → запись)

Структура файла реестра (knowerage/registry.json)

Формат на диске представляет собой JSON-объект, ключами которого являются пути к анализам (строки). Каждое значение — это одна запись (см. contracts/contracts.md). Полный пример с двумя записями находится в examples/registry.sample.json.

flowchart TB
  subgraph file["knowerage/registry.json"]
    O["Top-level JSON object"]
    O --> K["Each key: analysis markdown path, e.g. knowerage/analysis/.../topic.md"]
    K --> V["Value: one RegistryRecord"]
  end

  subgraph rec["RegistryRecord fields"]
    ap["analysis_path · source_path"]
    cr["covered_ranges: [[start,end], ...]"]
    h["analysis_hash · source_hash (sha256:… )"]
    t["record_created_at · record_updated_at (ISO 8601)"]
    st["status: fresh | stale_doc | stale_src | missing_src | dangling_doc"]
  end

  V --> rec

Заголовки (frontmatter) для .md файлов анализа определяются отдельно в документации по контрактам (схема метаданных), а не внутри registry.json.

Инструменты MCP

Инструмент

Назначение

knowerage_create_or_update_doc

Создать/обновить документ анализа

knowerage_parse_doc_metadata

Разобрать и проверить заголовки (frontmatter)

knowerage_reconcile_record

Сверить одну запись анализа

knowerage_reconcile_all

Полное повторное сканирование/перестроение

knowerage_get_file_status

Проанализированные vs отсутствующие диапазоны

knowerage_list_stale

Список устаревших/проблемных записей

knowerage_list_registry

Полный снимок реестра (та же форма, что и registry.json, отсортированные ключи)

knowerage_get_tree

Дерево/группировка покрытия

registry_export_report

Экспорт снимка (JSON/YAML/TXT/HTML)

knowerage_generate_bundle

Частичный экспорт выбранных анализов (toc*.md, combined*.md, manifest.json)

Структура проекта

knowerage/                  # Created per-project
├── analysis/              # Analysis markdown files
│   └── **/*.md
└── registry.json          # Coverage registry

src/                       # Rust MCP server
├── main.rs
├── lib.rs
├── types.rs
├── parser.rs
├── registry.rs
├── mcp.rs
├── security.rs
└── export.rs

Документация

Безопасность

  • Все пути проверяются относительно корня рабочей области

  • Обход путей (..) отклоняется

  • Атомарная запись для реестра (защита от сбоев)

  • Никаких секретов в файлах анализа или отчетах

  • Актуальность на основе хеша SHA-256 (сохраняется после git pull)

Лицензия

MIT — авторское право Martins Timma.

Части этого проекта были написаны или доработаны с помощью генеративных ИИ-помощников для написания кода. Человеческая проверка применяется к дизайну, критически важным для безопасности аспектам и релизам.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Local MCP server that indexes documentation from URLs/files into a vector database, enabling coding agents to search and use up-to-date library and API documentation.

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • MCP server for accessing curated awesome list documentation

  • An MCP server that gives your AI access to the source code and docs of all public github repos

View all MCP Connectors

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/MTimma/knowerage'

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