Перейти к содержимому

Интеграция MCP клиентов

Moira работает с любым клиентом, поддерживающим Model Context Protocol (MCP). Это руководство описывает настройку для 11 популярных MCP-клиентов.

Moira предоставляет инструменты через MCP поверх HTTP/SSE:

  • Endpoint: https://moira.witqq.ru/mcp
  • Транспорт: HTTP со streaming через SSE
  • Аутентификация: OAuth 2.0 или API-токен

Рекомендуется: используйте CLI-команду

Terminal
claude mcp add --transport http moira https://moira.witqq.ru/mcp

Затем авторизуйтесь:

OAuth Flow
# После добавления авторизуйтесь в claude:
/mcp
# → Выберите "moira"
# → Нажмите "Authenticate"
# → Откроется браузер для OAuth
Альтернатива: ручная настройка JSON
# Альтернатива: ручная настройка JSON
# ~/.config/claude/mcp.json
{
  "mcpServers": {
    "moira": {
      "type": "http",
      "url": "https://moira.witqq.ru/mcp"
    }
  }
}

# Затем: /mcp → Authenticate
Аутентификация без OAuth

Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.

1. Войдите в веб-интерфейс Moira → Настройки → API Токены
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
~/.config/claude/mcp.json
{
  "mcpServers": {
    "moira": {
      "url": "https://moira.witqq.ru/mcp",
      "headers": {
        "Authorization": "Bearer moira_YOUR_TOKEN"
      }
    }
  }
}

Для собственных MCP-клиентов используйте MCP SDK с URL: https://moira.witqq.ru/mcp

Все MCP-клиенты имеют доступ к этим инструментам:

ИнструментПараметрыОписание
list_workflows-Список доступных воркфлоу
start_workflowworkflowIdЗапуск выполнения воркфлоу
execute_stepprocessId, inputОтправка результата шага
ИнструментПараметрыОписание
get_session_infoactionИнформация о сессии/выполнении
get_execution_contextexecutionIdКонтекст выполнения
ИнструментПараметрыОписание
get_helptopic (опционально)Документация
manage_settingsaction, key, valueУправление настройками

Moira поддерживает два метода аутентификации:

  1. Клиент инициирует подключение к MCP endpoint 2. Сервер возвращает ответ о необходимости аутентификации 3. Клиент открывает браузер для OAuth-потока 4. Пользователь аутентифицируется в Moira 5. Клиент получает токен доступа 6. Последующие запросы включают токен

Для MCP-клиентов, которые не поддерживают OAuth (пользовательские скрипты, CI/CD пайплайны, headless-окружения), используйте API-токены:

  1. Войдите в веб-интерфейс Moira 2. Перейдите в Settings → API Tokens 3. Нажмите Create Token, введите имя и срок действия 4. Скопируйте токен (показывается один раз, начинается с moira_) 5. Настройте клиент с токеном в качестве Bearer-авторизации

Пример конфигурации для пользовательского MCP-клиента:

{
"mcpServers": {
"moira": {
"url": "YOUR_MCP_ENDPOINT",
"headers": {
"Authorization": "Bearer moira_your_token_here"
}
}
}
}
{
"method": "tools/call",
"params": {
"name": "list_workflows",
"arguments": {}
}
}
{
"method": "tools/call",
"params": {
"name": "start_workflow",
"arguments": {
"workflowId": "development-flow"
}
}
}
{
"method": "tools/call",
"params": {
"name": "execute_step",
"arguments": {
"processId": "abc-123",
"input": {
"result": "Задача выполнена успешно",
"details": { "files": ["main.ts", "utils.ts"] }
}
}
}
}

Типичные ответы об ошибках:

ОшибкаПричинаРешение
UNAUTHORIZEDНедействительный/истекший токенПовторная аутентификация
NOT_FOUNDНедействительный ID воркфлоу/процессаПроверьте ID
FORBIDDENНет доступа к ресурсуПроверьте права
VALIDATION_ERRORНедействительный вводПроверьте input schema

Для self-hosted Moira:

  1. Разверните сервер Moira
  2. Настройте URL MCP endpoint
  3. Настройте аутентификацию (опционально)
  4. Обновите конфигурацию клиента с вашим endpoint
{
"mcpServers": {
"moira": {
"url": "https://your-server.com/mcp",
"transport": "sse"
}
}
}
  • Проверьте сетевое подключение
  • Проверьте URL endpoint
  • Убедитесь, что SSE не блокируется файрволом
  • Перезапустите клиент после настройки
  • Проверьте синтаксис JSON в конфигурации
  • Проверьте логи клиента на наличие ошибок
  • Очистите сохраненные токены
  • Проверьте конфигурацию OAuth
  • Проверьте redirect URI