Skip to main content
Glama

LoopIn

API прерываний с участием человека (Human-in-the-loop) для ИИ-агентов.

LoopIn позволяет ИИ-агентам приостанавливаться в критических точках принятия решений, запрашивать проверку человеком и возобновлять выполнение на основе решения человека. Больше никаких агентов, принимающих рискованные решения в одиночку.


Почему LoopIn?

Автономные агенты эффективны — до тех пор, пока они не сталкиваются с решением, которое не должны принимать без участия человека. LoopIn дает каждому агенту безопасный выход:

  1. Агент достигает точки принятия решения → вызывает POST /interrupts

  2. LoopIn уведомляет человека → через вебхук или прямую ссылку на проверку

  3. Человек одобряет или отклоняет → через страницу проверки или POST /interrupts/:id/decide

  4. Агент опрашивает статус решенияGET /interrupts/:id

  5. Агент возобновляет работу → используя решение (и любые измененные параметры, предоставленные человеком)


Related MCP server: final-approval

Эндпоинты

POST /interrupts

Создание нового запроса на прерывание.

Запрос:

{
  "agentId": "agent-payments-v2",
  "userId": "user-123",
  "action": "Transfer $4,200 to vendor account ending in 9821",
  "context": {
    "vendor": "Acme Supplies",
    "amount": 4200,
    "currency": "USD",
    "invoiceId": "INV-2024-0892",
    "accountLast4": "9821"
  },
  "urgency": "high",
  "expiresIn": 1800,
  "callbackUrl": "https://my-agent.example.com/webhooks/loopin"
}

Ответ:

{
  "interruptId": "3f4e2a1b-...",
  "status": "pending",
  "expiresAt": "2024-04-12T14:30:00Z",
  "reviewUrl": "http://localhost:3002/review/3f4e2a1b-..."
}

GET /interrupts/:interruptId

Опрос текущего статуса и решения.

Ответ (ожидание):

{
  "interruptId": "3f4e2a1b-...",
  "status": "pending",
  "action": "Transfer $4,200 to vendor account ending in 9821",
  "context": { ... },
  "urgency": "high",
  "createdAt": "2024-04-12T13:00:00Z",
  "expiresAt": "2024-04-12T14:30:00Z",
  "reviewUrl": "http://localhost:3002/review/3f4e2a1b-..."
}

Ответ (решено):

{
  "interruptId": "3f4e2a1b-...",
  "status": "approved",
  "decision": "approved",
  "decidedAt": "2024-04-12T13:07:22Z",
  "reason": "Invoice verified, proceed."
}

POST /interrupts/:interruptId/decide

Отправка решения человека.

Запрос:

{
  "decision": "approved",
  "reason": "Invoice verified, proceed.",
  "modifiedParams": { "amount": 4200 }
}

Ответ:

{
  "interruptId": "3f4e2a1b-...",
  "status": "resolved",
  "decision": "approved",
  "decidedAt": "2024-04-12T13:07:22Z"
}

GET /interrupts/pending/:userId

Список всех ожидающих прерываний, требующих проверки пользователем.

Ответ:

[
  {
    "interruptId": "3f4e2a1b-...",
    "action": "Transfer $4,200 to vendor...",
    "urgency": "high",
    "createdAt": "...",
    "expiresAt": "...",
    "reviewUrl": "..."
  }
]

DELETE /interrupts/:interruptId

Отмена ожидающего прерывания (агенту больше не нужно решение).


GET /analytics/:userId

Статистика использования.

Ответ:

{
  "userId": "user-123",
  "totalInterrupts": 47,
  "approvalRate": 0.83,
  "avgResponseTimeMs": 142000,
  "byStatus": { "approved": 39, "rejected": 8 },
  "byUrgency": { "high": 12, "medium": 28, "low": 7 },
  "topActionTypes": [
    { "action": "Send payment", "count": 18 },
    { "action": "Delete records", "count": 9 }
  ]
}

Страница проверки

Каждое прерывание получает понятную человеку ссылку для проверки:

GET /review/:interruptId

Она отображает HTML-страницу, показывающую:

  • Что агент хочет сделать

  • Все контекстные данные (отформатированный JSON)

  • Значок срочности

  • Кнопки Одобрить / Отклонить

  • Дополнительное текстовое поле для причины

Поделитесь этой ссылкой с тем, кому нужно проверить запрос. По умолчанию вход в систему не требуется.


Инструменты MCP

MCP-сервер LoopIn предоставляет все 6 инструментов для использования с любым MCP-совместимым ИИ-клиентом (Claude Desktop, Cursor и т.д.):

Инструмент

Описание

create_interrupt

Агент создает новый запрос на прерывание

get_interrupt_status

Агент опрашивает статус решения

list_pending_interrupts

Человек видит, что требует проверки

decide_interrupt

Человек одобряет или отклоняет

cancel_interrupt

Агент отменяет ожидающий запрос

get_interrupt_analytics

Статистика использования

Настройка MCP-сервера (stdio)

{
  "mcpServers": {
    "loopin": {
      "command": "npx",
      "args": ["-y", "@colossal-api/loopin-mcp"],
      "env": {
        "LOOPIN_API_URL": "https://your-loopin-instance.railway.app",
        "LOOPIN_API_KEY": "your-key"
      }
    }
  }
}

Шаблон использования агентом

1. Agent reaches a decision point
   → POST /interrupts { agentId, userId, action, context, urgency }
   ← { interruptId, reviewUrl }

2. Agent saves interruptId and pauses
   → (optionally: notify human via other channels with reviewUrl)

3. Agent polls until resolved
   → GET /interrupts/:interruptId
   ← { status: "pending" }   ← keep polling
   ← { status: "approved", decision, modifiedParams }  ← resume

4. Agent resumes execution
   → use modifiedParams if provided, otherwise proceed as planned

Шаблон использования человеком

Вариант А — Ссылка для проверки (самый простой)

  1. Получите reviewUrl от агента (по электронной почте, в Slack и т.д.)

  2. Откройте ссылку в любом браузере

  3. Проверьте контекст, нажмите «Одобрить» или «Отклонить», добавьте причину (по желанию)

  4. Готово — агент получит решение при следующем опросе

Вариант Б — Список ожидающих (панель управления)

  1. GET /interrupts/pending/:userId — просмотр всех открытых запросов

  2. Откройте индивидуальные reviewUrl или вызовите POST /interrupts/:id/decide напрямую


Переменные окружения

Переменная

По умолчанию

Описание

PORT

3002

Порт API-сервера

LOOPIN_BASE_URL

http://localhost:3002

Публичный базовый URL для ссылок проверки

API_KEY_SECRET

(нет)

Опционально: требовать заголовок X-API-Key для всех запросов


Портфолио Colossal API

LoopIn является частью набора инфраструктурных API Colossal API для ИИ-агентов:

  • SubRadar — Обнаружение и отмена подписок

  • MeetSync — Согласование и планирование встреч

  • LoopIn — Прерывания и одобрения с участием человека

Все продукты разделяют одну философию дизайна: простые REST API с обертками MCP-серверов, чтобы агенты могли использовать их нативно.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Human-in-the-Loop authorization gateway for AI Agents. Securely pause MCP workflows and route high-risk actions to human approvers via Slack or Email.
    117
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Human-in-the-loop approval gate for AI agents. Your agent calls submit_approval before any irreversible action; a human reviews on a branded page; a signed webhook fires back with the decision.
    1
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides a human approval gate for AI agents, enabling interactive inline cards for approving, editing, or rejecting actions before they are executed.
    MIT

View all related MCP servers

Related MCP Connectors

  • Human-in-the-loop for AI agents. Submit choices, get a human decision.

  • Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.

  • Human-as-a-Service for AI agents. Delegate tasks that need a real human, get results via API.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicholasemccormick/loopin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server