Skip to main content
Glama
feedmepos

Browser MCP Server

by feedmepos

Browser MCP Server

Ein MCP-Server (Model Context Protocol), der KI-Agenten über die Zyte API einen echten, gegen Anti-Bot-Maßnahmen gewappneten Browser bereitstellt – Seiten navigieren, klicken/tippen/scrollen, Screenshots aufnehmen und strukturierte Daten extrahieren, mit automatischer Proxy-/IP-Rotation und Umgehung von Sperren.

Entwickelt mit NestJS und dem Server-Paket @nestjs-mcp/server, das direkt per HTTP mit Zytes /extract-Endpunkt spricht. Der Transport ist ausschließlich Streamable HTTP; er wird zustandslos an einem einzigen /mcp-Endpunkt ausgeliefert.

Setup

  1. Kopieren Sie .env.example in .env und füllen Sie die Werte aus:

Variable

Erforderlich

Beschreibung

ZYTE_API_KEY

ja

Ihr Zyte-API-Schlüssel

ZYTE_API_BASE_URL

nein

Überschreibt die Basis-URL der Zyte-API (Standard: https://api.zyte.com/v1)

PORT

nein

HTTP-Port (Standard: 3000)

BROWSER_TIMEOUT_MS

nein

Timeout pro Anfrage an Zyte (Standard: 30000)

BROWSER_MAX_RETRIES

nein

Wiederholungen für Rate-Limit-Antworten (429/503) und vorübergehende Sperre (520) mit exponentiellem Backoff (Standard: 2)

  1. Installieren Sie die Abhängigkeiten und starten Sie den Server:

pnpm install
pnpm run start:dev

Der MCP-Endpunkt wird unter http://localhost:3000/mcp bereitgestellt.

Related MCP server: Stealth Browser MCP

Tools

Tool

Rückgabe

browser_browse

Öffnet eine URL, führt optional Aktionen aus und liefert eine sessionId, gerendertes HTML und optional einen Screenshot

browser_screenshot

Screenshot einer Seite, optional nach Ausführung von Aktionen

browser_extract

Von KI extrahierte strukturierte JSON-Daten, die einem von Ihnen angegebenen JSON-Schema entsprechen

browser_search

Strukturierte Websuchergebnisse (Titel/URL/Snippet) über die Zyte-Such-API – hilfreich zum Auffinden von Seiten und anschließenden Öffnen mit browser_browse

browser_browse, browser_screenshot und browser_extract akzeptieren eine optionale sessionId (von einem vorherigen Aufruf zurückgegeben), um über mehrere Tool-Aufrufe hinweg dieselbe IP-Adresse und denselben Cookie-Speicher zu verwenden – nützlich, um eingeloggt zu bleiben oder bei einer auszuführenden mehrstufigen Aufgabe eine konstante IP zu halten. Beachten Sie: Laut Zytes Sitzungs-Dokumentation wird dabei kein tatsächlicher Browser-/Tab-Zustand (Formulareingaben, Scrollposition, offene Modal-Dialoge usw.) zwischen den Aufrufen beibehalten; jeder Aufruf lädt eine frische Seite mit derselben Netzwerkidentität und denselben Cookies.

actions ist eine Sequenz von Schritten, die ausgeführt werden, bevor das Ergebnis erfasst wird: click, type, select, hover, keyPress, scrollBottom, scrollTo, waitForSelector, waitForTimeout, waitForNavigation, goto, evaluate. Aktionen, die Elemente anvisieren, nehmen ein Feld selector: { type: "css" | "xpath", value: string } entgegen.

browser_search sendet an den separaten /v1/search-Endpunkt von Zyte (nicht /v1/extract) und nimmt die Parameter domain (eine unterstützte Suchmaschine, z. B. "google.com"), query sowie optional maxResults (10-100) / geolocation / locale entgegen.

Rate-Limit-Antworten (429/503) und temporäre Sperren (520) von Zyte werden automatisch mit exponentiellem Backoff, bis zu BROWSER_MAX_RETRIES Mal, wiederholt – gemäß Zytes Dokumentation zur Fehlerbehandlung. Alle anderen Fehlerantworten (ungültige Anfrage, dauerhafte Sperre, deaktiviertes Konto) werden sofort gemeldet, wobei Zytes Fehler-type in der Nachricht enthalten ist, sofern verfügbar.

Verbinden eines Clients

Beispielkonfiguration für einen Remote-MCP-Client (z. B. Claude Desktop / Claude Code), der auf eine laufende Instanz verweist:

{
  "mcpServers": {
    "browser": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

Testen

pnpm test        # unit tests (service + resolver, global fetch mocked)
pnpm run lint    # eslint
pnpm run build   # type-check + compile

Unit-Tests mocken das globale fetch, das für Zyte-Aufrufe verwendet wird. Um einen End-to-End-Test gegen die Live-API durchzuführen, starten Sie den Server mit einem echten ZYTE_API_KEY und verwenden Sie pnpm dlx @modelcontextprotocol/inspector http://localhost:3000/mcp oder curl, um inititiontoles/call auszuführen.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.
    61
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to perform undetectable browser automation that bypasses Cloudflare, antibots, and social media blocks. Provides 105 tools for element extraction, network debugging, and real-world web scraping with a 98.7% success rate on protected sites.
    1,589
    MIT

View all related MCP servers

Related MCP Connectors

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

  • Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.

  • Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…

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/feedmepos/browser-mcp'

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