mcp-web-search
mcp-web-search
MCP-сервер (Model Context Protocol) для поиска в интернете, опубликованный на Vercel как stateless HTTP API. Позволяет ИИ-агентам, таким как Antigravity, искать в вебе, читать страницы, использовать REST API и извлекать ссылки — без проблем с антибот-блокировками.
Доступные инструменты
Инструмент | Описание |
| Поиск в интернете через Tavily API; возвращает заголовок, URL и сниппет для каждого результата |
| Использует Tavily Extract для загрузки страниц в обход антибот-блокировок и возвращает содержимое в Markdown, обычном тексте или HTML |
| Выполняет GET-запрос к любому URL через Axios и возвращает JSON ответа (идеально для публичных REST API) |
| Использует 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% надёжностью.
Для корректной работы:
Создайте бесплатную учётную запись на tavily.com (даёт право на 1000 бесплатных запросов в месяц).
Перейдите в панель своего хостинга (например, 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 install2. Протестируйте локально
pnpm devMCP-эндпоинт будет доступен по адресу http://localhost:3000/api/mcp.
Для визуального просмотра инструментов:
npx @modelcontextprotocol/inspector http://localhost:3000/api/mcp3. Опубликуйте на 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"]
}
}
}Справочник инструментов
web_search
Поиск в интернете с использованием API Tavily.
Параметры:
Имя | Тип | Обязательный | Описание |
|
| ✅ | Поисковые запросы |
|
| ❌ | Количество результатов (по умолчанию: 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 страницы |
|
| ❌ | Формат вывода (по умолчанию: |
Автоматически удаляет скрипты, стили, рекламу, навигацию и нижний колонтитул перед возвратом содержимого.
fetch_json
Выполняет GET-запрос через Axios и возвращает сырой JSON.
Параметры:
Имя | Тип | Обязательный | Описание |
|
| ✅ | URL API |
|
| ❌ | Необязательные HTTP-заголовки |
extract_links
Использует Tavily Extract для чтения реального HTML страницы (включая динамические сайты) и извлекает все ссылки.
Параметры:
Имя | Тип | Обязательный | Описание |
|
| ✅ | URL страницы |
|
| ❌ | Фильтрует ссылки, содержащие эту подстроку (например: |
Пример ответа:
[
{
"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
This server cannot be deployed
Maintenance
Related MCP Connectors
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Search, scrape, and crawl the web for AI agents. Batch scraping and answers with citations.
Live web access for agents: scrape, SERP search, crawl/map, 100+ collectors, datasets, proxies.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.411,741 npm5MIT
- AlicenseAqualityCmaintenanceEnables AI agents to crawl, scrape, search, and automate browsers with anti-bot bypass, providing fast web access via 22 tools.2211 npm3MIT
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseAqualityAmaintenanceEnables 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.11195 PyPI1MIT