ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un servidor de búsqueda MCP personalizado
Tutorial

Cómo crear un servidor de búsqueda MCP personalizado

Cree un servidor MCP personalizado respaldado por la API de Scavio con herramientas de búsqueda y extracción. Implementación de Node.js compatible con cualquier cliente MCP.

Obtener clave API gratisDocumentacion API

El protocolo de contexto modelo permite a los agentes de IA llamar a herramientas externas a través de una interfaz estandarizada. La creación de un servidor MCP personalizado respaldado por la API de Scavio le brinda control total sobre las definiciones de herramientas, el formato de respuesta y la limitación de velocidad mientras mantiene la compatibilidad con cualquier cliente MCP (Cursor, Claude Desktop, agentes personalizados). Este tutorial crea un servidor MCP Node.js con herramientas de búsqueda y extracción.

Requisitos previos

  • Nodo.js 18+
  • npm o pnpm
  • Una clave API de Scavio de scavio.dev
  • Familiaridad básica con el protocolo MCP

Guia paso a paso

Paso 1: Configurar el proyecto del servidor MCP

Inicialice el proyecto con MCP SDK y dependencias HTTP.

Bash
# Create project
mkdir scavio-mcp-server && cd scavio-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

# Project structure:
# scavio-mcp-server/
#   index.js
#   package.json

# package.json - add type module:
# { "type": "module", "main": "index.js" }

Paso 2: Implementar el servidor MCP con herramienta de búsqueda

Cree el servidor MCP con una herramienta de búsqueda que llame a Scavio API.

JavaScript
// index.js
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const API_KEY = process.env.SCAVIO_API_KEY;
const SH = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };

const server = new McpServer({ name: 'scavio-search', version: '1.0.0' });

server.tool('search',
  { query: { type: 'string', description: 'Search query' },
    platform: { type: 'string', description: 'Platform: google, reddit, youtube, amazon, walmart', default: 'google' },
    country: { type: 'string', description: 'Country code', default: 'us' } },
  async ({ query, platform, country }) => {
    const body = { query, country_code: country || 'us' };
    if (platform && platform !== 'google') body.platform = platform;
    const r = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: SH, body: JSON.stringify(body)
    });
    const data = await r.json();
    const results = (data.organic_results || []).slice(0, 5)
      .map(r => `${r.position}. ${r.title}\n   ${r.link}\n   ${(r.snippet || '').slice(0, 120)}`).join('\n\n');
    return { content: [{ type: 'text', text: results || 'No results found.' }] };
  }
);

console.error('Scavio MCP server starting...');

Paso 3: Agregar la herramienta de extracción

Agregue una herramienta de extracción de contenido URL al servidor MCP.

JavaScript
// Add after the search tool definition:

server.tool('extract',
  { url: { type: 'string', description: 'URL to extract content from' } },
  async ({ url }) => {
    const r = await fetch('https://api.scavio.dev/api/v1/extract', {
      method: 'POST', headers: SH, body: JSON.stringify({ url })
    });
    const data = await r.json();
    const content = data.content || data.text || JSON.stringify(data);
    return { content: [{ type: 'text', text: content.slice(0, 2000) }] };
  }
);

// List available tools for debugging:
server.tool('list_platforms',
  {},
  async () => {
    const platforms = ['google', 'youtube', 'amazon', 'walmart', 'reddit'];
    const text = platforms.map(p => `- ${p}: Search ${p} results via Scavio API`).join('\n');
    return { content: [{ type: 'text', text: `Available search platforms:\n${text}\n\nCost: $0.005 per search` }] };
  }
);

Paso 4: Inicie el servidor y configure los clientes

Inicie el servidor MCP y conéctelo a Cursor o Claude Desktop.

Bash
// Add at the end of index.js:
const transport = new StdioServerTransport();
await server.connect(transport);

// Run the server:
// SCAVIO_API_KEY=your_key node index.js

// Configure in Cursor (~/.cursor/mcp.json):
// {
//   "mcpServers": {
//     "scavio-custom": {
//       "command": "node",
//       "args": ["/path/to/scavio-mcp-server/index.js"],
//       "env": { "SCAVIO_API_KEY": "your_key" }
//     }
//   }
// }

// Or in Claude Desktop (claude_desktop_config.json):
// {
//   "mcpServers": {
//     "scavio-custom": {
//       "command": "node",
//       "args": ["/path/to/scavio-mcp-server/index.js"],
//       "env": { "SCAVIO_API_KEY": "your_key" }
//     }
//   }
// }

Ejemplo en Python

Python
# Python MCP server alternative:
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def search(query, platform=None):
    body = {'query': query, 'country_code': 'us'}
    if platform: body['platform'] = platform
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json=body).json()
    for r in data.get('organic_results', [])[:3]:
        print(f'{r["position"]}. {r["title"][:50]}')

search('mcp server tutorial')

Ejemplo en JavaScript

JavaScript
// Test the MCP server tools directly:
const API_KEY = process.env.SCAVIO_API_KEY;
const SH = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };

async function testSearch(query, platform) {
  const body = { query, country_code: 'us' };
  if (platform) body.platform = platform;
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH, body: JSON.stringify(body)
  }).then(r => r.json());
  (data.organic_results || []).slice(0, 3).forEach(r =>
    console.log(`${r.position}. ${r.title.slice(0, 50)}`)
  );
}
await testSearch('mcp server tutorial');

Salida esperada

JSON
Scavio MCP server starting...

# In Cursor after configuration:
Cursor Settings > MCP:
  scavio-custom: Connected (3 tools)

# Tools available:
  - search: Multi-platform web search
  - extract: URL content extraction
  - list_platforms: Show available platforms

# Test query in Cursor Composer:
User: Search Reddit for MCP server best practices
Agent: [Calling scavio-custom.search with platform='reddit']

1. Building MCP Servers - Best Practices for 2026
   https://reddit.com/r/...
   Here are the key patterns I've found...

Cost per search: $0.005

Tutoriales relacionados

  • Cómo agregar búsqueda en vivo al cursor a través de MCP
  • Cómo agregar búsqueda web a un agente Hermes a través de MCP
  • Cómo crear una capa de búsqueda para agentes como servicio

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.

Nodo.js 18+. npm o pnpm. Una clave API de Scavio de scavio.dev. Familiaridad básica con el protocolo MCP. 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
Comparison

MCP Search Integration vs Direct API Integration

Read more
Best Of

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Use Case

Búsqueda IDE MCP

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Comparison

Scavio MCP vs Perplexity Advanced MCP

Read more

Empieza a construir

Cree un servidor MCP personalizado respaldado por la API de Scavio con herramientas de búsqueda y extracción. Implementación de Node.js compatible con cualquier cliente MCP.

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