Hyperion V2
Hyperion V2 - LLMネイティブユニバーサルWebエージェント
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以上の事前登録ツール → スクリーンショット、クリック、タイプ、オーバーレイ、ビジョンなど
2. ハートビート+自動再接続の耐障害性
✅ ヘルスモニタリング → サイレント切断を検出
✅ 指数バックオフ → 遅延が増加する自動再接続
✅ コネクションプール → リアルタイムメトリクス(レイテンシ、メッセージ数、エラー数)
✅ 「接続が切れました」はもう不要 → 自動的に復旧
3. リアルタイムビジョンストリーミング
✅ 連続フレーム → 1~10fps設定可能
✅ 変更検出 → 追加/削除された要素を検出
✅ プラットフォーム検出 → Instagram、TikTok、Facebookなどを識別
✅ 完全な要素メタデータ → 位置、テキスト、セレクタ、ARIAロール
4. ユニバーサルアクションフレームワーク
✅ 完全な実行トレース → 前後のスクリーンショット、リトライ履歴、実行時間
✅ 自動リトライ → アクションごとに設定可能(タイムアウト、バックオフ)
✅ 実行履歴 → 最新1000件のアクションと完全なログ
✅ リスナーパターン → 実行イベントを購読
5. 堅牢なオーバーレイエンジン
✅ 1回だけの注入 → 重複なしで保証
✅ 自動リフレッシュ → 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+ | 推奨 |
拡張機能 | Native Messaging | ✅ CreepJS 0% | ✅ ポップアップなし | ✅ デフォルト |
起動 | 新しいブラウザを起動 | ✅ 完全ステルス | N/A | CI/隔離環境向け |
アタッチ | 既存ブラウザにWebSocket接続 | ⚠️ 部分的 | ❌ ポップアップあり | デバッグのみ |
🔒 検出回避
Runtime.enableOFF → ランタイムリークを排除Emulation.setAutomationOverride→navigator.webdriver = false(ネイティブ)JSパッチなし → フィンガープリントなし
拡張機能+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📚 完全なドキュメント
🤝 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
ディスカッション: hyperion/discussions
Hyperion V2 - LLMネイティブブラウザ自動化フレームワーク。
Webを適切に自動化したい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