Интеграция MCP клиентов
Moira работает с любым клиентом, поддерживающим Model Context Protocol (MCP). Это руководство описывает настройку распространённых MCP-клиентов.
Обзор протокола MCP
Moira предоставляет инструменты через MCP Streamable HTTP:
- Endpoint:
https://moira-mcp.com/mcp - Транспорт: Streamable HTTP; успешные ответы могут передаваться потоком SSE
- Аутентификация: OAuth 2.1 или API-токен
Конфигурация клиентов
Рекомендуется: используйте CLI-команду
claude mcp add --transport http moira https://moira-mcp.com/mcpЗатем авторизуйтесь:
# После добавления авторизуйтесь в claude:
/mcp
# → Выберите "moira"
# → Нажмите "Authenticate"
# → Откроется браузер для OAuthАльтернатива: ручная настройка JSON
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp"
}
}
}Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}Рекомендуется: файл конфигурации
{
"mcpServers": {
"moira": {
"type": "http",
"url": "https://moira-mcp.com/mcp"
}
}
}Затем авторизуйтесь:
# После сохранения конфигурации:
# 1. Запустите сессию Copilot CLI
# 2. Введите /mcp
# 3. Выберите "moira" → Authenticate
# → Откроется браузер для OAuthАльтернатива: интерактивная настройка
# В Copilot CLI:
/mcp
# → Нажмите "Add server"
# → Введите URL сервера
# → Завершите OAuth
# Конфигурация на уровне проекта:
# .copilot/mcp-config.json (тот же формат)Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"mcpServers": {
"moira": {
"type": "http",
"url": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}Рекомендуется: Установка в один клик
Добавить в CursorЗатем авторизуйтесь:
# После нажатия кнопки:
# 1. Cursor откроется с запросом на установку
# 2. Нажмите "Install", чтобы добавить moira MCP сервер
# 3. Settings → MCP Servers → Найдите "moira"
# 4. Нажмите "Authenticate" → Браузер откроется для OAuthАльтернатива: Ручная настройка JSON
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp"
}
}
}Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}Десктоп-приложение: GUI-метод
# В приложении Claude Desktop:
# 1. Откройте Settings (⌘+,)
# 2. Перейдите на вкладку "Connectors"
# 3. Нажмите "Add custom connector"
# 4. Введите:
# Server URL: https://moira-mcp.com/mcp
# 5. Нажмите "Connect"
# 6. Откроется браузер → OAuth → Готово
# Редактировать файлы не нужноРекомендуется: Установка в один клик
Добавить в VS CodeЗатем авторизуйтесь:
# После нажатия кнопки:
# 1. VS Code откроется с запросом на установку
# 2. Нажмите "Install", чтобы добавить moira MCP сервер
# 3. Settings → MCP Servers → Найдите "moira"
# 4. Нажмите "Authenticate" → Браузер откроется для OAuthАльтернатива: Ручная настройка
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp"
}
}
}Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"mcpServers": {
"moira": {
"url": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}claude.ai - Веб-чат (самый популярный)
# На claude.ai (Pro/Max/Team/Enterprise):
# 1. Откройте Settings → Connectors
# 2. Нажмите "Add custom connector"
# 3. Введите:
# Server URL: https://moira-mcp.com/mcp
# 4. Нажмите "Connect"
# 5. Завершите OAuth-аутентификацию в браузере
# 6. Инструменты появятся в чате
# Требуется платный тарифchat.openai.com - Веб-чат
# На chat.openai.com (Plus/Pro):
# 1. Profile → Settings
# 2. Перейдите в "Connectors" или "Integrations"
# 3. Нажмите "Add connector"
# 4. Введите:
# Name: MCP Moira
# URL: https://moira-mcp.com/mcp
# 5. Завершите OAuth-аутентификацию
# 6. Инструменты доступны в чате
# Бесплатный тариф не поддерживает MCPMac-приложение: с хелпером
# Perplexity Mac App:
# 1. Сначала установите PerplexityXPC хелпер:
# Settings → Connectors → Install Helper
# 2. Нажмите "Add Connector"
# 3. Введите:
# Server Name: moira
# Command: npx
# Args: -y mcp-remote https://moira-mcp.com/mcp
# 4. Завершите OAuth-аутентификацию
# 5. Попросите Perplexity использовать инструменты MCP Moira
# Рекомендуется платный тарифРасширение VS Code: Open-source AI-ассистент
mcpServers:
- name: moira
url: "https://moira-mcp.com/mcp"Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
mcpServers:
- name: moira
url: "https://moira-mcp.com/mcp"
headers:
Authorization: "Bearer moira_YOUR_TOKEN"Быстрый редактор кода с AI
{
"context_servers": {
"moira": {
"url": "https://moira-mcp.com/mcp"
}
}
}Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"context_servers": {
"moira": {
"url": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}Google AI терминальный ассистент
{
"mcpServers": {
"moira": {
"httpUrl": "https://moira-mcp.com/mcp"
}
}
}Аутентификация без OAuth
Для CI/CD, Docker или окружений без браузера — используйте API токен вместо OAuth.
2. Создайте токен (начинается с moira_)
3. Замените moira_YOUR_TOKEN ниже на ваш токен
{
"mcpServers": {
"moira": {
"httpUrl": "https://moira-mcp.com/mcp",
"headers": {
"Authorization": "Bearer moira_YOUR_TOKEN"
}
}
}
}Собственный клиент
Для собственных MCP-клиентов используйте MCP SDK с URL: https://moira-mcp.com/mcp
Доступные инструменты
Основной цикл выглядит как list → start prepare → start execute → повторные вызовы step; session используется для
просмотра и возобновления выполнений, а help — для runtime-документации.
Справочник MCP-инструментов является источником полного
актуального каталога, точных входных схем, действий и примеров.
Аутентификация
Moira поддерживает два метода аутентификации:
OAuth 2.1 (по умолчанию)
- Клиент инициирует подключение к MCP endpoint 2. Сервер возвращает ответ о необходимости аутентификации 3. Клиент открывает браузер для OAuth-потока 4. Пользователь аутентифицируется в Moira 5. Клиент получает токен доступа 6. Последующие запросы включают токен
Обновление OAuth-токена обрабатывается автоматически и сохраняет состояние каталога, принятое предыдущим токеном доступа. Обновление каталога после изменения серверного контракта — отдельная MCP-инициализация, описанная ниже. При истечении учётных данных может потребоваться повторная аутентификация.
API-токены
Для MCP-клиентов, которые не поддерживают OAuth (пользовательские скрипты, CI/CD пайплайны, headless-окружения), используйте API-токены:
- Войдите в веб-интерфейс 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" } } }}Замените YOUR_MCP_ENDPOINT на ваш MCP endpoint Moira: https://moira-mcp.com/mcp. API-токены
полностью обходят OAuth-поток — используйте их, когда клиент не может открыть браузер для
аутентификации.
Обновление статического каталога
Описания и схемы инструментов входят в статический каталог, поставляемый с сервером Moira. Клиент
принимает этот каталог во время MCP-handshake initialize. Это правило одинаково для OAuth-токенов
доступа и API-токенов.
После изменения каталога обычный запрос с учётными данными, которые ещё не инициализировали текущий
каталог, получает HTTP 426 с upgrade_required. Переподключите или повторно инициализируйте MCP-сервер
с теми же учётными данными. Успешный initialize обновляет каталог для этих учётных данных; создавать
новый API-токен не требуется. OAuth-токены доступа могут независимо заменяться при автоматическом
обновлении, сохраняя актуальное, устаревшее или ещё не инициализированное состояние каталога.
Проверки аутентификации и состояния учётной записи выполняются до обновления каталога. Отозванные или истёкшие учётные данные и учётная запись без доступа к MCP по-прежнему получают обычную ошибку аутентификации или доступа.
Примеры вызова инструментов
Список воркфлоу
{ "method": "tools/call", "params": { "name": "list", "arguments": {} }}Подготовка запуска воркфлоу
{ "method": "tools/call", "params": { "name": "start", "arguments": { "action": "prepare", "workflowId": "moira/software-development-flow", "parentExecutionId": "none" } }}Подготовка возвращает startAttemptId, не создавая execution. Выполните его вторым вызовом:
{ "method": "tools/call", "params": { "name": "start", "arguments": { "action": "execute", "startAttemptId": "start-attempt-current" } }}Выполнение шага
{ "method": "tools/call", "params": { "name": "step", "arguments": { "processId": "abc-123", "attemptId": "attempt-current", "input": { "result": "Задача выполнена успешно", "details": { "files": ["main.ts", "utils.ts"] } } } }}Обработка ошибок
Типичные ответы об ошибках:
| Ошибка | Причина | Решение |
|---|---|---|
UNAUTHORIZED | Недействительный/истекший токен | Повторная аутентификация |
NOT_FOUND | Недействительный ID воркфлоу/процесса | Проверьте ID |
FORBIDDEN | Нет доступа к ресурсу | Проверьте права |
upgrade_required | Требуется обновить каталог MCP | Переподключитесь с теми же учётными данными |
VALIDATION_ERROR | Недействительный ввод | Проверьте input schema |
ATTEMPT_PROCESSING | Дубликат ещё выполняется | Повторите ту же попытку и ввод |
ATTEMPT_STALE | Предъявление больше не текущее | Прочитайте current_step и повторите один раз |
ATTEMPT_CONFLICT | Попытка связана с другим вводом | Прочитайте current_step; отбросьте старый ввод |
ATTEMPT_INVALID_OR_EXPIRED (шаг) | Попытка недоступна | Прочитайте current_step; отбросьте попытку |
ATTEMPT_OUTCOME_UNKNOWN | Эффект мог уже произойти | Найдите возвращённый Process ID |
Настройка self-hosted
Для self-hosted Moira:
- Разверните сервер Moira
- Настройте URL MCP endpoint
- Настройте аутентификацию и доступ учётной записи
- Обновите конфигурацию клиента с вашим endpoint
{ "mcpServers": { "moira": { "url": "https://your-server.com/mcp" } }}Устранение неполадок
Таймаут подключения
- Проверьте сетевое подключение
- Проверьте URL endpoint
- Убедитесь, что SSE не блокируется файрволом
Инструменты не появляются
- Переподключите MCP-сервер Moira, чтобы клиент снова выполнил
initialize - Сохраните текущий OAuth- или API-токен, если он не отозван и не истёк
- Проверьте синтаксис JSON в конфигурации
- Проверьте логи клиента на наличие ошибок
Цикл аутентификации
- Очистите сохраненные токены
- Проверьте конфигурацию OAuth
- Проверьте redirect URI
Связанное
- Claude Code — Специфичная настройка Claude Code
- Быстрый старт — Общее начало работы