Hyperion V2
Hyperion V2 - LLM 네이티브 유니버설 웹 에이전트
AI를 위한 가장 강력한 브라우저. 모든 AI 에이전트(Claude, Cursor, Cline, OpenCode 등)가 5가지 인식 엔진, 탄력적인 하트비트, 실시간 비전을 통해 실제 Chrome을 제어할 수 있는 유니버설 MCP 서버입니다.
CLAUDE CODE ──┐
CURSOR ├─── MCP / CLI ──── HYPERION V2 ──── CDP ──── CHROME REAL
CLINE │ (Zod schemas) (5 engines) (tus tabs, logins)
OPENCODE ├─── Heartbeat + Auto-Reconnect
AGY │ Real-Time Vision Streaming
CODEX │ Overlay [0][1][2]...
HERMES └─── Action Registry + Full Tracing🚀 V2의 새로운 기능
1. Zod 스키마를 사용한 LLM 친화적 API
✅ 자동 문서화 → LLM이 각 도구를 모호함 없이 이해합니다
✅ 타입 안전 실행 → 입력 자동 검증
✅ 16개 이상의 사전 등록된 도구 → screenshot, click, type, overlay, vision 등
2. 하트비트 + 자동 재연결 복원력
✅ 상태 모니터링 → 조용한 연결 끊김 감지
✅ 지수 백오프 → 지연 시간이 증가하는 자동 재연결
✅ 연결 풀 → 실시간 메트릭(지연 시간, 메시지, 오류)
✅ 더 이상 "연결 끊김" 없음 → 자동 복구
3. 실시간 비전 스트리밍
✅ 연속 프레임 → 1-10fps 설정 가능
✅ 변경 감지 → 추가/제거된 요소 감지
✅ 플랫폼 감지 → Instagram, TikTok, Facebook 등 식별
✅ 전체 요소 메타데이터 → 위치, 텍스트, 선택자, ARIA 역할
4. 유니버설 액션 프레임워크
✅ 전체 실행 추적 → 실행 전후 스크린샷, 재시도 기록, 지속 시간
✅ 자동 재시도 → 액션별 설정 가능(타임아웃, 백오프)
✅ 실행 기록 → 전체 로그가 포함된 최근 1000개 액션
✅ 리스너 패턴 → 실행 이벤트 구독
5. 강력한 오버레이 엔진
✅ 단 한 번의 주입 → 중복 없음 보장
✅ 자동 새로고침 → DOM 변경 시 업데이트
✅ MutationObserver + Resize → 항상 동기화
✅ ID [0][1][2]로 클릭 → LLM이 숫자를 보고 클릭
Related MCP server: agentify-desktop
📋 V2 아키텍처
src/
├── core/
│ ├── types.ts ← Universal types (16 interfaces)
│ └── ActionRegistry.ts ← Action execution + tracing
│
├── connection/
│ ├── transport.ts ← Base transport (CDP protocol)
│ ├── resilience/
│ │ ├── HeartbeatManager.ts ← Health monitoring
│ │ ├── ReconnectionManager.ts ← Auto-reconnect + backoff
│ │ ├── ConnectionPool.ts ← Metrics + connection management
│ │ └── ConnectionHealthCheck.ts
│ ├── attach.ts ← WebSocket attach mode
│ ├── launch.ts ← Fresh Chrome launch
│ └── extension.ts ← Chrome extension mode
│
├── vision/
│ └── VisionEngine.ts ← Real-time frame capture + analysis
│
├── overlay/
│ └── OverlayEngine.ts ← Robust element mapping
│
├── mcp/
│ ├── LLMServer.ts ← 16+ registered actions
│ └── MCPServerAdapter.ts ← MCP protocol bridge
│
├── hyperion.ts ← Main client API
└── cli.ts ← CLI entry point (MCP/interactive)🎯 사용 사례
Claude Code / Cursor / Cline
# Start MCP server
hyperion --mcp --launch
# Configure in your editor's settings
# Claude Code automatically discovers and uses all 16+ toolsLLM이 액션을 사용하는 방식:
{
"actionId": "overlay-inject",
"input": {
"refreshIntervalMs": 1000
}
}
→ Response: {
"injected": true,
"elementCount": 42,
"elements": [
{ "overlayId": 0, "text": "Click here", "x": 100, "y": 200 },
{ "overlayId": 1, "text": "Submit", "x": 150, "y": 250 },
...
]
}{
"actionId": "overlay-click",
"input": { "overlayId": 5 }
}
→ Response: { "clicked": true, "overlayId": 5 }📊 16개 이상의 등록된 액션
액션 | 카테고리 | 인식 | 타임아웃 | 재시도 |
| visual | visual | 5s | ✗ |
| navigation | none | 30s | ✓ (2x) |
| interaction | visual | 3s | ✓ (3x) |
| interaction | none | 5s | ✓ (2x) |
| visual | visual | 5s | ✗ |
| visual | visual | 2s | ✗ |
| interaction | visual | 3s | ✓ (2x) |
| visual | none | 2s | ✗ |
| visual | visual | ∞ | ✗ |
| visual | none | ∞ | ✗ |
| extraction | none | 5s | ✗ |
| utility | none | 15s | ✗ |
| interaction | none | 3s | ✗ |
| utility | none | 5s | ✗ |
| interaction | visual | 2s | ✗ |
| interaction | none | 3s | ✗ |
🔧 설치
npm install -g hyperion-browser
# O desde source
git clone https://github.com/ericklrm89-jpg/hyperion.git
cd hyperion
npm install
npm run build🎬 빠른 시작
MCP 모드 (Claude Code, Cursor 등)
# Launch fresh Chrome + MCP server
hyperion --mcp --launch --port 9222
# O attach a Chrome existente
hyperion --mcp --attach ws://localhost:9222/devtools/page/xxx
# O usar extension
hyperion --mcp --extension대화형 CLI
hyperion --launch
> navigate https://example.com
> screenshot
> click "button.submit"
> type "#email" "test@example.com"
> scroll down 500
> eval "document.title"🏗️ 핵심 아키텍처
기둥 1: 코어 타입
시스템 전체에서 공유되는 유니버설 정의:
ActionDefinition<T>→ Zod 스키마 + 메타데이터ActionExecution→ 스크린샷이 포함된 전체 추적VisionFrame→ 30개 이상의 속성을 가진 프레임ConnectionMetrics→ 상태 모니터링
기둥 2: 복원력 계층
하트비트 + 자동 재연결 + 연결 풀
// Heartbeat detecta desconexiones
const hb = new HeartbeatManager(
sender,
onHealthChange,
{ maxMissed: 3, clientId: 'agent-1' }
);
hb.start(5000); // Ping cada 5s
// ReconnectionManager reintentos exponenciales
const rc = new ReconnectionManager({
maxAttempts: 10,
initialBackoffMs: 1000,
maxBackoffMs: 30000,
backoffMultiplier: 1.5,
});
await rc.executeWithReconnect(() => transport.call('Method'));
// ConnectionPool métricas
const pool = new ConnectionPool();
pool.recordMessageSent('conn-1', 'Page.navigate', 250);
const metrics = pool.getMetrics('conn-1');
// { state, messagesSent, averageLatency, errorCount, ... }기둥 3: 유니버설 액션 프레임워크
안전한 실행 + 재시도 + 추적
const registry = new ActionRegistry();
// Registrar acción
registry.register({
id: 'custom-action',
name: 'My Action',
description: '...',
schema: z.object({ ... }),
retry: { maxAttempts: 3, backoffMs: 1000 },
timeout: 10000,
});
// Ejecutar con tracing
const execution = await registry.execute(
'custom-action',
{ input: 'value' },
async (validated) => {
// Tu código aquí
return result;
},
{
captureScreenshots: true,
beforeScreenshot: () => hyperion.screenshot.capture(),
afterScreenshot: () => hyperion.screenshot.capture(),
}
);
// execution contiene:
// - status, duration, attempts
// - output, error (si falló)
// - screenshots before/after/error
// - retry count y historial
registry.onExecution(exec => {
console.log(`Action ${exec.actionId} -> ${exec.status} (${exec.duration}ms)`);
});기둥 4: 실시간 비전
스트리밍 + 변경 감지
const vision = new VisionEngine(hyperion);
// Start streaming
await vision.startStreaming(1000); // 1 frame/sec
vision.on('frame', (frame: VisionFrame) => {
console.log(`Frame ${frame.id}:`);
console.log(` URL: ${frame.url}`);
console.log(` Elements: ${frame.elements.length}`);
console.log(` Platform: ${frame.platform}`);
console.log(` Changes: +${frame.changes?.added.length} -${frame.changes?.removed.length}`);
});
vision.on('frame-changed', (frame) => {
// Solo elementos nuevos/removidos
console.log('DOM cambió:', frame.changes);
});
const latest = vision.getLatestFrame();
const history = vision.getFrameHistory(10);
const stats = vision.getStats();
vision.stopStreaming();기둥 5: 오버레이 엔진
강력한 주입 + 자동 동기화
const overlay = new OverlayEngine();
// Inyectar (una sola vez, garantizado)
await overlay.ensureInjected(hyperion, { refreshIntervalMs: 1000 });
// Obtener elementos
const elements = await overlay.getElements(hyperion);
// [
// { overlayId: 0, text: 'Login', x: 100, y: 200 },
// { overlayId: 1, text: 'Sign Up', x: 150, y: 200 },
// ]
// Click por ID
await overlay.clickById(hyperion, 5);
// Eliminar overlay
await overlay.kill(hyperion);기둥 6: LLM 서버
MCP 브리지 + 16개 이상의 액션
const llmServer = new LLMServer(hyperion);
// Automáticamente registra 16+ acciones
const definitions = llmServer.getActionDefinitions();
// Cada una tiene schema Zod auto-documentado
// Ejecutar acción (como lo haría un LLM)
const result = await llmServer.executeAction('overlay-inject', {
refreshIntervalMs: 1000,
});
// Ejecuta, trackea, captura screenshots, reintentos
const history = llmServer.getExecutionHistory(100);
const stats = llmServer.getStats();🎛️ 3가지 연결 모드
모드 | 방법 | 탐지 방지 | Chrome 136+ | 권장 사항 |
Extension | Native Messaging | ✅ CreepJS 0% | ✅ 팝업 없음 | ✅ 기본값 |
Launch | 새 브라우저 실행 | ✅ 완전 스텔스 | N/A | CI/격리 환경용 |
Attach | 기존 브라우저에 WebSocket 연결 | ⚠️ 부분적 | ❌ 팝업 | 디버깅 전용 |
🔒 탐지 방지
Runtime.enableOFF → 런타임 누수 제거Emulation.setAutomationOverride→navigator.webdriver = false(네이티브)제로 JS 패치 → 지문 없음
Extension + Native Messaging → Chrome 136+ 팝업 방지
Emulation.setFocusEmulationEnabled→ 백그라운드 탭 스로틀링 없음
📈 메트릭 및 디버깅
// Connection metrics
const pool = new ConnectionPool();
const metrics = pool.getMetrics('conn-1');
// {
// state: 'connected',
// messagesSent: 1250,
// messagesReceived: 1240,
// failedMessages: 2,
// averageLatencyMs: 45.2,
// errorCount: 1,
// reconnectAttempts: 0
// }
// Action execution stats
const stats = registry.getStats();
// {
// totalExecutions: 500,
// successful: 495,
// failed: 5,
// successRate: 99%,
// averageDurationMs: 234.5
// }
// Execution trace
const exec = registry.getExecutionById('action-id-123');
// {
// status: 'success',
// duration: 1234,
// attempts: [
// { attempt: 1, result: {...} },
// { attempt: 2, error: '...' },
// { attempt: 3, result: {...} }
// ],
// screenshots: [
// { phase: 'before', base64: '...' },
// { phase: 'after', base64: '...' }
// ]
// }🧪 테스트
# Unit tests
npm run test
# Integration tests
npm run test:integration
# Watch mode
npm run test -- --watch📚 전체 문서
Core API - 전체 참조
Schema Definitions - 모든 Zod 스키마
Examples - 작동 예제
Architecture - 상세 다이어그램
🤝 LLM 통합
Claude Code
{
"mcpServers": {
"hyperion": {
"command": "hyperion",
"args": ["--mcp", "--launch"]
}
}
}Cursor
.cursor/settings.json:
{
"rules": {
"hyperion": "hyperion --mcp --launch"
}
}Cline
cline_config.json:
{
"mcpServers": [
{
"name": "hyperion",
"command": "npx hyperion --mcp --launch"
}
]
}📄 라이선스
MIT - 상업적 및 개인적 용도로 자유롭게 사용 가능
🚀 V2.1 로드맵
비디오 녹화 통합
멀티 탭 관리
고급 제스처 지원 (스와이프, 핀치)
Chrome DevTools 통합
실행 로그 클라우드 저장
성능 프로파일링 훅
💬 지원
GitHub Issues: hyperion/issues
Discussions: hyperion/discussions
Hyperion V2 - LLM 네이티브 브라우저 자동화 프레임워크.
웹을 제대로 자동화하려는 AI 에이전트를 위해 💚로 제작되었습니다.
This server cannot be installed
Maintenance
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
- AlicenseAqualityCmaintenanceMCP server + Chrome extension that gives AI coding agents control of your real browser with existing sessions, logins, and cookies. Works with Cursor, Claude, Windsurf.188847MIT

agentify-desktopofficial
AlicenseNot gradedqualityBmaintenanceMCP server that enables AI tools to control local browser sessions for ChatGPT, Claude, and other AI services, supporting querying, navigation, file uploads, and artifact management.65529Mozilla Public 2.0- FlicenseBqualityBmaintenanceA minimalist browser control engine that allows LLM agents to visually perceive and interact with web pages through the Chrome DevTools Protocol and MCP standard.411
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets LLM agents control all Chrome browser tabs via accessibility snapshots, element references, and a virtual cursor, supporting operations like click, type, navigate, screenshot, and video recording.MIT
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ericklrm89-jpg/hyperion'
If you have feedback or need assistance with the MCP directory API, please join our Discord server