Справочник MCP Tools
Moira предоставляет возможности оркестрации workflow через MCP инструменты. Этот справочник документирует все доступные инструменты с параметрами, возвращаемыми значениями и примерами.
Категории инструментов
Заголовок раздела «Категории инструментов»Управление Workflow
Заголовок раздела «Управление Workflow»list- Список шаблонов workflowmanage- Создание, редактирование или получение workflowstart- Запуск выполнения workflowstep- Продвижение workflow с ответом агента
Сессия и настройки
Заголовок раздела «Сессия и настройки»session- Информация о пользователе, выполнениях или шагеsettings- Управление настройками пользователя
Большие файлы
Заголовок раздела «Большие файлы»token- Генерация токенов для загрузки/скачивания
help- Получение документации и помощи
Список всех доступных шаблонов workflow со статусом валидации.
Параметры: Нет
Возвращает:
- Массив объектов workflow с метаданными
- Статус валидации для каждого workflow
- Пути к файлам и временные метки
Пример:
list()→ [{ id: "example", name: "Example Workflow", valid: true, ... }]Запускает выполнение нового workflow.
Параметры:
workflowId(string, обязательный) - ID workflow для выполненияnote(string, опционально) - Краткая заметка для идентификации выполнения (max 500 chars)parentExecutionId(string, опционально) - ID родительского выполнения для связывания workflow
Возвращает:
- Process ID для отслеживания выполнения
- Первую директиву агента с инструкциями
- Условие завершения и inputSchema
Пример:
start({ workflowId: "example", note: "Реализация фичи" })→ { processId: "abc-123", directive: "...", ... }Связывание родительского выполнения:
start({ workflowId: "sub-workflow", parentExecutionId: "parent-abc-123" })Когда дочерний workflow завершается, система возвращает информацию для продолжения родительского выполнения.
Продвигает выполнение workflow с ответом агента.
Параметры:
processId(string, обязательный) - Process ID из startinput(any) - Ответ агента, соответствующий inputSchema
Возвращает:
- Следующую директиву агента (если workflow продолжается)
- Статус завершения (если workflow завершен)
- Обновленный контекст и состояние
Пример:
step({ processId: "abc-123", input: { result: "completed", confidence: 9 }})→ { directive: "Next task...", ... }Magic Variable - execution_note:
Когда input содержит поле execution_note, заметка выполнения обновляется для отслеживания:
step({ processId: "abc-123", input: { task_name: "Auth feature", execution_note: "Реализация OAuth" }})Обновленная заметка появляется в списке выполнений (session({ action: "executions" })).
Унифицированный инструмент для CRUD операций с workflow.
Action: create
Заголовок раздела «Action: create»Создает новый workflow из JSON определения с валидацией.
Параметры:
action:"create"(обязательный)workflow(object, обязательный) - Определение workflowsystemReminder(string, опционально) - System reminder для workflow, переопределяет глобальную настройку
overwrite(boolean, опционально) - Разрешить перезапись существующего
Возвращает:
- Статус успеха
- ID workflow
- Результаты валидации с ошибками/предупреждениями
Пример:
manage({ action: "create", workflow: { id: "my-workflow", metadata: { name: "My Workflow", version: "1.0.0", description: "..." }, nodes: [...] }})→ { success: true, workflowId: "my-workflow", validation: {...} }Action: edit
Заголовок раздела «Action: edit»Редактирует существующий workflow с частичными обновлениями.
Параметры:
action:"edit"(обязательный)workflowId(string, обязательный) - ID workflow для редактированияchanges(object, обязательный) - Изменения для примененияmetadata- Обновление name, version, descriptionaddNodes- Массив нод для добавленияremoveNodes- Массив ID нод для удаленияupdateNodes- Массив объектов с nodeId и changessystemReminder- System reminder для workflow (пустая строка для удаления)
Возвращает:
- Статус успеха
- Сводка изменений
- Результаты валидации
Пример:
manage({ action: "edit", workflowId: "my-workflow", changes: { metadata: { description: "Updated description" }, addNodes: [{ type: "end", id: "new-end", ... }] }})→ { success: true, changesSummary: {...}, validation: {...} }Action: get
Заголовок раздела «Action: get»Получает информацию о workflow с метаданными и валидацией.
Параметры:
action:"get"(обязательный)workflowId(string, обязательный) - ID workflowincludeNodes(boolean, опционально, default: true) - Включить определения нодincludeValidation(boolean, опционально, default: true) - Включить валидациюoffset(number, опционально) - Пагинация: начальный индексlimit(number, опционально) - Пагинация: количество нод
Возвращает:
- Метаданные workflow
- Анализ структуры
- Ноды (если includeNodes=true)
- Статус валидации (если includeValidation=true)
Пример:
manage({ action: "get", workflowId: "my-workflow", includeNodes: true, includeValidation: true})→ { metadata: {...}, nodes: [...], validation: {...} }Action: get-structure
Заголовок раздела «Action: get-structure»Получает структуру workflow (метаданные + граф нод) без полного содержимого нод. Полезно для понимания структуры workflow.
Параметры:
action:"get-structure"(обязательный)workflowId(string, обязательный) - ID workflow для анализа
Возвращает:
- Метаданные workflow
- Граф нод с соединениями
- Без полного содержимого директив/схем (легкий ответ)
Пример:
manage({ action: "get-structure", workflowId: "my-workflow" })→ { metadata: {...}, graph: { nodes: [...], edges: [...] } }Action: get-node
Заголовок раздела «Action: get-node»Получает конкретную ноду по ID с полным содержимым.
Параметры:
action:"get-node"(обязательный)workflowId(string, обязательный) - ID workflownodeId(string, обязательный) - ID ноды для получения
Возвращает:
- Полное определение ноды
- Соединения
- Input schema
Пример:
manage({ action: "get-node", workflowId: "my-workflow", nodeId: "step-1" })→ { id: "step-1", type: "agent-directive", directive: "...", ... }Action: search-nodes
Заголовок раздела «Action: search-nodes»Поиск нод по тексту в directive, completionCondition или ID.
Параметры:
action:"search-nodes"(обязательный)workflowId(string, обязательный) - ID workflowquery(string, обязательный) - Текст поискаlimit(number, опционально) - Максимум результатовoffset(number, опционально) - Смещение для пагинации
Возвращает:
- Массив найденных нод
- Контекст совпадения (где найден текст)
Пример:
manage({ action: "search-nodes", workflowId: "my-workflow", query: "validation" })→ { results: [{ nodeId: "validate-step", matches: ["directive"] }] }Action: validate
Заголовок раздела «Action: validate»Валидирует структуру workflow и возвращает ошибки/предупреждения.
Параметры:
action:"validate"(обязательный)workflowId(string, обязательный) - ID workflow
Возвращает:
- Статус валидации (valid/invalid)
- Массив ошибок (блокирующие проблемы)
- Массив предупреждений (неблокирующие проблемы)
Пример:
manage({ action: "validate", workflowId: "my-workflow" })→ { valid: true, errors: [], warnings: ["Node 'old-step' is unreachable"] }Action: list-variables
Заголовок раздела «Action: list-variables»Список всех переменных из start ноды initialData.
Параметры:
action:"list-variables"(обязательный)workflowId(string, обязательный) - ID workflow
Возвращает:
- Количество переменных
- Массив переменных с именем, типом и превью
Пример:
manage({ action: "list-variables", workflowId: "my-workflow" })→ { variableCount: 3, variables: [{ name: "test_directive", type: "string", preview: "Run npm test" }] }Action: get-variable
Заголовок раздела «Action: get-variable»Получает значение конкретной переменной.
Параметры:
action:"get-variable"(обязательный)workflowId(string, обязательный) - ID workflowvariableName(string, обязательный) - Имя переменной
Возвращает:
- Имя и значение переменной
Пример:
manage({ action: "get-variable", workflowId: "my-workflow", variableName: "test_directive" })→ { variableName: "test_directive", value: "Run npm test" }Action: set-variable
Заголовок раздела «Action: set-variable»Устанавливает или создает переменную в start ноде.
Параметры:
action:"set-variable"(обязательный)workflowId(string, обязательный) - ID workflowvariableName(string, обязательный) - Имя переменнойvariableValue(any, обязательный) - Значение
Возвращает:
- Старое и новое значение
- Сообщение об успехе
Пример:
manage({ action: "set-variable", workflowId: "my-workflow", variableName: "test_directive", variableValue: "Run npm test -- --coverage" })→ { variableName: "test_directive", oldValue: "Run npm test", newValue: "Run npm test -- --coverage" }Action: delete-variable
Заголовок раздела «Action: delete-variable»Удаляет переменную из start ноды.
Параметры:
action:"delete-variable"(обязательный)workflowId(string, обязательный) - ID workflowvariableName(string, обязательный) - Имя переменной
Возвращает:
- Удалённое значение
- Сообщение об успехе
Пример:
manage({ action: "delete-variable", workflowId: "my-workflow", variableName: "unused_var" })→ { variableName: "unused_var", deletedValue: "old value" }Action: diff
Заголовок раздела «Action: diff»Сравнивает два workflow и показывает различия.
Параметры:
action:"diff"(обязательный)workflowId(string, обязательный) - ID первого workflowcompareWorkflowId(string, обязательный) - ID второго workflow
Возвращает:
- Различия в metadata
- Добавленные ноды
- Удалённые ноды
- Изменённые ноды с деталями
Пример:
manage({ action: "diff", workflowId: "workflow-v1", compareWorkflowId: "workflow-v2" })→ { metadataDiff: { version: { old: "1.0.0", new: "2.0.0" } }, addedNodes: ["new-step"], removedNodes: [], modifiedNodes: [...] }session
Заголовок раздела «session»Унифицированный инструмент для информации о сессии и выполнении.
Action: user
Заголовок раздела «Action: user»Информация о текущем аутентифицированном пользователе.
Параметры:
action:"user"(обязательный)
Возвращает:
- Имя
Пример:
session({ action: "user" })→ { email: "user@example.com", name: "John" }Action: executions
Заголовок раздела «Action: executions»Список активных выполнений workflow текущего пользователя.
Параметры:
action:"executions"(обязательный)
Возвращает:
- Массив объектов активных выполнений
- Статус, workflowId, время старта для каждого
Пример:
session({ action: "executions" })→ [{ executionId: "abc-123", workflowId: "example", status: "waiting", note: "Реализация фичи", ... }]Action: execution_context
Заголовок раздела «Action: execution_context»Полное состояние выполнения включая переменные контекста.
Параметры:
action:"execution_context"(обязательный)executionId(string, обязательный) - ID выполнения
Возвращает:
- Статус выполнения (running, waiting, completed, failed)
- Информация о текущей ноде
- Переменные контекста
- История выполнения нод
Пример:
session({ action: "execution_context", executionId: "abc-123" })→ { status: "waiting", currentNodeId: "task-1", context: {...}, ... }Action: current_step
Заголовок раздела «Action: current_step»Повторяет текущий шаг workflow без продвижения выполнения.
Параметры:
action:"current_step"(обязательный)executionId(string, обязательный) - ID выполнения
Возвращает:
- Текущую директиву
- Условие завершения
- Input schema
- Информацию о контексте
Пример:
session({ action: "current_step", executionId: "abc-123" })→ { directive: "Complete task...", completionCondition: "...", inputSchema: {...} }Action: update-note
Заголовок раздела «Action: update-note»Обновляет заметку выполнения для удобной идентификации в списках.
Параметры:
action:"update-note"(обязательный)executionId(string, обязательный) - ID выполненияnote(string, обязательный) - Новая заметка (макс 500 символов)
Возвращает:
- Статус успеха
- ID выполнения и заметку
Пример:
session({ action: "update-note", executionId: "abc-123", note: "Шаг 5: Интеграционные тесты" })→ { success: true, executionId: "abc-123", note: "Шаг 5: Интеграционные тесты" }settings
Заголовок раздела «settings»Унифицированный инструмент для управления настройками пользователя.
Action: get
Заголовок раздела «Action: get»Получение настроек пользователя по категории или всех настроек.
Параметры:
action:"get"(обязательный)category(string, опционально) - Фильтр по категории (telegram, ui, profile, etc.)
Возвращает:
- Объект настроек со значениями
- Зашифрованные поля показаны как [encrypted]
Пример:
settings({ action: "get", category: "ui" })→ { "ui.theme": "dark", "ui.language": "en" }Action: set
Заголовок раздела «Action: set»Установка значения настройки с валидацией.
Параметры:
action:"set"(обязательный)key(string, обязательный) - Ключ настройки (например, ui.theme)value(any, обязательный) - Значение настройки
Возвращает:
- Статус успеха
- Обновленное значение (зашифрованное если применимо)
Пример:
settings({ action: "set", key: "ui.theme", value: "dark"})→ { success: true, key: "ui.theme", value: "dark" }Action: list
Заголовок раздела «Action: list»Список доступных настроек.
Параметры:
action:"list"(обязательный)category(string, опционально) - Фильтр по категории
Возвращает:
- Массив настроек с ключом и описанием
Пример:
settings({ action: "list", category: "telegram" })→ [{ key: "telegram.bot_token", description: "Your Telegram bot token" }]Генерация временных токенов для операций с большими файлами workflow.
Action: upload
Заголовок раздела «Action: upload»Генерация токена для загрузки больших workflow через HTTP.
Параметры:
action:"upload"(обязательный)ttlMinutes(number, опционально, default: 60) - TTL токена в минутах
Возвращает:
token- Токен загрузкиuploadUrl- Полный URL для загрузкиexpiresAt- Время истечения в ISO 8601uploadInstructions- Детали загрузки:method:"POST"contentType:"multipart/form-data"fieldName:"workflow"fileFormat:"JSON file with workflow definition"example: пример curl команды
Запрос загрузки:
curl -X POST "${uploadUrl}" -F "workflow=@your-workflow.json"Пример:
token({ action: "upload", ttlMinutes: 30 })→ { token: "abc123", uploadUrl: "https://moiraqq.com/api/public/workflows/upload/abc123", expiresAt: "2024-01-15T12:00:00.000Z", uploadInstructions: { method: "POST", contentType: "multipart/form-data", fieldName: "workflow", fileFormat: "JSON file with workflow definition", example: "curl -X POST '...' -F 'workflow=@your-workflow.json'" } }Action: download
Заголовок раздела «Action: download»Генерация токена для скачивания workflow.
Параметры:
action:"download"(обязательный)workflowId(string, обязательный) - ID workflow для скачиванияttlMinutes(number, опционально, default: 60) - TTL токена в минутах
Возвращает:
- Токен скачивания
- URL скачивания
- Время истечения
Пример:
token({ action: "download", workflowId: "my-workflow", ttlMinutes: 30})→ { token: "abc123", downloadUrl: "https://.../download", expiresAt: "..." }Получение документации и помощи по системе workflow.
Параметры:
topic(string | string[], опционально) - Тема(ы) помощи, одна или массив
Темы:
overview,introduction- Обзор системыquickstart- Руководство по началу работыnodes- Справочник по типам нодworkflows- Структура workflowtemplates- Переменные шаблоновtools- Справочник инструментовvalidation- Система валидацииclaude-code- Интеграция с Claude Codemcp-clients- Другие MCP клиентыexamples- Примеры паттернов с фрагментами кодаpattern-*- Паттерны workflow (например, pattern-workspace, pattern-skip)
Пример одной темы:
help({ topic: "nodes" })→ "# Node Types\n\nMoira supports 7 node types..."Пример нескольких тем:
help({ topic: ["pattern-workspace", "pattern-skip"] })→ "# Workspace Pattern\n...\n\n---\n\n# Skip Pattern\n..."Несколько тем объединяются с разделителями для комбинированного поиска документации.
Связанная документация
Заголовок раздела «Связанная документация»- Руководство для агентов - Использование MCP tools
- Решение проблем - Типичные проблемы