プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Scout

作者:klarlabs-studioバージョン 1.15.3i★ –iパソコンで動く
レジストリ名io.github.klarlabs-studio/scout

インストール

概要

作者による説明(英語の原文)

Browser automation MCP server with 84 tools. Pure CDP, DOM diffing, vision hybrid.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: ウェブ・ブラウザ

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • DockerDockerのインストール

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "scout": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/klarlabs-studio/scout:1.15.3",
        "mcp",
        "serve"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add scout -- docker run -i --rm ghcr.io/klarlabs-studio/scout:1.15.3 mcp serve

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "scout": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/klarlabs-studio/scout:1.15.3",
        "mcp",
        "serve"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "scout": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/klarlabs-studio/scout:1.15.3",
        "mcp",
        "serve"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント klarlabs-studio で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

ウェブ・ブラウザのほかのサーバーとの比較i

  • このカテゴリのほかの880件のうち0%よりスターが多い
  • このカテゴリのほかの880件のうち24%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの880件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Scoutは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.15.3)がレジストリに届いたのは3 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。

代わりに使えるものは?

同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Browser Use

作者:browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

パソコンでもクラウドでも★ 120,087MIT17 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Scout

Browser automation, one binary. The simpler alternative to Playwright — no Node, no Python, no runtime. Drive a real browser from Go, any shell, any AI agent (built-in MCP server), or a chat UI.

A single statically-linked scout binary gives you a CLI, an 87-tool MCP server (so any MCP-aware agent — Claude Desktop, Cursor, Cline, custom — has a browser), a conversational chat UI, and a Go library with Gin-like middleware composition. Same engine, four access points.

brew install --cask klarlabs-studio/tap/scout-mcp

vs. Playwright

ScoutPlaywright
Installone ~15 MB binarynpm + ~600 MB browser cache
Runtime depnone (static)Node.js always; Python/Java/.NET as wrappers
Drive fromGo, any shell, MCP, chat UITS/JS first-class; others lag
AI-agent nativebuilt-in scout mcp serveseparate playwright-mcp project
Token-aware extractionDOM diff, distillation, observation budgets (50–80% fewer tokens)not provided
Action playbooksrecord & replay deterministic JSONcodegen produces a script you maintain
Container deploydrop into scratch or distrolesscarry Node + browser binaries
CDP accessdirect WebSocket, zero abstractioninternal protocol over CDP

Quick Start

# 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

Install

# Homebrew

brew install --cask klarlabs-studio/tap/scout-mcp

Direct binary

curl -fsSL https://raw.githubusercontent.com/klarlabs-studio/scout/main/install.sh | bash

Go

go install go.klarlabs.de/scout/cmd/scout@latest

As a library

go get go.klarlabs.de/scout

MCP Server — 77 Tools

Run scout mcp serve and any MCP-aware agent has a browser. No second project to install, no Node runtime, no Python interpreter — the binary is the server. Configure in any MCP client:

claude mcp add scout -- scout mcp serve           # Claude Code
{"mcpServers": {"scout": {"command": "scout", "args": ["mcp", "serve"]}}}
Tool Categories
CategoryTools
Navigationnavigate, observe, observe_diff, observe_with_budget
Interactionclick, click_label, click_text, type, hover, double_click, right_click, select_option, scroll_to, scroll_by, focus, drag_drop, dispatch_event
Formsfill_form, fill_form_semantic (checkbox/radio + state echo), discover_form
Extractionextract, extract_all, extract_table, auto_extract, scroll_and_collect, markdown, readable_text, accessibility_tree
Capturescreenshot, annotated_screenshot, pdf
Networkenable_network_capture, network_requests
Tabsopen_tab, switch_tab, close_tab, list_tabs
Frameworkswait_spa, detect_frameworks, component_state, app_state
Playbackstart_recording, stop_recording, save_playbook, replay_playbook
Videostart_screen_recording, stop_screen_recording
Smart Helperscheck_readiness, suggest_selectors, session_history
Visionhybrid_observe, find_by_coordinates
Batchexecute_batch
Iframeswitch_to_frame, switch_to_main_frame
Tracestart_trace, stop_trace
Cookiescookies_list, cookies_clear, cookies_set, dismiss_cookies
Diagnosticsdetect_dialog, detect_auth_wall, console_errors (incl. network 4xx/5xx), failed_requests, compare_tabs, upload_file
Utilityhas_element, wait_for, configure, set_viewport, web_vitals, select_by_prompt

All tools have MCP annotations (ReadOnly, OpenWorld, ClosedWorld, Idempotent) for smart auto-approval. Read-only tools like observe, extract, and screenshot run without permission prompts.

Runtime Configuration

Switch between headless and visible browser without restarting, and opt into local-dev workflows (loopback, private IPs):

Agent: configure(headless: false)                        → browser window appears

Agent: navigate("https://...") → watch it work Agent: configure(headless: true) → back to headless Agent: configure(allow_private_ips: true) → unlock localhost / 192.168.* / 10.* Agent: navigate("http://127.0.0.1:4173/") → drive your local dev server

The MCP server also reads SCOUT_ALLOW_PRIVATE_IPS=1 at startup as a one-shot toggle for trusted environments.

Screen Recording (video)

Record the active page as a video. Pure CDP — works in headless, no Playwright needed. Recording survives navigate, open_tab, and switch_tab calls in between, so a multi-page demo lands as one continuous clip:

Agent: start_screen_recording({ width: 1280, height: 800, fps: 15, format: "webm" })

Agent: navigate("https://example.com") Agent: click("#cta") Agent: navigate("https://example.com/dashboard") # recording continues across pages Agent: stop_screen_recording() → { path: "/tmp/scout-rec-XXX.webm", format: "webm", encoder: "ffmpeg", frame_count: N, duration_ms: N }

If ffmpeg is on PATH, the result is encoded to WebM (libvpx-vp9) or MP4 (libx264). If not, scout returns the raw JPEG frames directory plus an ffmpeg concat list so you can encode offline. The result is always a file path, never base64 — never enters your LLM token budget.

Realistic FPS: ~10–15 on typical pages, capped at 30. Implementation polls Page.captureScreenshot (CDP Page.startScreencast events are silently dropped under --headless=new Chrome).

Browser UI

A conversational browser automation interface. Type natural language, watch the browser respond in real-time.

# 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

The UI streams AG-UI protocol events over SSE:

  • Chat panel with markdown rendering and quick-action pills
  • Live browser viewport with screenshot streaming and URL bar
  • Activity timeline showing tool calls in real-time
  • Stop button to cancel mid-stream

The Go server handles the agentic loop: LLM decides which scout tools to call, executes them, streams browser state deltas back to the frontend. Supports any OpenAI-compatible endpoint via --base-url.

Agent Package (Go)

High-level Go API for callers that want to embed scout in a program. Structured output, auto-wait, goroutine-safe. Most users reach scout through the CLI or MCP server above — this section is for the Go-library path.

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

Core Library (Go)

Gin-like Engine/Context/Group/HandlerFunc with middleware composition. The lowest-level Go API — use it when you want full control of task lifecycle, named groups, and middleware chains:

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")

Middleware
CategoryMiddleware
ResilienceRetry, Timeout, CircuitBreaker, RateLimit, Bulkhead
AuthBearerAuth, BasicAuth, CookieAuth, HeaderAuth
Anti-detectionStealth (10 patches: webdriver, plugins, WebGL, etc.)
NetworkBlockResources, WaitNetworkIdle
UtilitiesScreenshotOnError, SlowMotion, Viewport

CLI

The CLI is a deliberate one-shot tier: each command launches a browser, navigates, runs one read/diagnostic action, prints the result, and exits. Stateful interactive flows (click→type→submit, mul

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く