ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter un outil de recherche web à votre propre serveur MCP
Tutoriel

Comment ajouter un outil de recherche web à votre propre serveur MCP

Construisez un outil de serveur MCP personnalisé qui enveloppe l'API Scavio. Donnez à tout assistant IA compatible MCP un accès à la recherche web en direct en moins de 30 lignes de TypeScript.

Obtenez une clé API gratuiteDocumentation API

Le Model Context Protocol (MCP) permet à des assistants IA comme Claude d'invoquer des outils externes via une interface standardisée. Bien que Scavio fournisse un serveur MCP officiel, vous souhaiterez peut-être ajouter la recherche web comme l'un des nombreux outils de votre propre serveur MCP personnalisé. Ce tutoriel montre comment construire un outil de serveur MCP qui enveloppe l'API Scavio, l'enregistrer dans la liste des outils de votre serveur et gérer les requêtes de recherche entrantes depuis n'importe quel client MCP.

Prérequis

  • Node.js 18 ou supérieur
  • npm install @modelcontextprotocol/sdk
  • Une clé API Scavio
  • Connaissances de base en TypeScript

Parcours

Étape 1: Initialiser le serveur MCP

Créez un nouveau serveur MCP en utilisant le SDK officiel. Ce serveur exposera vos outils personnalisés à tout client 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",
});

Étape 2: Enregistrer l'outil de recherche web

Définissez un outil web_search qui accepte une requête et un paramètre de plateforme optionnel. Le gestionnaire appelle l'API Scavio et renvoie des résultats formatés.

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 }] };
  }
);

Étape 3: Démarrer le serveur

Connectez le serveur au transport stdio afin que les clients MCP puissent communiquer avec lui.

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

Étape 4: Configurer dans Claude Desktop

Indiquez à Claude Desktop le binaire de votre serveur MCP personnalisé pour qu'il puisse utiliser l'outil web_search.

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

Exemple 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)

Exemple 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);

Sortie attendue

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

Tutoriels associés

  • Comment ajouter la recherche en temps réel à Claude via MCP
  • Comment ajouter une recherche en temps réel à LangChain avec langchain-scavio

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Node.js 18 ou supérieur. npm install @modelcontextprotocol/sdk. Une clé API Scavio. Connaissances de base en TypeScript. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Use Case

Serveur de recherche personnalisé MCP

Read more
Best Of

Meilleurs serveurs de recherche MCP : Édition communautaire, mai 2026

Read more
Best Of

Meilleurs outils de recherche MCP pour l'intégration IDE en 2026

Read more
Use Case

Recherche MCP pour IDE

Read more
Comparison

Scavio MCP vs Built-in MCP web_search

Read more
Solution

Ajouter la recherche web à n'importe quel client MCP

Read more

Commencer

Construisez un outil de serveur MCP personnalisé qui enveloppe l'API Scavio. Donnez à tout assistant IA compatible MCP un accès à la recherche web en direct en moins de 30 lignes de TypeScript.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité