Skip to main content
Glama

mcp-web-search

MCP-сервер (Model Context Protocol) для поиска в интернете, опубликованный на Vercel как stateless HTTP API. Позволяет ИИ-агентам, таким как Antigravity, искать в вебе, читать страницы, использовать REST API и извлекать ссылки — без проблем с антибот-блокировками.


Доступные инструменты

Инструмент

Описание

web_search

Поиск в интернете через Tavily API; возвращает заголовок, URL и сниппет для каждого результата

read_webpage

Использует Tavily Extract для загрузки страниц в обход антибот-блокировок и возвращает содержимое в Markdown, обычном тексте или HTML

fetch_json

Выполняет GET-запрос к любому URL через Axios и возвращает JSON ответа (идеально для публичных REST API)

extract_links

Использует Tavily Extract для чтения страницы и извлекает все ссылки с поддержкой фильтра по домену


Related MCP server: Spider MCP Server

Стек

  • Next.js 16 (App Router) — серверный фреймворк

  • mcp-handler — HTTP-адаптер для протокола MCP

  • @modelcontextprotocol/server — SDK MCP v2

  • Tavily API — официальный механизм поиска и извлечения страниц (устойчив к антибот-блокировкам)

  • axios + cheerio + turndown — потребление REST API и разбор HTML-содержимого

  • Zod v4 — валидация схем инструментов

  • Vercel Hobby — бесплатный хостинг (таймаут 60 секунд на запрос)


Настройка Tavily API

Поскольку Vercel и другие дата-центры часто блокируются файрволами при попытке скрейпинга веб-контента, этот проект использует Tavily — API, ориентированное на ИИ, которое умеет читать страницы и искать в интернете со 100% надёжностью.

Для корректной работы:

  1. Создайте бесплатную учётную запись на tavily.com (даёт право на 1000 бесплатных запросов в месяц).

  2. Перейдите в панель своего хостинга (например, Vercel) и добавьте следующую переменную окружения:

    • TAVILY_API_KEY: sua_chave_aqui


Деплой на Vercel

Предварительные требования

  • Node.js 20+

  • pnpm

1. Клонируйте репозиторий

git clone https://github.com/suportebono/mcp-web-search.git
cd mcp-web-search
pnpm install

2. Протестируйте локально

pnpm dev

MCP-эндпоинт будет доступен по адресу http://localhost:3000/api/mcp.

Для визуального просмотра инструментов:

npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp

3. Опубликуйте на Vercel

npx vercel

После деплоя вы получите URL вида https://mcp-web-search-xxx.vercel.app. Не забудьте настроить TAVILY_API_KEY!


Настройка в Antigravity

Отредактируйте файл ~/.gemini/config/mcp_config.json (создайте его, если не существует):

{
  "mcpServers": {
    "web-search": {
      "serverUrl": "https://seu-projeto.vercel.app/api/mcp"
    }
  }
}

Перезапустите Antigravity и проверьте в ... > MCP Servers — 4 инструмента должны появиться в списке.


Настройка в других MCP-клиентах

Claude Desktop / Cursor / Windsurf

Добавьте в файл конфигурации вашего клиента:

{
  "mcpServers": {
    "web-search": {
      "url": "https://seu-projeto.vercel.app/api/mcp"
    }
  }
}

Клиенты, поддерживающие только stdio

Используйте пакет mcp-remote в качестве прокси:

{
  "mcpServers": {
    "web-search": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://seu-projeto.vercel.app/api/mcp"]
    }
  }
}

Справочник инструментов

Поиск в интернете с использованием API Tavily.

Параметры:

Имя

Тип

Обязательный

Описание

query

string

✅

Поисковые запросы

num_results

number

❌

Количество результатов (по умолчанию: 5)

Пример ответа:

[
  {
    "title": "Next.js 15 — Blog",
    "url": "https://nextjs.org/blog/next-15",
    "snippet": "Next.js 15 introduces...",
    "source": "nextjs.org"
  }
]

read_webpage

Читает и извлекает содержимое URL в обход пейволлов и антиботов с помощью Tavily Extract.

Параметры:

Имя

Тип

Обязательный

Описание

url

string

✅

URL страницы

mode

"markdown" | "text" | "raw_html"

❌

Формат вывода (по умолчанию: markdown)

Автоматически удаляет скрипты, стили, рекламу, навигацию и нижний колонтитул перед возвратом содержимого.


fetch_json

Выполняет GET-запрос через Axios и возвращает сырой JSON.

Параметры:

Имя

Тип

Обязательный

Описание

url

string

✅

URL API

headers

Record<string, string>

❌

Необязательные HTTP-заголовки


Использует Tavily Extract для чтения реального HTML страницы (включая динамические сайты) и извлекает все ссылки.

Параметры:

Имя

Тип

Обязательный

Описание

url

string

✅

URL страницы

filter

string

❌

Фильтрует ссылки, содержащие эту подстроку (например: "github.com")

Пример ответа:

[
  {
    "text": "Documentação",
    "href": "/docs",
    "absolute_url": "https://exemplo.com/docs"
  }
]

Структура проекта

mcp-web-search/
├── app/
│   └── api/
│       └── mcp/
│           └── route.ts        ← Endpoint MCP (GET + POST)
├── lib/
│   ├── mcp-server.ts           ← Registro de todas as ferramentas
│   └── tools/
│       ├── web-search.ts       ← Busca via Tavily API
│       ├── read-webpage.ts     ← Leitura e parsing de páginas (Tavily Extract)
│       ├── fetch-json.ts       ← Fetch de APIs REST genéricas
│       └── extract-links.ts    ← Extração de links via Tavily Extract HTML
├── next.config.ts
└── package.json

Поддерживаемый протокол MCP

Этот сервер реализует спецификацию MCP 2026-07-28 через транспорт Streamable HTTP stateless, совместимый с современными клиентами. Также обеспечивает автоматический fallback для клиентов, использующих спецификацию Streamable HTTP эпохи 2025.


Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.
    4
    11,741 npm
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to perform web searches, extract webpage content, and conduct end-to-end search-and-extract operations using multiple search providers and content extraction methods.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to perform web searches, fetch and extract page content, and crawl sites with caching, rate limiting, and robots.txt compliance, all without needing API keys.
    11
    195 PyPI
    1
    MIT