Skip to main content
Glama

단일 scout 바이너리로 전체 CLI, 66개 도구의 MCP 서버, 그리고 Gin 스타일의 미들웨어 구성을 지원하는 Go 라이브러리를 사용할 수 있습니다.

brew install felixgeelhaar/tap/scout

빠른 시작

# CLI — visible browser, one-shot commands
scout observe https://example.com          # structured page snapshot
scout markdown https://news.ycombinator.com # page as compact markdown
scout screenshot https://github.com         # save screenshot
scout extract https://example.com h1        # extract element text
scout frameworks https://react.dev          # detect React, Vue, etc.

# MCP Server — give AI agents browser superpowers
claude mcp add scout -- scout mcp serve

# Browser UI — conversational browser automation
scout ui serve --provider=ollama --model=mistral
cd ui && npm install && npm run dev  # open http://localhost:3000

Related MCP server: Browser-MCP Navigator

설치

# Homebrew
brew install felixgeelhaar/tap/scout

# Direct binary
curl -fsSL https://raw.githubusercontent.com/felixgeelhaar/scout/main/install.sh | bash

# Go
go install github.com/felixgeelhaar/scout/cmd/scout@latest

# As a library
go get github.com/felixgeelhaar/scout

MCP 서버 — 66개의 도구

단일 바이너리, 런타임 의존성 없음. 모든 MCP 클라이언트에서 구성 가능:

claude mcp add scout -- scout mcp serve           # Claude Code
{"mcpServers": {"scout": {"command": "scout", "args": ["mcp", "serve"]}}}

도구 카테고리

카테고리

도구

탐색

navigate, observe, observe_diff, observe_with_budget

상호작용

click, click_label, type, hover, double_click, right_click, select_option, scroll_to, scroll_by, focus, drag_drop, dispatch_event

양식

fill_form, fill_form_semantic, discover_form

추출

extract, extract_all, extract_table, auto_extract, scroll_and_collect, markdown, readable_text, accessibility_tree

캡처

screenshot, annotated_screenshot, pdf

네트워크

enable_network_capture, network_requests

open_tab, switch_tab, close_tab, list_tabs

프레임워크

wait_spa, detect_frameworks, component_state, app_state

재생

start_recording, stop_recording, save_playbook, replay_playbook

스마트 도우미

dismiss_cookies, check_readiness, suggest_selectors, session_history

비전

hybrid_observe, find_by_coordinates

배치

execute_batch

Iframe

switch_to_frame, switch_to_main_frame

추적

start_trace, stop_trace

진단

detect_dialog, detect_auth_wall, console_errors, compare_tabs, upload_file

유틸리티

has_element, wait_for, configure, web_vitals, select_by_prompt

모든 도구는 스마트 자동 승인을 위해 MCP 주석(ReadOnly, OpenWorld, ClosedWorld, Idempotent)을 포함합니다. observe, extract, screenshot과 같은 읽기 전용 도구는 권한 확인 없이 실행됩니다.

런타임 구성

재시작 없이 헤드리스 모드와 일반 브라우저 모드 간 전환 가능:

Agent: configure(headless: false)   → browser window appears
Agent: navigate("https://...")       → watch it work
Agent: configure(headless: true)     → back to headless

브라우저 UI

대화형 브라우저 자동화 인터페이스입니다. 자연어를 입력하면 브라우저가 실시간으로 반응하는 것을 볼 수 있습니다.

# Start the AG-UI server (Go backend)
scout ui serve --provider=ollama --model=mistral    # local, no API key
scout ui serve --provider=claude                     # needs ANTHROPIC_API_KEY
scout ui serve --provider=openai --model=gpt-4o     # needs OPENAI_API_KEY
scout ui serve --provider=groq --base-url=https://api.groq.com/openai --model=llama-3.3-70b-versatile

# Start the Vue frontend
cd ui && npm install && npm run dev                  # http://localhost:3000

UI는 SSE를 통해 AG-UI 프로토콜 이벤트를 스트리밍합니다:

  • 마크다운 렌더링 및 빠른 작업 버튼이 포함된 채팅 패널

  • 스크린샷 스트리밍 및 URL 표시줄이 포함된 실시간 브라우저 뷰포트

  • 도구 호출을 실시간으로 보여주는 활동 타임라인

  • 스트리밍 중 취소할 수 있는 정지 버튼

Go 서버는 에이전트 루프를 처리합니다: LLM이 호출할 scout 도구를 결정하고, 실행하며, 브라우저 상태 변경 사항을 프론트엔드로 스트리밍합니다. --base-url을 통해 모든 OpenAI 호환 엔드포인트를 지원합니다.

에이전트 패키지

AI 에이전트를 위한 고수준 Go API입니다. 구조화된 출력, 자동 대기, 고루틴 안전성을 제공합니다.

session, _ := agent.NewSession(agent.SessionConfig{Headless: true})
defer session.Close()

// Navigate and observe
session.Navigate("https://example.com")
obs, _ := session.Observe()               // links, inputs, buttons, text + action costs

// DOM diff — only what changed (saves 50-80% tokens)
session.Click("#submit")
_, diff, _ := session.ObserveDiff()
// diff.Classification: "modal_appeared"
// diff.Summary: "Modal/dialog appeared: Login required"

// Semantic form filling — no CSS selectors
session.FillFormSemantic(map[string]string{
    "Email": "user-example", "Password": "secret",
})

// Visual grounding — click by number, not selector
result, _ := session.AnnotatedScreenshot()  // numbered labels on elements
session.ClickLabel(7)                        // click element [7]

// Multi-tab coordination
session.OpenTab("pricing", "https://example.com/pricing")
session.SwitchTab("default")

// Framework detection (19 frameworks)
frameworks, _ := session.DetectedFrameworks() // ["react", "nextjs"]
state, _ := session.ComponentState("#app")    // read React/Vue state

// Network capture — read API responses directly
session.EnableNetworkCapture("/api/")
captured := session.CapturedRequests("/api/users")

// Action replay — record once, replay without LLM
session.StartRecordingPlaybook("login-flow")
// ... do stuff ...
pb, _ := session.StopRecordingPlaybook()
agent.SavePlaybook(pb, "login.json")
// Later: session.ReplayPlaybook(pb)  // 100x cheaper

// Persistent profiles
session.SaveProfile("session.json")   // cookies + localStorage
session.LoadProfile("session.json")

// Content distillation (5 levels)
session.Markdown()          // ~2-8KB compact markdown
session.ReadableText()      // ~1-4KB main content only
session.AccessibilityTree() // ~1-4KB semantic tree
session.ObserveWithBudget(500) // fit in ~500 tokens

핵심 라이브러리

미들웨어 구성이 가능한 Gin 스타일의 Engine/Context/Group/HandlerFunc:

engine := browse.Default(browse.WithHeadless(true))
engine.MustLaunch()
defer engine.Close()

engine.Use(middleware.Stealth())
engine.Use(middleware.Retry(middleware.RetryConfig{MaxAttempts: 3}))
engine.Use(middleware.Timeout(30 * time.Second))

admin := engine.Group("admin", middleware.BasicAuth("admin", "secret"))
admin.Task("export", func(c *browse.Context) {
    c.MustNavigate("https://app.example.com/admin")
    table, _ := c.ExtractTable("#users")
    c.Set("data", table)
})

engine.RunGroup("admin")

미들웨어

카테고리

미들웨어

복원력

Retry, Timeout, CircuitBreaker, RateLimit, Bulkhead

인증

BearerAuth, BasicAuth, CookieAuth, HeaderAuth

탐지 방지

Stealth (10가지 패치: webdriver, plugins, WebGL 등)

네트워크

BlockResources, WaitNetworkIdle

유틸리티

ScreenshotOnError, SlowMotion, Viewport

CLI

CLI는 기본적으로 브라우저를 표시합니다 (--headless로 숨김 가능):

scout navigate <url>                  # page info as JSON
scout observe <url>                   # structured observation
scout markdown <url>                  # compact markdown
scout screenshot <url> [--output f]   # save screenshot
scout pdf <url> [--output f]          # save PDF
scout extract <url> <selector>        # extract text
scout eval <url> <expression>         # run JavaScript
scout form discover <url>             # discover form fields
scout frameworks <url>                # detect frameworks
scout watch <url> [--interval=5s]     # live-watch page changes
scout pipe <command> [selector]       # batch process URLs from stdin
scout record <url> [--output f]       # interactive recording → playbook
scout mcp serve                       # start MCP server
scout version                         # print version

아키텍처

scout/
├── browse.go, engine.go, context.go   # Gin-like API
├── page.go, selection.go              # CDP page & element interaction
├── recorder.go                        # Video recording (screencast → MP4/GIF)
├── middleware/                        # stealth, resilience, auth, network
├── agent/                             # AI agent API (50+ methods)
│   ├── session.go                     # Session lifecycle, Navigate, Click, Type
│   ├── observe.go, diff.go            # Observe, ObserveDiff, cost estimation
│   ├── content.go                     # Markdown, ReadableText, AccessibilityTree
│   ├── form.go                        # DiscoverForm, FillFormSemantic, MatchFormField
│   ├── annotate.go                    # AnnotatedScreenshot, ClickLabel
│   ├── network.go                     # EnableNetworkCapture, CapturedRequests
│   ├── spa.go                         # DetectedFrameworks, ComponentState, GetAppState
│   ├── tabs.go                        # OpenTab, SwitchTab, CloseTab, ListTabs
│   ├── playbook.go                    # StartRecording, ReplayPlaybook, SavePlaybook
│   ├── interact.go                    # Hover, DragDrop, SelectOption, ScrollTo
│   ├── profile.go                     # CaptureProfile, ApplyProfile, SaveProfile
│   ├── selector.go                    # Playwright :text() selector translation
│   ├── budget.go                      # ObserveWithBudget, EstimateTokens
│   ├── nlselect.go                    # SelectByPrompt, fuzzy NL element matching
│   ├── batch.go                       # ExecuteBatch, sequential multi-action
│   ├── vision.go                      # HybridObserve, FindByCoordinates
│   ├── trace.go                       # StartTrace, StopTrace, action tracing
│   ├── iframe.go                      # SwitchToFrame, SwitchToMainFrame
│   └── vitals.go                      # WebVitals (LCP/CLS/INP)
├── internal/cdp/                      # WebSocket CDP client (context-aware)
├── internal/launcher/                 # Chrome process management
├── cmd/scout/                         # CLI + MCP server (66 tools)
└── docs/                              # Landing page (GitHub Pages)

라이선스

MIT

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
2hResponse time
3dRelease cycle
43Releases (12mo)
Commit activity
Issues opened vs closed

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

  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that lets AI assistants drive real Chromium browsers — navigate, click, type, read pages, run OCR, and record network traffic. 43 tools, credentials stay local, zero telemetry.
  • A
    license
    B
    quality
    A
    maintenance
    A lightweight 30KB MCP browser automation server that uses raw Chrome DevTools Protocol to enable AI agents to browse the web, take screenshots, interact with elements, and capture live page events like console logs and network requests.
    26
    337
    13
    MIT

View all related MCP servers

Related MCP Connectors

  • Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

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/klarlabs-studio/scout'

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