LoopIn MCP Server
LoopIn
AI 에이전트를 위한 Human-in-the-loop 인터럽트 API.
LoopIn을 사용하면 AI 에이전트가 중요한 결정 지점에서 일시 중지하고, 사람의 검토를 요청하며, 사람의 결정에 따라 실행을 재개할 수 있습니다. 더 이상 에이전트가 혼자서 고위험 결정을 내리지 않아도 됩니다.
왜 LoopIn인가요?
자율 에이전트는 강력하지만, 사람 없이 내려서는 안 될 결정에 직면할 때가 있습니다. LoopIn은 모든 에이전트에게 안전한 탈출구를 제공합니다:
에이전트가 결정 지점에 도달 →
POST /interrupts호출LoopIn이 사람에게 알림 → 웹훅 또는 직접 검토 URL을 통해
사람이 승인 또는 거부 → 검토 페이지 또는
POST /interrupts/:id/decide를 통해에이전트가 결정 확인을 위해 폴링 →
GET /interrupts/:id에이전트가 재개 → 결정(및 사람이 제공한 수정된 매개변수)을 사용하여 실행
Related MCP server: turn-mcp-web
엔드포인트
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 }
]
}검토 페이지
모든 인터럽트는 사람이 읽을 수 있는 검토 URL을 가집니다:
GET /review/:interruptId이 페이지는 다음을 보여주는 HTML을 렌더링합니다:
에이전트가 수행하려는 작업
모든 컨텍스트 데이터 (포맷된 JSON)
긴급도 배지
승인 / 거부 버튼
선택적 사유 텍스트 필드
이 URL을 요청을 검토해야 하는 사람과 공유하세요. 기본적으로 로그인은 필요하지 않습니다.
MCP 도구
LoopIn MCP 서버는 모든 MCP 호환 AI 클라이언트(Claude Desktop, Cursor 등)에서 사용할 수 있는 6가지 도구를 제공합니다:
도구 | 설명 |
| 에이전트가 새로운 인터럽트 요청 생성 |
| 에이전트가 결정을 확인하기 위해 폴링 |
| 사람이 검토가 필요한 항목 확인 |
| 사람이 승인 또는 거부 |
| 에이전트가 대기 중인 요청 취소 |
| 사용 통계 |
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사람 사용 패턴
옵션 A — 검토 URL (가장 간단함)
에이전트로부터
reviewUrl을 수신 (이메일, Slack 등을 통해)브라우저에서 URL 열기
컨텍스트 검토, 승인 또는 거부 클릭, 선택적 사유 추가
완료 — 에이전트가 다음 폴링 시 결정 사항을 수신
옵션 B — 대기 목록 확인 (대시보드)
GET /interrupts/pending/:userId— 모든 열린 요청 확인개별
reviewUrl을 열거나POST /interrupts/:id/decide를 직접 호출
환경 변수
변수 | 기본값 | 설명 |
|
| API 서버 포트 |
|
| 검토 링크를 위한 공개 기본 URL |
| (없음) | 선택 사항: 모든 요청에 |
Colossal API 포트폴리오
LoopIn은 AI 에이전트를 위한 인프라 API 제품군인 Colossal API의 일부입니다:
SubRadar — 구독 감지 및 취소
MeetSync — 캘린더 협상 및 일정 관리
LoopIn — Human-in-the-loop 인터럽트 및 승인
모든 제품은 동일한 설계 철학을 공유합니다: 에이전트가 기본적으로 사용할 수 있도록 MCP 서버 래퍼가 포함된 간단한 REST API입니다.
This server cannot be deployed
Maintenance
Related MCP Connectors
Give any AI agent a way to ask a person — for approval, a decision, an answer or a review.
Human approvals, notifications, inbound webhooks, wake-ups for headless agents. Free trial: /try
Human-in-the-loop API for AI agents. CAPTCHA, OTP, KYC, and approvals by real humans.
Add human approval to AI agent workflows through cQnce authorization tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceHuman-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.11MIT
- AlicenseNot gradedqualityBmaintenanceEnables human-in-the-loop checkpoints for AI agents, allowing them to pause and wait for human input via a web UI, then seamlessly resume execution.38MIT
- AlicenseNot gradedqualityCmaintenancePauses AI agent execution and routes approval requests to humans via Slack or email, with cryptographically signed proof of the human's decision.23 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to request human approvals with customizable forms, webhooks, and team features.34 npmMIT