Skip to main content
Glama
stranded7
by stranded7

Agent Web Combo

An online toolkit for AI Agents: search discovery + content extraction + Kitesurf/Playwright rendering + agent-reach platform reading.

  • Search: Tavily / Exa / AnySearch

  • Rendering: Cloudflare Kitesurf + Playwright (CDP)

  • Platform content: agent-reach (optional)

  • Access: CLI and MCP Server

Features

  • Multi-search source switching: tavily / exa / anysearch

  • Page content extraction from search results

  • Kitesurf renders pages, extracts main text, takes screenshots

  • Full pipeline: search → extract → render → screenshot

  • MCP Server: directly callable from Claude Code / Cursor / OpenCode / DSH Desktop, etc.

Related MCP server: myscrape

Architecture

搜索发现:Tavily / Exa / AnySearch
        ↓
内容提取:AnySearch extract / Tavily Extract / Exa Contents
        ↓
需要渲染/截图/JS:Kitesurf + Playwright (connectOverCDP)
        ↓
平台类内容/登录态:agent-reach (可选)

Project Structure

agent-web-combo/
├── combo/
│   ├── __main__.py       # CLI 入口
│   ├── cli.py            # 命令行
│   ├── config.py         # 环境变量配置
│   ├── search.py         # Tavily / Exa / AnySearch
│   ├── kitesurf.py       # Kitesurf + Playwright
│   ├── agent_reach.py    # agent-reach CLI
│   └── pipeline.py       # 组合流水线
├── combo_mcp.py          # MCP Server 入口
├── requirements.txt
├── pyproject.toml
└── .env.example

Installation

pip install -r requirements.txt
playwright install chromium  # 仅本地调试/备选浏览器时需要;连 Kitesurf 不需要

Configuration

cp .env.example .env

Fill in as needed:

# Cloudflare / Kitesurf(需要 Browser Run 权限)
CF_ACCOUNT_ID=你的账号ID
CF_API_TOKEN=你的API Token

# 搜索源(至少一个;AnySearch 可不填 Key)
TAVILY_API_KEY=tvly-xxx
EXA_API_KEY=xxx
ANYSEARCH_API_KEY=as_sk_xxx

.env is ignored by .gitignore; do not commit it.

CLI Usage

# 搜索
python -m combo search "Cloudflare Kitesurf" --provider anysearch --max-results 5

# 渲染单个页面 + 截图
python -m combo render "https://example.com" --screenshot output.png

# 完整流水线
python -m combo research "Kitesurf vs Tavily" \
  --provider auto \
  --max-results 5 \
  --extract \
  --render \
  --render-limit 3 \
  --screenshot-dir shots

# 检查 agent-reach
python -m combo agent-reach

MCP Usage

Start the MCP Server:

python combo_mcp.py

Exposed tools:

Tool

Purpose

combo_search

Search

combo_render

Kitesurf render/screenshot

combo_research

Search + extract + render

combo_agent_reach_doctor

Check agent-reach status

For client-specific configuration, see README.mcp.md.

Security Notes

  • All API keys are stored only in the local .env

  • .gitignore ignores .env, screenshots, and cache

  • Do not put plaintext keys in MCP configuration

  • Before public release, confirm that no .env or screenshot files have been committed

Notes

  • AnySearch uses the MCP tools/call HTTP interface and can be used anonymously

  • Kitesurf connects via Cloudflare Browser Run's CDP endpoint

  • Kitesurf is currently in Beta, suitable for common Agent tasks such as screenshots, HTML extraction, and DOM manipulation

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A minimal MCP server for agent-friendly web extraction and search. Offers two tools: fetching real pages with Playwright and Crawl4AI, and searching across 7 engines with automatic fallback.
    33
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A self-contained web-research MCP server that lets local LLM agents search, fetch, and synthesize web content using tools like web_search, web_fetch, and web_research.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that wraps Playwright to give AI agents eyes on the web, enabling browser search, navigation, extraction, and interaction with intelligent LLM-based DOM extraction and skill caching.
    4 npm
    MIT