adrianczuczka/mason

adrianczuczka/mason

от adrianczuczka
Mason — MCP-сервер для AI-ассистентов, который строит концептуальную карту кодовой базы. Вместо повторного чтения файлов ассистент загружает карту, экономя до 67% токенов на архитектурных вопросах....

Mason

Preserve why your code was built this way.

Record the reason · Review the lesson · Surface applicable guidance · Reconsider it as code changes

npm version CI Monthly downloads License

Works with Codex Works with Claude Code MCP compatible Supported platforms

Mason preserves reviewed engineering reasoning with your repository, so future maintainers and coding agents can retrieve the evidence behind consequential decisions. Record workarounds, rejected approaches and constraints while their reasons are available; revisit them when the underlying code changes.

Get started

Install on macOS or Linux:

curl -fsSL https://github.com/adrianczuczka/mason/releases/latest/download/install.sh | sh

Windows PowerShell:

irm https://github.com/adrianczuczka/mason/releases/latest/download/install.ps1 | iex

No Node or npm required. Git is required. The installer configures PATH for Bash, Zsh, and Windows. Platform details · npm installation

New standard standalone installs update automatically in the background. Updates activate on a future MCP launch after existing Mason MCP servers exit. Run mason updates to inspect or change this preference. Existing installations require one manual upgrade and mason updates enable. Update controls

Инструменты были проиндексированы:
get_context

Собирает контекст задачи: подходящие решения с обоснованием, утверждением, владельцем, источниками, последней проверкой и актуальностью, а также связанные тесты, влияние на файлы и любые доступные записи карты. Проверка карты перепроверяется по выборочному содержимому источников; устаревшая или неизвестная проверка требует новой проверки, а recordedVerdict сохраняет исторический вердикт. Предложения - рекомендации; устаревшие записи не проверены; принятые решения - ограничения, зависящие от актуальности. Не требует инициализации или карты. Принимает задачу и необязательные файлы. map.status и diagnostics сохраняют отсутствующие или недействительные знания. Влияние охватывает до трёх уникальных файлов, разворачивая якоря каталогов.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • filesstring[]

    Необязательные пути к файлам, уже известные как задействованные (например, из diff или stack trace). Записи, содержащие их, получают приоритет над простыми текстовыми совпадениями.

  • taskstringобязательный

    Задача, ошибка или запрос на изменение, описанные естественным языком: например, «добавить ограничение скорости для API-клиента» или описание тикета.

get_impact

Прослеживает исторических партнёров по совместным изменениям, связанные тесты и ссылки с доказательствами: разрешённые импорты, явные пути или неопределённые кандидаты имён. Кандидаты - не доказанные зависимости. Детерминированный и только для чтения; не требует инициализации или карты понятий.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • filesstring[]обязательный

    Пути или имена файлов для анализа (например, ['WeatherRepository.kt'] или ['src/services/auth.ts'])

get_snapshot

Возвращает необязательную карту архитектуры feature-to-file с доказательствами дрейфа и доверия. Проверку карты перепроверяют по выборочному содержимому исходников; устаревшая или неизвестная проверка требует свежего ревью, а recordedVerdict сохраняет исторический вердикт. Если карты нет, возвращает exists:false и указывает на контекст решения. Decision capture, get_context и get_impact по-прежнему работают. Инициализация не требуется.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

mason_automation

Проверяет установленную автоматизацию, наблюдаемые события хоста, ожидающие записи решений и базовый уровень уведомлений или проверяет все сохранённые находки документации по всем сессиям. status работает только на чтение; check сохраняет локальные базовые уровни и отчёты проверки, не редактируя исходный код, не одобряя рекомендации и не забирая ожидающие уведомления о завершении. Возвращает краткие результаты с полным путём к отчёту. Работает без карты.

Параметры
  • actionenumобязательный

    Проверяет конфигурацию и квитанции или захватывает/возобновляет и проверяет оригинальные аудиторские доказательства.

  • dirstringобязательный

    Абсолютный путь к каталогу проекта

mason_check_drift

Проверяет, насколько карта концепций разошлась с HEAD. Детерминированно (git + файловая система, без LLM). Возвращает, какие функции/потоки устарели и какие изменённые файлы за ними стоят, новые исходные файлы, ещё не попавшие на карту, файлы-призраки (на карте есть, а сами удалены), переименования и recommendation: up-to-date (делать нечего), incremental (обновить только устаревшие записи через save_snapshot) или full-rebuild (нужен широкий пересмотр исходников). Вызывайте этот инструмент, прежде чем доверять карте в долгой сессии, или когда поддерживаете уже существующую карту.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

mason_complete_init

Записывает настройку инструкций ассистента локально в игнорируемом .mason/local/project.json, а настройки функций - в общем .mason/config.json. Другие инструменты работают без этого маркера. Повторные вызовы сохраняют исходное время настройки и существующие настройки.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

mason_init

Проверяет этот проект сейчас: возвращает находки аудита документации, находки ревью committed-diff, статус решений/карты и playbook быстрого старта. Quickstart работает только на чтение и детерминирован. Явный режим: setup проверяет общую конфигурацию и активирует её локально, не редактируя общие файлы; режим init явно готовит MCP, инструкции и хуки жизненного цикла для ревью и коммита. Ни один из них не запускает аудиты и не готовит исправления; используйте только по запросу. Необязательный host выбирает codex или claude. Необязательный base выбирает базу для сравнения при ревью; evidence импортирует манифесты CI с результатами проверок, свежестью коммитов и ссылками на изменённые файлы и принятые решения. Повторные вызовы обновляют находки даже после setup.

Параметры
  • basestring

    Только для быстрого старта: Git ref для проверки diff по закоммиченным изменениям. По умолчанию берётся первый доступный ref главной ветки.

  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • dryRunboolean

    Только для init: показывает изменения общей конфигурации без записи файлов.

  • evidencestring[]

    Только для Quickstart: локальные для репозитория манифесты доказательств CI для включения в ревью. Импортирует результаты Vitest JSON, SARIF и native-validator mason-check-json без выполнения команд проверки.

  • hostenum

    Ассистент для настройки в режиме init/setup; выводится только если нет неоднозначности.

  • modeenum

    Quickstart проверяет, не внося правок; init подготавливает общую конфигурацию; setup активирует совместимую конфигурацию локально.

review_decision

Готовит проверку решения: возвращает полную запись и историю, любую действующую принятую ревизию, происхождение, изменения и предпросмотры для обоих наборов якорей, а также reviewToken. Для проверки принятых указаний используйте inspectionScope operative и при prepare, и при inspect; ожидающие предложения остаются неоценёнными. По умолчанию область all охватывает обе ревизии. После проверки источника запишите inspect с inspector, note и token, чтобы сообщить об отсутствии противоречий без принятия человеком. Для проверки человеком подготовьте с областью all, затем запишите accept, reaffirm или retire с соответствующим token, уполномоченным проверяющим и причиной. Принятие заменяет действующую ревизию; отзыв отзывает всю запись, включая её предложение. Принятие требует owner, source, читаемый Git HEAD и закоммиченные изменения якорей. Изменённые записи или код аннулируют token. Идентификаторы и одобрения - записанные утверждения для обычного PR-ревью, а не аутентифицированное доказательство.

Параметры
  • actionenum

    Prepare работает только для чтения. Inspect фиксирует оценку агента без одобрения; accept, reaffirm и retire требуют авторизованной проверки.

  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • idstringобязательный

    ID решения из get_context или save_decision

  • inspectionScopeenum

    Только для prepare/inspect: all охватывает полную запись и оба набора якорей (по умолчанию); operative охватывает только активную принятую ревизию, оставляя ожидающий черновик без оценки. При отправке его токена используйте ту же область.

  • inspectorstring

    Фактический агент или человек, выполняющий проверку; обязателен для inspect. Не утверждает, что получено одобрение человека.

  • notestring

    Проверьте обоснование; оно требуется для вердикта. Приведите доказательства для решения.

  • reviewerstring

    Личность реального рецензента; требуется для вердикта. Никогда не выдумывайте её.

  • reviewTokenstring

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

save_decision

Фиксирует или пересматривает предложение по решению, как только урок подтверждён доказательствами, не дожидаясь реализации или слияния. Нереализованные меры оставляет предварительными. Включает обоснование, якоря, необязательного владельца, источники и известного актора. Сравнивает совпадающие записи get_context и ожидающие предложения перед сохранением. Когда новые доказательства меняют допущения, охват или рекомендуемое действие того же урока, передаёт его существующий id, в том числе для принятых записей. Сохраняет подтверждённое обоснование и источники и заменяет устаревшие инструкции. Создаёт новую запись для действительно отдельного урока; пропускает неизменённые пересказы. Не требует настройки или карты. Записывает локальную запись и сохраняет историю содержимого. Изменения создают ожидающее предложение, пока последняя принятая ревизия остаётся действующей; неизменённое содержимое не перепроверяет и не обновляет её. Использует review_decision для санкционированного принятия или повторного подтверждения. Предложение не может заменить запись с действующей принятой ревизией; проверяет её замену и отдельно выводит из обращения оригинал.

Параметры
  • actorstring

    Известное лицо или агент, записавший эту ревизию. Опустите, если неизвестно; не выводите из идентичности Git.

  • bodystringобязательный

    Само знание: что пробовали/решили, почему и чего избегать. Должно содержать информацию, НЕ выводимую при чтении кода. Стремитесь к 1500 символам или меньше; до 2500 принимается с предупреждением при превышении целевого значения. Matching context и hooks включают полное тело. Сохраняйте исключения; используйте sources для подтверждающих ссылок.

  • categoryenumобязательный
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • filesstring[]

    Файлы или префиксы каталогов относительно репозитория, к которым это применяется. Одно и то же сопоставление используется при поиске, хуках, ревью и проверке дрейфа; изменения помечают решение для повторной проверки.

  • forceboolean

    Сохраняет, даже если был обнаружен почти дубликат.

  • idstring

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

  • ownerstring | null

    Ответственное лицо или команда, если известно. Null очищает его. Требуется для принятия.

  • sourcesobject[]

    Известные ссылки на PR, issue, инцидент, обсуждение или документ. Опустите, чтобы сохранить; [] очищает. Для принятия требуется хотя бы одна.

  • supersedesstring

    Идентификатор непроверенной записи или предложения без принятой редакции для замены. Действующие принятые решения требуют отдельного рассмотрения и вывода из обращения.

  • titlestringобязательный

    Короткий, конкретный заголовок (макс. 80 символов). Создаёт стабильный id при создании; изменение заголовка сохраняет существующий id.

save_snapshot

Сохраняет карту соответствия концептов файлам в виде постоянного снимка проекта. Сопоставляет названия возможностей и потоки данных с файлами, которые их реализуют. Оставлен для прямого сопровождения legacy-карт; управляемый рабочий процесс сборки карт удалён. Сохраняется между диалогами: будущие сеансы могут вызвать get_snapshot и мгновенно найти нужные файлы. API-ключ не нужен: вы - LLM, которая создаёт карту.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • featuresobjectобязательный

    Соответствие названий функций и файлов, где они реализованы.

  • flowsobjectобязательный

    Сопоставление имён потоков с упорядоченными цепочками файлов.

  • removeFeaturesstring[]

    Имена объектов для удаления из существующей карты: тех, что были переименованы или больше не существуют. Применяется перед слиянием; имеет смысл только при инкрементальных сохранениях.

  • removeFlowsstring[]

    Имена потоков для удаления из существующей карты. Применяется перед слиянием; имеет смысл только при инкрементальных сохранениях.

save_verification

Записывает вердикты verify_snapshot, используя kind и reviewToken каждой записи. Отсутствующие токены запрашивают новую проверку; изменённые или удалённые записи возвращают конфликты без простановки отметки. Записи, признанные ok, получают отметку verifiedAt; сбои помечаются verificationFailed с вашей заметкой и появляются в get_context, get_snapshot и mason_check_drift, пока их не исправят. Заметки к вердиктам обязательны для сбоев.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • verdictsobjectобязательный

    Имя записи → вердикт, в точности как возвращает verify_snapshot.

verify_snapshot

Выборочно проверяет КОРРЕКТНОСТЬ карты концепций (drift проверяет свежесть; этот инструмент проверяет, что записи были верны изначально). Возвращает выборку записей, всегда сначала никогда не проверенные и записи с самой давней проверкой, со скелетами заявленных в них файлов, чтобы вы могли судить, действительно ли файлы реализуют то, что утверждает запись. Отправляйте вердикты обратно через save_verification, указывая kind и reviewToken каждой записи. Токены привязывают запись и ограниченный набор исходных доказательств; изменившиеся доказательства требуют новой проверки. Запускайте периодически или после того, как автоматическое обновление записало записи, которые никто из людей не проверял.

Параметры
  • dirstringобязательный

    Абсолютный путь к корневому каталогу проекта

  • sampleinteger

    Записей для выборки (по умолчанию 5)

0.22.0основная
0.21.0
0.20.2
0.20.1
0.19.2
0.19.1
0.19.0
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.0
0.14.2
0.14.1
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.0
0.6.0
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0

Выберите клиент, чтобы установить adrianczuczka/mason:

Любой клиент

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

{
  "mcpServers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"adrianczuczka-mason-xpklvt8nyf\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-p\",\"mason-context\",\"mason-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add adrianczuczka-mason-xpklvt8nyf -- npx -p mason-context mason-mcp

Либо через JSON-конфиг:

claude mcp add-json adrianczuczka-mason-xpklvt8nyf "{\"command\":\"npx\",\"args\":[\"-p\",\"mason-context\",\"mason-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add adrianczuczka-mason-xpklvt8nyf -- npx -p mason-context mason-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.adrianczuczka-mason-xpklvt8nyf]
command = "npx"
args = ["-p", "mason-context", "mason-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите adrianczuczka/mason, а в поле команды запуска — строку ниже:
npx -p mason-context mason-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например adrianczuczka-mason-xpklvt8nyf.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: adrianczuczka-mason-xpklvt8nyf
    command: npx
    args:
      - "-p"
      - "mason-context"
      - "mason-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "adrianczuczka-mason-xpklvt8nyf": {
      "command": "npx",
      "args": [
        "-p",
        "mason-context",
        "mason-mcp"
      ]
    }
  }
}

Похожие MCP-сервера

ViperJuice/mcp-gateway

ViperJuice/mcp-gateway

от viperjuice

PMCP - сервер-шлюз, решающий раздувание контекста MCP. Вместо десятков схем он предоставляет 26 компактных мета-инструментов и динамически подгружает серверы по запросу. Полезен разработчикам, использующим Claude Code, для экономии токенов и гибкого управления.

Python⭐ 23
cyberchitta/llm-context.py

cyberchitta/llm-context.py

от cyberchitta

LLM Context - MCP-сервер для умного управления контекстом при работе с ИИ. Использует правила для автоматического подбора и передачи нужных файлов проекта, экономя токены. Полезен разработчикам и A...

Python⭐ 307
shayaShav/flatten-mcp

shayaShav/flatten-mcp

от shayashav

flatten-mcp для Claude Code уменьшает токенную стоимость сессии, вынося громоздкие результаты инструментов в sidecar-файл и заменяя их компактными ссылками. Полезен разработчикам, которые хотят сох...

TypeScript⭐ 7
alexanderclapp/clirank-mcp-server

alexanderclapp/clirank-mcp-server

от alexanderclapp

MCP сервер CLIRank для поиска и рекомендации API. Помогает Claude Code, Cursor и другим агентам находить актуальные API с ценами и документацией вместо догадок из памяти. Ускоряет интеграцию сторонних сервисов.

JavaScript⭐ 6
marin1321/mcp-devtools

marin1321/mcp-devtools

от marin1321

MCP-сервер, дающий AI-агентам (Claude, Cursor и др.) безопасный доступ к локальной среде разработки. Включает 14 инструментов для работы с файлами, базами данных, процессами, OpenAPI, а также плаги...

TypeScript⭐ 3
aktsmm/skill-ninja-mcp-server

aktsmm/skill-ninja-mcp-server

от aktsmm

Skill Ninja — MCP-сервер для поиска и установки AI Agent Skills в редакторы кода. Загружает навыки из GitHub, управляет ими в доверенных проектах, поддерживает локализацию и рекомендации. Полезен р...

TypeScript⭐ 12
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин