dev-workflow
MCP

MCP Tools

20 программных инструментов (vault, tasks, intelligence, memory, workflows, agents, communication profiles)

MCP Tools

MCP-сервер dev-workflow предоставляет 20 tools. Конфигурируется в .mcp.json при dev-workflow init.

Vault

ToolПараметрыОписание
vault_readsection: stack|conventions|knowledge|gameplan или knowledge:<sub> (sub ∈ architecture, gotchas, security, patterns, engram)Прочитать секцию vault или sub-секцию knowledge.md
vault_searchquery: stringПоиск по всем vault-файлам
vault_recordtype: adr|bug|debt, title, contentСоздать запись
vault_knowledgesection: string, content: stringДописать в knowledge.md
vault_patternsection?: string, content: stringДописать pattern-bullet в conventions.md (по умолчанию section = "Patterns")

Задачи

ToolПараметрыОписание
task_createtitle, description?Создать задачу
task_liststatus?Список задач с фильтром
task_updateid, status?, description?Обновить задачу
task_startidСтарт: in-progress + привязка к ветке task/<slug>
task_create_from_phasephaseFileПарсит ## Tasks из файла фазы, создаёт недостающие

task_start

Бизнес-логика: меняет статус на in-progress, генерирует slug из названия задачи, привязывает к ветке:

{
  "id": "task-001",
  "title": "Add email validation",
  "status": "in-progress",
  "branch": "task/add-email-validation"
}

Memory (Engram proxy)

ToolПараметрыОписание
memory_searchquery, limit?, tags?Поиск Engram воспоминаний с auto-decoration (step/branch/run/task теги активного pipeline автоматически добавляются к фильтру)
memory_storecontext, action, result, type, tags?Сохранить воспоминание с auto-decoration. Engram раскладывает контент на context/action/result. Ошибки daemon (Voyage 403, offline, и т. д.) поднимаются вызывающему агенту через JSON-RPC isError: true
memory_judgememory_id, score: 0.0–1.0, explanation?Оценить полезность воспоминания. Питает Q-learning router для адаптивного отбора контекста

Auto-decoration

В отличие от прямого mcp__engram__memory_*, прокси-обёртки автоматически добавляют теги активного pipeline-контекста: step:<имя шага>, branch:<текущая ветка>, run:<run-id>, task:<task-id>. Агенты могут фильтровать воспоминания по фазе исполнения без ручного тегирования. Прямой mcp__engram__memory_* остаётся escape hatch для случаев, когда нужен явный контроль над project / tags.

Asymmetry: strict vs silent (ADR 2026-05-06)

  • User-invoked mcp__dev-workflow__memory_store — throws daemon errors. Если Voyage недоступен или ключ ротирован, агент видит сообщение в tool-result и может реагировать (свитчнуть provider, рестартнуть daemon).
  • Auto-mirror (vault_record/vault_knowledge/vault_pattern/EngramBridge.afterStep) — silent fail-safe. Vault-файл — единственный источник правды; mirror — secondary.

Workflow и агенты

ToolПараметрыОписание
workflow_statusrunId?Статус текущего/указанного workflow run
workflow_createname, yamlСохранить кастомный workflow в .dev-vault/workflows/
workflow_startworkflowName, taskDescription, taskId?, engine?: linear|dynamicИнициировать workflow run из slash-оркестратора: создать state-файл в <vault>/workflow-state/runs/run-<YYYYMMDD>-<6hex>.json, выставить ENGRAM_TRACE_FILE + ENGRAM_RUN_ID, вернуть {runId, traceFilePath, engine}.
workflow_steprunId?, result?Variant B control loop (submit-and-advance): load run → reduce → persist → вернуть следующую Directive. Идемпотентно: дублирующий/устаревший result (seq+step не совпадают с in-flight directive) или вызов без result при наличии pendingDirective — RE-ISSUE без повторного применения. engram как порт (search до dispatch, judge на ingest). Возвращает {directive, engramContext?}.
agent_list--Список агентов с permissions
agent_runagent, taskГенерация промпта агента с vault-контекстом

workflow_start

Точка входа для slash-оркестратора (/workflow:dev, /workflow:hotfix, custom). Резолвит workflow (custom YAML → templates → builtins), генерирует runId канонического формата run-<YYYYMMDD>-<6hex> (date-префикс лексически сортируем, hex-суффикс collision-safe; prefix run- обязателен для engram-stats фильтра), создаёт WorkflowRun с инициализированным Record<string, StepState> (все шаги в status: "pending"), сохраняет в <vault>/workflow-state/runs/run-<YYYYMMDD>-<6hex>.json, выставляет ENGRAM_TRACE_FILE (если не задан) и ENGRAM_RUN_ID (если не задан), возвращает {runId, traceFilePath, engine}.

Валидация (на границе MCP, до любых записей):

  • workflowName — regex /^[a-z0-9][a-z0-9_-]{0,63}$/, иначе E001
  • taskDescription — non-empty после trim, иначе E002
  • taskId (опционально) — regex /^task-\d{3,}$/, иначе E003
  • engine (опционально) — должен быть linear или dynamic, иначе E006
  • Неизвестный workflow — E004

Единый генератор runId: оба пути — CLI dev-workflow run и MCP workflow_start — эмитят один канонический формат run-<YYYYMMDD>-<6hex>; legacy-shim принимает старые id (run-<12hex> / run-<YYYY-MM-DD>-<seq>) на всех границах валидации — для обратной совместимости с прежними run'ами.

Communication profiles

1 tool для управления активным профилем общения через action enum (см. Communication Profiles).

ToolПараметрыОписание
profileaction: get|set|clear, name? (для set)action=get → snapshot {configured, active, default, effective, available, config} (active = из .profile-state или null, default = из yaml active_profile, effective = active ?? default). action=set → validate name существует в communication.yaml profiles map (через Object.prototype.hasOwnProperty.call — защита от prototype pollution) → write .dev-vault/.profile-state. action=clear → удалить .dev-vault/.profile-state (no-op если file отсутствует; после clear getActiveProfile fallback на yaml-default).

Slash /profile (см. commands/session) — thin wrapper над этим tool. Прямой вызов через MCP полезен для CLI-скриптов / automation.

Где конфигурируется

MCP-сервер настраивается в .mcp.json (не в .claude/settings.json):

{
  "mcpServers": {
    "dev-workflow": {
      "command": "node",
      "args": ["/absolute/path/to/dist/cli/index.js", "serve"]
    }
  }
}

Claude Code автоматически обнаруживает .mcp.json в корне проекта.

On this page