Scout
단일 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:3000Related 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/scoutMCP 서버 — 66개의 도구
단일 바이너리, 런타임 의존성 없음. 모든 MCP 클라이언트에서 구성 가능:
claude mcp add scout -- scout mcp serve # Claude Code{"mcpServers": {"scout": {"command": "scout", "args": ["mcp", "serve"]}}}도구 카테고리
카테고리 | 도구 |
탐색 |
|
상호작용 |
|
양식 |
|
추출 |
|
캡처 |
|
네트워크 |
|
탭 |
|
프레임워크 |
|
재생 |
|
스마트 도우미 |
|
비전 |
|
배치 |
|
Iframe |
|
추적 |
|
진단 |
|
유틸리티 |
|
모든 도구는 스마트 자동 승인을 위해 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:3000UI는 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")미들웨어
카테고리 | 미들웨어 |
복원력 |
|
인증 |
|
탐지 방지 |
|
네트워크 |
|
유틸리티 |
|
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
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
- AlicenseAqualityDmaintenanceSelf-hosted MCP server for AI browser automation. Connects to your own Chromium instance via CDP, providing tools for browser control, navigation, interaction, and content extraction.191MIT
- FlicenseBqualityBmaintenanceUltra-fast browser automation server over Chrome DevTools Protocol (CDP), exposed as MCP, enabling AI agents to control a real Chrome browser with low latency and minimal token usage.21
- FlicenseNot gradedqualityBmaintenanceAn 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.
- AlicenseBqualityAmaintenanceA 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.2633713MIT
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.
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/klarlabs-studio/scout'
If you have feedback or need assistance with the MCP directory API, please join our Discord server