Skip to main content
Glama
am24check

mcp-web-search-server

by am24check

mcp-web-search-server

Автономный MCP-сервер, предоставляющий инструменты web_search и web_fetch через HTTP. Любой MCP-клиент (Claude Desktop, Cursor и т.д.) может подключиться к нему для выполнения веб-поиска и получения веб-страниц.

Работает из коробки без API-ключей: web_search/web_search_exa используют публичную MCP-точку Exa, которая принимает неаутентифицированные (с ограничением скорости) запросы. Установите EXA_API_KEY для более высоких лимитов или PARALLEL_API_KEY, чтобы также включить web_search_parallel.

Инструменты

Инструмент

Описание

web_fetch

Получить и разобрать URL, вернуть markdown или обычный текст

web_search

Поиск в интернете с помощью Exa или Parallel AI (автоматический выбор для каждой сессии)

web_search_exa

Поиск с использованием Exa AI

web_search_parallel

Поиск с использованием Parallel AI

Как это работает:

┌──────────────┐     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 │
                                   └──────────────────────────┘               └──────────────┘

Ключевые проектные решения:

  1. Простой async/await — без фреймворков, только нативный fetch (fetch от Bun)

  2. Потоковый HTTP-транспорт — использует WebStandardStreamableHTTPServerTransport из @modelcontextprotocol/sdk, с одной сессией (транспорт + экземпляр сервера) на каждого подключающегося клиента

  3. Выбор провайдера — хэш ID сессии выбирает exa/parallel для общего инструмента web_search, с переопределением через переменные окружения

  4. HTML→Markdown — использует turndown для извлечения markdown, небольшой конечный автомат для извлечения обычного текста

Related MCP server: free-web-mcp

Быстрый старт

# Install dependencies
bun install

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

Конфигурация

Переменная

По умолчанию

Описание

PORT

9877

HTTP-порт для прослушивания

HOSTNAME

0.0.0.0

Хост для привязки

EXA_API_KEY

-

Необязательный API-ключ Exa для более высоких лимитов

PARALLEL_API_KEY

-

API-ключ Parallel (включает web_search_parallel)

ENABLE_EXA

1 (включено по умолчанию)

Установите 0, чтобы отключить web_search_exa

ENABLE_PARALLEL

определяется из PARALLEL_API_KEY

Принудительно включить Parallel без ключа

WEBSEARCH_PROVIDER

на основе хэша

Принудительно exa или parallel для web_search

Подключение из MCP-клиента

Укажите вашему MCP-клиенту адрес: http://localhost:9877/mcp

Это стандартный MCP-сервер, использующий потоковый HTTP-транспорт.

Примеры использования

Получить веб-страницу в формате markdown

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

Поиск в интернете

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

Разработка

# Type check
bunx tsc --noEmit

# Run in foreground
bun run src/index.ts

Архитектура

  • web_search проксирует запросы к MCP-точкам Exa и Parallel

  • web_fetch использует нативный fetch с преобразованием HTML→Markdown (turndown) и запасной вариант через Cloudflare

  • MCP-сервер использует @modelcontextprotocol/sdk с WebStandardStreamableHTTPServerTransport

  • Слушает стандартный HTTP (stdio не требуется)

Реализации инструментов web_search/web_fetch изначально адаптированы из встроенного инструмента веб-поиска OpenCode, а затем выделены в этот автономный сервер.

Лицензия

MIT

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers