> ## Documentation Index
> Fetch the complete documentation index at: https://web2md.org/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Bridge

> Lassen Sie AI-Agenten Reddit und beliebige Websites über Ihre Chrome-Erweiterung im Batch konvertieren

## Übersicht

Agent Bridge ermöglicht es AI-Agenten (Claude Code, Cursor, Cowork usw.), die Web2MD Chrome-Erweiterung remote zu steuern, um URLs im Batch zu konvertieren — insbesondere Reddit-Seiten, JS-gerenderte und login-geschützte Seiten, die den serverseitigen API-Zugriff blockieren.

Anstatt die Web2MD API aufzurufen (die von Reddit blockiert wird), sendet der AI-Agent Befehle über [Native Messaging](https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging) an Ihre lokale Chrome-Erweiterung. Die Erweiterung öffnet jede Seite in einem Hintergrund-Tab unter Verwendung **Ihrer echten Browser-Sitzung** — mit Ihren Cookies und Ihrem Login-Status —, extrahiert den Inhalt, konvertiert ihn in Markdown und liefert das Ergebnis zurück.

<Note>
  Agent Bridge erfordert einen **PRO-Plan** und den auf Ihrem Rechner installierten **Native Messaging Host**. Die Erweiterung muss in Chrome geöffnet sein.
</Note>

## Architektur

```
AI Agent ←MCP/stdio→ MCP Server ←TCP:12315→ Native Host ←NM→ Chrome Extension → Any Website
```

| Komponente           | Rolle                                                 |
| -------------------- | ----------------------------------------------------- |
| **AI Agent**         | Claude Code, Cursor, Cowork — ruft MCP-Tools auf      |
| **MCP Server**       | Übersetzt MCP-Tool-Aufrufe in TCP-Nachrichten         |
| **Native Host**      | Vermittelt zwischen TCP und Chrome Native Messaging   |
| **Chrome Extension** | Öffnet Tabs, extrahiert HTML, konvertiert in Markdown |

Die gesamte Kommunikation erfolgt **lokal** — nichts verlässt Ihren Rechner. Der Native Host lauscht ausschließlich auf `localhost:12315`.

## Einrichtung

### Schritt 1: MCP Server bauen

```bash theme={null}
cd packages/mcp-server
pnpm build
```

### Schritt 2: Native Messaging Host installieren

```bash theme={null}
cd packages/mcp-server
./install.sh <your-extension-id>
```

<Tip>
  Finden Sie Ihre Extension-ID unter `chrome://extensions` mit aktiviertem Entwicklermodus. Suchen Sie nach Web2MD und kopieren Sie den ID-String (z. B. `ijmgpkkfgpijifldbjafjiapehppcbcn`).
</Tip>

<Warning>
  Nach der Installation müssen Sie **Chrome vollständig beenden (Cmd+Q auf dem Mac) und neu öffnen**. Chrome liest Native-Messaging-Manifeste nur beim Start ein — ein bloßes Neuladen der Erweiterung genügt nicht.
</Warning>

Das Installationsskript:

* Kopiert Host-Dateien nach `~/.web2md/` (vermeidet macOS TCC-Einschränkungen bei `~/Desktop`)
* Löst den absoluten Pfad zu `node` auf (Chrome startet mit minimalem PATH)
* Schreibt das NM-Manifest in Chromes `NativeMessagingHosts`-Verzeichnis

### Schritt 3: MCP konfigurieren

<Tabs>
  <Tab title="Claude Code">
    Fügen Sie zu `~/.claude/settings.json` hinzu:

    ```json theme={null}
    {
      "mcpServers": {
        "web2md-agent": {
          "command": "node",
          "args": ["/path/to/packages/mcp-server/dist/index.js"],
          "env": {
            "WEB2MD_API_KEY": "w2m_your_key_here"
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Cursor">
    Fügen Sie zu `~/.cursor/mcp.json` hinzu:

    ```json theme={null}
    {
      "mcpServers": {
        "web2md-agent": {
          "command": "node",
          "args": ["/path/to/packages/mcp-server/dist/index.js"],
          "env": {
            "WEB2MD_API_KEY": "w2m_your_key_here"
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Claude Desktop">
    Fügen Sie zu Ihrer Claude Desktop-Konfiguration hinzu:

    ```json theme={null}
    {
      "mcpServers": {
        "web2md-agent": {
          "command": "node",
          "args": ["/path/to/packages/mcp-server/dist/index.js"],
          "env": {
            "WEB2MD_API_KEY": "w2m_your_key_here"
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

### Schritt 4: Überprüfen

Öffnen Sie in Chrome `chrome://extensions` → klicken Sie auf den "Service Worker"-Link von Web2MD → prüfen Sie die Konsole:

```
[Web2MD] Service worker started
[Web2MD] Connected to native host
[Web2MD] Native host TCP relay ready on port 12315
```

Wenn Sie diese drei Zeilen sehen, funktioniert Agent Bridge.

## Verfügbare Tools

### agent\_convert

Konvertiert eine einzelne URL mithilfe der Chrome-Erweiterung.

| Parameter | Typ    | Beschreibung              |
| --------- | ------ | ------------------------- |
| `url`     | string | Die zu konvertierende URL |

**Rückgabe:** Markdown-Inhalt mit Titel, Quell-URL, Wortanzahl und Lesezeit.

**Am besten geeignet für:** Reddit-Threads, login-geschützte Seiten, JS-gerenderte Websites.

### agent\_batch\_convert

Konvertiert bis zu 50 URLs im Batch. URLs werden nacheinander verarbeitet — die Erweiterung öffnet jede Seite in einem Hintergrund-Tab, extrahiert den Inhalt, schließt den Tab und geht dann zur nächsten über.

| Parameter | Typ       | Beschreibung                                |
| --------- | --------- | ------------------------------------------- |
| `urls`    | string\[] | Array von zu konvertierenden URLs (max. 50) |

**Rückgabe:** Pro-URL-Ergebnisse, die während des Abschlusses gestreamt werden, plus eine Zusammenfassung.

**Am besten geeignet für:** Recherche-Workflows — Batch-Konvertierung von Reddit-Threads, HN-Diskussionen oder Konkurrenzseiten für AI-Analysen.

<Info>
  Alle erfolgreichen Konvertierungen werden automatisch in Ihrem [Dashboard-Verlauf](https://web2md.org/dashboard/history) gespeichert, mit AI-generierten Zusammenfassungen und Tags.
</Info>

## Anwendungsbeispiele

<AccordionGroup>
  <Accordion title="Einen Reddit-Thread konvertieren">
    **Sie:** Convert this Reddit thread to Markdown: [https://www.reddit.com/r/LangChain/comments/1siwh6q/](https://www.reddit.com/r/LangChain/comments/1siwh6q/)...

    **Agent:** *(ruft `agent_convert` auf)* Hier ist der konvertierte Thread mit 7 Kommentaren zur RAG-Präzision bei juristischen Dokumenten...
  </Accordion>

  <Accordion title="Batch-Konvertierung für Recherche">
    **Sie:** Batch convert these 5 Reddit URLs and summarize the key takeaways:

    * [https://reddit.com/r/MachineLearning/comments/](https://reddit.com/r/MachineLearning/comments/)...
    * [https://reddit.com/r/LocalLLaMA/comments/](https://reddit.com/r/LocalLLaMA/comments/)...
    * [https://reddit.com/r/LangChain/comments/](https://reddit.com/r/LangChain/comments/)...
    * [https://reddit.com/r/artificial/comments/](https://reddit.com/r/artificial/comments/)...
    * [https://reddit.com/r/ChatGPT/comments/](https://reddit.com/r/ChatGPT/comments/)...

    **Agent:** *(ruft `agent_batch_convert` auf)* 5/5 URLs erfolgreich konvertiert. Hier sind die wichtigsten Erkenntnisse...
  </Accordion>

  <Accordion title="Login-geschützte Seiten konvertieren">
    **Sie:** Convert my company's internal wiki page at [https://wiki.internal.com/architecture](https://wiki.internal.com/architecture)

    **Agent:** *(ruft `agent_convert` auf)* Da Sie in Chrome bei dieser Website angemeldet sind, konnte ich den vollständigen Inhalt extrahieren...
  </Accordion>
</AccordionGroup>

## Unterstützte Websites

Agent Bridge verwendet dieselben 16 seitenspezifischen Extraktoren wie die Erweiterung:

| Website             | Methode                   | Tab erforderlich? |
| ------------------- | ------------------------- | :---------------: |
| Reddit              | JSON API                  |        Nein       |
| Hacker News         | Algolia API               |        Nein       |
| YouTube             | Transcript API            |        Nein       |
| arXiv               | HTML-Scraping             |        Nein       |
| Twitter/X           | DOM-Extraktion            |         Ja        |
| GitHub Issues/PRs   | REST API                  |        Nein       |
| Medium              | DOM-Extraktion            |         Ja        |
| Substack            | DOM-Extraktion            |         Ja        |
| Wikipedia           | DOM-Extraktion            |         Ja        |
| Stack Overflow      | SE API                    |        Nein       |
| Jede andere Website | Vollständiges Seiten-HTML |         Ja        |

Websites mit "Nein" bei der Tab-Anforderung werden über API-Aufrufe konvertiert — schneller und zuverlässiger. Andere verwenden Hintergrund-Tabs.

## Fehlerbehebung

<AccordionGroup>
  <Accordion title="'Native host not installed' oder 'not found'">
    Chrome hat das NM-Manifest nicht geladen. **Beenden Sie Chrome vollständig (Cmd+Q) und öffnen Sie es neu.** Ein bloßes Neuladen der Erweiterung genügt nicht.
  </Accordion>

  <Accordion title="'Native host has exited' sofort">
    Chrome kann das Host-Skript nicht ausführen. Häufige Ursachen:

    * `node` nicht gefunden — führen Sie `./install.sh` erneut aus, das den absoluten Node-Pfad verwendet
    * Der Host befindet sich in einem TCC-geschützten Verzeichnis (`~/Desktop`, `~/Documents`) — führen Sie die Installation erneut aus, um nach `~/.web2md/` zu verschieben
  </Accordion>

  <Accordion title="'Agent connection error' vom MCP">
    Der Native Host TCP-Server läuft nicht. Stellen Sie sicher, dass:

    1. Chrome geöffnet ist
    2. Die Web2MD-Erweiterung geladen ist
    3. Die Service-Worker-Konsole "TCP relay ready on port 12315" anzeigt
  </Accordion>

  <Accordion title="'Failed to extract content from the page'">
    Die Erweiterung ist nicht angemeldet. Öffnen Sie das Web2MD-Popup in Chrome und melden Sie sich bei Ihrem PRO-Konto an.
  </Accordion>

  <Accordion title="'Tab load timeout'">
    Die Zielseite braucht zu lange zum Laden. Das ist bei langsamen Websites normal. Die Erweiterung wartet bis zu 15 Sekunden pro Tab. Reddit verwendet den JSON-API-Extraktor und benötigt keinen Tab, daher bedeuten Timeouts bei Reddit meist, dass die Post-URL ungültig ist (404).
  </Accordion>

  <Accordion title="Konvertierungen erscheinen nicht im Dashboard-Verlauf">
    Das Speichern im Verlauf erfordert, dass die Erweiterung mit einem PRO-Konto angemeldet ist. Das Speichern erfolgt nach dem Prinzip "fire-and-forget" — falls der API-Aufruf stillschweigend fehlschlägt, erscheinen die Konvertierungen nicht. Überprüfen Sie, ob Ihr Auth-Token gültig ist.
  </Accordion>
</AccordionGroup>

## Unterschiede zum MCP Server

| Merkmal                   | MCP Server (`convert_url`)    | Agent Bridge (`agent_convert`)   |
| ------------------------- | ----------------------------- | -------------------------------- |
| Wo es läuft               | Serverseitiger API-Aufruf     | Ihr lokaler Chrome-Browser       |
| Reddit-Unterstützung      | ❌ Von Reddit blockiert        | ✅ Nutzt echte Browser-Sitzung    |
| Login-geschützte Seiten   | ❌ Kein Zugriff                | ✅ Nutzt Ihre Cookies             |
| JS-gerenderte Seiten      | ❌ Kein JavaScript             | ✅ Vollständiges Chrome-Rendering |
| Geschwindigkeit           | Schneller (kein Tab-Overhead) | Langsamer (öffnet echte Tabs)    |
| Chrome muss geöffnet sein | Nein                          | Ja                               |

**Faustregel:** Verwenden Sie `convert_url` für öffentliche Seiten. Verwenden Sie `agent_convert` / `agent_batch_convert` für Reddit, authentifizierte Seiten und JS-lastige Websites.
