JedSearch MCP Server

JedSearch MCP Server

Enables web search and page content extraction with JavaScript rendering via Playwright, with HTTP fallback and retry logic.

Category
Visit Server

README

JedSearch MCP Server

Model Context Protocol (MCP) server for web search with embedded Playwright browser.

How It Works

JedSearch combines a web search API client with an embedded Playwright browser to deliver accurate, real-time web content:

  1. Search – Queries the search API for top results by query.
  2. Render – Launches a headless Chromium browser via Playwright WebSocket (ws://127.0.0.1:3000) to render JavaScript-heavy pages.
  3. Extract – Strips UI noise (navbars, footers, ads, cookie banners) using CSS selectors, then parses clean HTML with unstructured.partition_html.
  4. Fallback – If Playwright is unavailable, falls back to raw HTTP fetch with httpx.
  5. Retry – Each page fetch retries up to 3 times with exponential backoff (0.5s × 1.5^n).

The container starts Playwright as a background sidecar process via entrypoint.sh, then runs the MCP server in the foreground on port 3001 (SSE or streamable-http transport).

Available Tools

Tool Description
web_search Search the web and fetch full page content for top results. Ideal for finding up-to-date API documentation, changelogs, release notes, or any information requiring live web lookup. Returns title, URL, strategy, and content for each result.
fetch_web_page Fetch full page content from a single URL. Renders JavaScript via Playwright, falls back to HTTP. Returns title, URL, strategy, and content.

Configuration

Variable Description Default
YANDEX_SEARCH_API_KEY Search API key Required
YANDEX_FOLDER_ID Cloud folder ID Required
YANDEX_SEARCH_REGION Search region (ru, en, tr) ru
JEDSEARCH_API_KEY API key for authentication (optional)
MCP_TRANSPORT Transport mode (stdio, sse, streamable-http) stdio
MCP_PORT Port for SSE mode 3001
PLAYWRIGHT_TIMEOUT Playwright timeout (ms) 30000
HTTP_TIMEOUT HTTP fallback timeout (s) 15
CONTENT_MAX_LENGTH Max content length (chars) 32000
NOISE_THRESHOLD Noise threshold (chars) 50
FETCH_MAX_RETRIES Max retry attempts 3
FETCH_RETRY_DELAY Initial retry delay (s) 0.5
FETCH_RETRY_BACKOFF Backoff multiplier 1.5

Docker Compose Example

services:
  jedsearch:
    build: .
    container_name: jedsearch
    restart: unless-stopped
    ports:
      - "3001:3001"
    environment:
      YANDEX_SEARCH_API_KEY: "${YANDEX_SEARCH_API_KEY}"
      YANDEX_FOLDER_ID: "${YANDEX_FOLDER_ID}"
      YANDEX_SEARCH_REGION: "${YANDEX_SEARCH_REGION:-ru}"
      JEDSEARCH_API_KEY: "${JEDSEARCH_API_KEY}"
      MCP_TRANSPORT: streamable-http
      MCP_PORT: "3001"
    healthcheck:
      test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:3001/health')"]
      interval: 10s
      timeout: 5s
      retries: 3

With a matching .env:

YANDEX_SEARCH_API_KEY=your-yandex-search-api-key
YANDEX_FOLDER_ID=your-yandex-folder-id
YANDEX_SEARCH_REGION=ru
JEDSEARCH_API_KEY=your-jedsearch-api-key

Start with:

cd jed-web-search-mcp-server
docker compose up --build --wait

Usage

Local (stdio)

YANDEX_SEARCH_API_KEY=... YANDEX_FOLDER_ID=... python3 server.py

VS Code (mcp.json)

Replace the URL with your own server address:

{
  "servers": {
    "JedSearch": {
      "url": "http://your-server-address:3001/mcp",
      "type": "http",
      "headers": {
        "X-API-Key": "your-api-key-here",
        "X-Search-Region": "ru"
      }
    }
  }
}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured