ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo agregar una herramienta de búsqueda web a su propio servidor MCP
Tutorial

Cómo agregar una herramienta de búsqueda web a su propio servidor MCP

Cree una herramienta de servidor MCP personalizada que incluya la API de Scavio. Ofrezca a cualquier asistente de IA compatible con MCP acceso a búsquedas web en vivo en menos de 30 líneas de TypeScript.

Obtener clave API gratisDocumentacion API

El Model Context Protocol (MCP) permite a los asistentes de IA como Claude invocar herramientas externas a través de una interfaz estandarizada. Si bien Scavio proporciona un servidor MCP oficial, es posible que desee agregar la búsqueda web como una herramienta entre muchas en su propio servidor MCP personalizado. Este tutorial muestra cómo crear una herramienta de servidor MCP que incluya la API de Scavio, registrarla en la lista de herramientas de su servidor y manejar solicitudes de búsqueda entrantes desde cualquier cliente MCP.

Requisitos previos

  • Node.js 18 o superior
  • npm instala @modelcontextprotocol/sdk
  • Una clave API de Scavio
  • Conocimientos básicos de TypeScript

Guia paso a paso

Paso 1: Inicializar el servidor MCP

Cree un nuevo servidor MCP utilizando el SDK oficial. Este servidor expondrá sus herramientas personalizadas a cualquier cliente MCP.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "my-tools",
  version: "1.0.0",
});

Paso 2: Registre la herramienta de búsqueda web

Defina una herramienta web_search que acepte una consulta y un parámetro de plataforma opcional. El controlador llama a la API de Scavio y devuelve resultados formateados.

const SCAVIO_KEY = process.env.SCAVIO_API_KEY!;

server.tool(
  "web_search",
  "Search the web for current information. Returns top results with titles, snippets, and URLs.",
  {
    query: z.string().describe("The search query"),
    platform: z.enum(["google", "youtube", "amazon", "walmart", "reddit"]).default("google").describe("Search platform"),
  },
  async ({ query, platform }) => {
    const res = await fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST",
      headers: { "x-api-key": SCAVIO_KEY, "Content-Type": "application/json" },
      body: JSON.stringify({ platform, query, country_code: "us" }),
    });
    const data = await res.json();
    const results = data.organic_results || data.products || data.videos || [];
    const text = results.slice(0, 5).map((r: any, i: number) =>
      `[${i + 1}] ${r.title || r.name}\n${r.snippet || r.description || ""}\n${r.link || r.url || ""}`
    ).join("\n\n");
    return { content: [{ type: "text", text }] };
  }
);

Paso 3: Iniciar el servidor

Conecte el servidor al transporte stdio para que los clientes MCP puedan comunicarse con él.

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}
main();

Paso 4: Configurar en Claude Desktop

Apunte Claude Desktop a su servidor binario MCP personalizado para que pueda usar la herramienta web_search.

JSON
{
  "mcpServers": {
    "my-tools": {
      "command": "npx",
      "args": ["tsx", "server.ts"],
      "env": {
        "SCAVIO_API_KEY": "your_scavio_api_key"
      }
    }
  }
}

Ejemplo en Python

Python
# Python MCP server with Scavio web search tool
import os
import json
import sys
import requests

SCAVIO_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")

def handle_search(query: str, platform: str = "google") -> str:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": SCAVIO_KEY},
        json={"platform": platform, "query": query, "country_code": "us"}
    )
    r.raise_for_status()
    data = r.json()
    results = data.get("organic_results", data.get("products", []))[:5]
    return "\n\n".join(
        f"[{i+1}] {r.get('title', '')}\n{r.get('snippet', '')}\n{r.get('link', '')}"
        for i, r in enumerate(results)
    )

# This is a simplified example. Use the mcp Python SDK for production.
if __name__ == "__main__":
    result = handle_search("latest AI news 2026")
    print(result)

Ejemplo en JavaScript

JavaScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-tools", version: "1.0.0" });
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

server.tool(
  "web_search",
  "Search the web for current information",
  { query: z.string(), platform: z.enum(["google", "youtube", "amazon", "walmart", "reddit"]).default("google") },
  async ({ query, platform }) => {
    const res = await fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST",
      headers: { "x-api-key": SCAVIO_KEY, "Content-Type": "application/json" },
      body: JSON.stringify({ platform, query, country_code: "us" }),
    });
    const data = await res.json();
    const results = (data.organic_results || data.products || []).slice(0, 5);
    const text = results.map((r, i) => `[${i+1}] ${r.title}\n${r.snippet || ""}\n${r.link || ""}`).join("\n\n");
    return { content: [{ type: "text", text }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

Salida esperada

JSON
MCP server started on stdio

Tool: web_search
Input: {"query": "latest AI news", "platform": "google"}

[1] OpenAI Launches New Agent Platform
OpenAI announced a comprehensive agent building platform...
https://example.com/openai-agents

[2] Anthropic Claude 4 Release Details
Anthropic released Claude 4 with expanded context...
https://example.com/claude-4

Tutoriales relacionados

  • Cómo agregar búsqueda en tiempo real a Claude a través de MCP
  • Cómo agregar búsqueda en tiempo real a LangChain con langchain-scavio

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Node.js 18 o superior. npm instala @modelcontextprotocol/sdk. Una clave API de Scavio. Conocimientos básicos de TypeScript. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Use Case

Servidor de búsqueda personalizado MCP

Read more
Use Case

Búsqueda IDE MCP

Read more
Best Of

Los mejores servidores MCP para qwen-code (2026)

Read more
Glossary

MCP como búsqueda web predeterminada

Read more
Comparison

Scavio MCP vs Perplexity Advanced MCP

Read more
Best Of

Las mejores herramientas de búsqueda de MCP para Claude Code en 2026

Read more

Empieza a construir

Cree una herramienta de servidor MCP personalizada que incluya la API de Scavio. Ofrezca a cualquier asistente de IA compatible con MCP acceso a búsquedas web en vivo en menos de 30 líneas de TypeScript.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad