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_read | section: stack|conventions|knowledge|gameplan или knowledge:<sub> (sub ∈ architecture, gotchas, security, patterns, engram) | Прочитать секцию vault или sub-секцию knowledge.md |
vault_search | query: string | Поиск по всем vault-файлам |
vault_record | type: adr|bug|debt, title, content | Создать запись |
vault_knowledge | section: string, content: string | Дописать в knowledge.md |
vault_pattern | section?: string, content: string | Дописать pattern-bullet в conventions.md (по умолчанию section = "Patterns") |
Задачи
| Tool | Параметры | Описание |
|---|---|---|
task_create | title, description? | Создать задачу |
task_list | status? | Список задач с фильтром |
task_update | id, status?, description? | Обновить задачу |
task_start | id | Старт: in-progress + привязка к ветке task/<slug> |
task_create_from_phase | phaseFile | Парсит ## 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_search | query, limit?, tags? | Поиск Engram воспоминаний с auto-decoration (step/branch/run/task теги активного pipeline автоматически добавляются к фильтру) |
memory_store | context, action, result, type, tags? | Сохранить воспоминание с auto-decoration. Engram раскладывает контент на context/action/result. Ошибки daemon (Voyage 403, offline, и т. д.) поднимаются вызывающему агенту через JSON-RPC isError: true |
memory_judge | memory_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_status | runId? | Статус текущего/указанного workflow run |
workflow_create | name, yaml | Сохранить кастомный workflow в .dev-vault/workflows/ |
workflow_start | workflowName, 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_step | runId?, 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_run | agent, 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}$/, иначе E001taskDescription— non-empty после trim, иначе E002taskId(опционально) — regex/^task-\d{3,}$/, иначе E003engine(опционально) — должен быть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 | Параметры | Описание |
|---|---|---|
profile | action: 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 в корне проекта.