Skip to main content
Glama
am24check

mcp-web-search-server

by am24check

mcp-web-search-server

Eigenständiger MCP-Server, der web_search- und web_fetch-Tools über HTTP bereitstellt. Jeder MCP-Client (Claude Desktop, Cursor usw.) kann sich verbinden, um Websuchen durchzuführen und Webseiten abzurufen.

Funktioniert ohne API-Schlüssel: web_search/web_search_exa nutzen den öffentlichen Exa-MCP-Endpunkt, der unauthentifizierte (ratenbegrenzte) Anfragen akzeptiert. Setzen Sie EXA_API_KEY für höhere Limits oder PARALLEL_API_KEY, um zusätzlich web_search_parallel zu aktivieren.

Tools

Tool

Beschreibung

web_fetch

Ruft eine URL ab und parst sie, gibt Markdown oder Klartext zurück

web_search

Durchsucht das Web über Exa oder Parallel AI (automatisch pro Sitzung ausgewählt)

web_search_exa

Sucht speziell über Exa AI

web_search_parallel

Sucht speziell über Parallel AI

So funktioniert es:

┌──────────────┐     MCP HTTP      ┌──────────────────────────┐     HTTP      ┌──────────────┐
│  MCP Client   │ ◄───────────────► │  web-search-server        │ ◄──────────► │  Exa AI      │
│  (Claude,     │     Streamable    │  :9877/mcp               │               │  mcp.exa.ai  │
│   Cursor,     │                   │                          │               └──────────────┘
│   etc.)       │                   │  Tools:                  │
└──────────────┘                   │  • web_search (auto)     │ ── HTTP ──► ┌──────────────┐
                                   │  • web_search_exa        │               │  Parallel    │
                                   │  • web_search_parallel   │               │  search.     │
                                   │  • web_fetch             │               │  parallel.ai │
                                   └──────────────────────────┘               └──────────────┘

Wichtige Designentscheidungen:

  1. Einfaches async/await – kein Framework, nur natives fetch (Buns fetch)

  2. Streambarer HTTP-Transport – verwendet WebStandardStreamableHTTPServerTransport aus @modelcontextprotocol/sdk, mit einer Sitzung (Transport + Serverinstanz) pro verbundenem Client

  3. Anbieterauswahl – Hash der Sitzungs-ID wählt Exa/Parallel für das generische web_search-Tool, mit Überschreibungen über Umgebungsvariablen

  4. HTML→Markdown – verwendet turndown für die Markdown-Extraktion, eine kleine Zustandsmaschine für die Klartext-Extraktion

Related MCP server: free-web-mcp

Schnellstart

# Install dependencies
bun install

# Run the server (default port 9877)
bun run src/index.ts

Konfiguration

Umgebungsvariablen:

Variable

Standard

Beschreibung

PORT

9877

HTTP-Port, auf dem gelauscht wird

HOSTNAME

0.0.0.0

Host, an den gebunden wird

EXA_API_KEY

-

Optionaler Exa-API-Schlüssel für höhere Limits

PARALLEL_API_KEY

-

Parallel-API-Schlüssel (aktiviert web_search_parallel)

ENABLE_EXA

1 (standardmäßig aktiviert)

Auf 0 setzen, um web_search_exa zu deaktivieren

ENABLE_PARALLEL

abgeleitet aus PARALLEL_API_KEY

Parallel ohne Schlüssel erzwingen

WEBSEARCH_PROVIDER

hashbasiert

Erzwingt exa oder parallel für web_search

Verbindung mit einem MCP-Client

Richten Sie Ihren MCP-Client auf: http://localhost:9877/mcp

Dies ist ein standardmäßiger MCP-Server, der den streambaren HTTP-Transport verwendet.

Verwendungsbeispiele

Webseite als Markdown abrufen

{
  "name": "web_fetch",
  "arguments": {
    "url": "https://example.com",
    "format": "markdown"
  }
}

Das Web durchsuchen

{
  "name": "web_search",
  "arguments": {
    "query": "latest JavaScript features 2026",
    "numResults": 5
  }
}

Entwicklung

# Type check
bunx tsc --noEmit

# Run in foreground
bun run src/index.ts

Architektur

  • web_search stellt Proxy-Anfragen an Exa- und Parallel-MCP-Endpunkte

  • web_fetch verwendet natives fetch mit HTML→Markdown-Konvertierung (turndown) und Cloudflare-Fallback

  • Der MCP-Server verwendet @modelcontextprotocol/sdk mit WebStandardStreamableHTTPServerTransport

  • Lauscht auf standardmäßigem HTTP (kein stdio erforderlich)

Die web_search/web_fetch-Toolimplementierungen wurden ursprünglich aus dem integrierten Websuchtool von OpenCode übernommen und dann in diesen eigenständigen Server extrahiert.

Lizenz

MIT

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers