Skip to main content
Glama

mcp-web-search

Servidor MCP (Model Context Protocol) para consultas en internet, publicado en Vercel como una API HTTP stateless. Permite que agentes de IA como Antigravity busquen en la web, lean páginas, consuman APIs REST y extraigan enlaces — sin problemas de bloqueos anti-bot.


Herramientas disponibles

Herramienta

Descripción

web_search

Busca en internet mediante Tavily API y devuelve título, URL y snippet de cada resultado

read_webpage

Usa Tavily Extract para descargar páginas evitando bloqueos anti-bot y devuelve el contenido en Markdown, texto plano o HTML

fetch_json

Hace GET a cualquier URL mediante Axios y devuelve el JSON de la respuesta (ideal para APIs REST públicas)

extract_links

Usa Tavily Extract para leer la página y extrae todos los enlaces con soporte para filtrado por dominio


Related MCP server: Spider MCP Server

Stack

  • Next.js 16 (App Router) — framework del servidor

  • mcp-handler — adaptador HTTP para el protocolo MCP

  • @modelcontextprotocol/server — SDK MCP v2

  • Tavily API — mecanismo oficial de búsqueda y extracción de páginas (inmune a bloqueos anti-bot)

  • axios + cheerio + turndown — consumo de APIs REST y análisis de contenido HTML

  • Zod v4 — validación de esquemas de las herramientas

  • Vercel Hobby — alojamiento gratuito (timeout de 60s por request)


Configurando la Tavily API

Dado que Vercel y otros centros de datos son frecuentemente bloqueados por firewalls al intentar raspar el contenido de la web (scraping), este proyecto utiliza Tavily, que es una API centrada en IA que consigue leer páginas y buscar en internet de forma 100 % confiable.

Para que funcione perfectamente:

  1. Crea una cuenta gratuita en tavily.com (incluye 1.000 solicitudes/mes gratuitas).

  2. Ve al panel de tu alojamiento (p. ej.: Vercel) y añade la siguiente variable de entorno:

    • TAVILY_API_KEY: sua_chave_aqui


Despliegue en Vercel

Requisitos previos

  • Node.js 20+

  • pnpm

1. Clona el repositorio

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

2. Prueba localmente

pnpm dev

El endpoint MCP estará disponible en http://localhost:3000/api/mcp.

Para inspeccionar las herramientas visualmente:

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

3. Publica en Vercel

npx vercel

Después del despliegue, recibirás una URL con el formato https://mcp-web-search-xxx.vercel.app. ¡No olvides configurar la TAVILY_API_KEY!


Configurando en Antigravity

Edita el archivo ~/.gemini/config/mcp_config.json (críalo si no existe):

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

Reinicia Antigravity y verifica en ... > MCP Servers — las 4 herramientas deberían aparecer listadas.


Configuración en otros clientes MCP

Claude Desktop / Cursor / Windsurf

Añade al archivo de configuración de tu cliente:

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

Clientes que solo admiten stdio

Usa el paquete mcp-remote como proxy:

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

Referencia de las herramientas

Busca en internet usando la API de Tavily.

Parámetros:

Nombre

Tipo

Obligatorio

Descripción

query

string

✅

Términos de búsqueda

num_results

number

❌

Cantidad de resultados (por defecto: 5)

Ejemplo de respuesta:

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

read_webpage

Lee y extrae el contenido de una URL evitando paywalls y anti-bots usando Tavily Extract.

Parámetros:

Nombre

Tipo

Obligatorio

Descripción

url

string

✅

URL de la página

mode

"markdown" | "text" | "raw_html"

❌

Formato de salida (por defecto: markdown)

Elimina automáticamente scripts, estilos, anuncios, navegación y pie de página antes de devolver el contenido.


fetch_json

Hace una solicitud GET mediante Axios y devuelve el JSON en bruto.

Parámetros:

Nombre

Tipo

Obligatorio

Descripción

url

string

✅

URL de la API

headers

Record<string, string>

❌

Cabeceras HTTP opcionales


Usa Tavily Extract para leer el HTML real de la página (incluidos sitios dinámicos) y extrae todos los enlaces.

Parámetros:

Nombre

Tipo

Obligatorio

Descripción

url

string

✅

URL de la página

filter

string

❌

Filtra enlaces que contengan esa subcadena (p. ej.: "github.com")

Ejemplo de respuesta:

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

Estructura del proyecto

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

Protocolo MCP soportado

Este servidor implementa la especificación MCP 2026-07-28 mediante transporte Streamable HTTP stateless, compatible con clientes modernos. También ofrece un fallback automático para clientes que usan la especificación Streamable HTTP de 2025.


Licencia

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

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
    13,072 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