Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payer en crypto : BTC, USDT, USDC, ETH, SOL, LTC
Langue: Français
Obtenir une clé API

Docs · Model Context Protocol · Python

Serveur MCP de recherche Google pour Claude Desktop, Cursor et autres clients MCP

Donnez à n'importe quel client MCP un outil google_search qui renvoie des résultats Google en direct. Le serveur est un seul fichier Python que vous exécutez vous-même ; il appelle l'API SerpCrypto et renvoie un texte compact qu'un modèle peut lire.

Dernière mise à jour: · 5 min de lecture

Réponse rapide

Comment ajouter la recherche Google à Claude Desktop ou Cursor avec un serveur MCP ?

Enregistrez le serveur Python de 40 lignes ci-dessous, installez mcp[cli] et httpx, puis déclarez-le dans les paramètres MCP de votre client avec votre clé API SerpCrypto dans env. Le client dispose alors d'un outil google_search qui renvoie des résultats Google en direct. Chaque appel d'outil est une recherche à 1 crédit, depuis 0,30 $US/1K requêtes ; les crédits se paient en crypto, sans KYC.

Le serveur MCP en un coup d'œil

LangagePython 3.10+ avec le SDK officiel mcp (FastMCP) et httpx
Transportstdio : le client lance le script et lui parle
Outilgoogle_search(query, gl, hl, num_results)
SortieTexte de l'AI Overview lorsqu'il est affiché, puis titre, lien et snippet par résultat
CléVariable d'environnement SERPCRYPTO_API_KEY, définie dans la configuration du client
Coût1 crédit par appel d'outil réussi ; les erreurs sont gratuites

Que fait le serveur ?

Il expose un outil, google_search, via le Model Context Protocol. Lorsque le modèle l'appelle, le serveur envoie une requête à https://serpcrypto.com/api/v1/search, puis transforme le JSON en texte brut court : l'AI Overview si Google en a affiché un, et les meilleurs résultats avec titre, lien et snippet.

Un texte court, c'est important. Une page de résultats complète en JSON est longue, et chaque caractère renvoyé au modèle consomme du contexte. Le serveur conserve jusqu'à dix résultats et tronque l'overview à 800 caractères ; modifiez ces limites dans le code si votre client a de la place pour plus.

C'est du code à copier-coller, pas un package publié : il n'existe pas de package MCP officiel SerpCrypto à installer. Le fichier vous appartient et vous pouvez y ajouter des outils, par exemple un pour engine=google_news.

serpcrypto_mcp.py
"""serpcrypto_mcp.py: an MCP server that gives AI clients a Google search tool.

Install once:  pip install "mcp[cli]" httpx
Run by your MCP client over stdio; the API key comes from the environment.
"""
import os

import httpx
from mcp.server.fastmcp import FastMCP

API_URL = "https://serpcrypto.com/api/v1/search"
mcp = FastMCP("serpcrypto-search")


@mcp.tool()
async def google_search(query: str, gl: str = "us", hl: str = "en", num_results: int = 5) -> str:
    """Search Google and return the top results (title, link, snippet) and the AI Overview text if any.

    gl is a two-letter country code (us, gb, de...), hl a language code (en, de, pt-BR...).
    Each call uses one SerpCrypto search credit.
    """
    headers = {"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]}
    params = {"q": query, "gl": gl, "hl": hl}
    async with httpx.AsyncClient(timeout=90) as client:
        r = await client.get(API_URL, params=params, headers=headers)
    if r.status_code != 200:
        return f"Search failed with HTTP {r.status_code}: {r.text[:300]}"
    data = r.json()
    lines = []
    overview = data.get("ai_overview") or {}
    if overview.get("text"):
        lines.append("AI Overview: " + overview["text"][:800])
    for item in data.get("organic_results", [])[: max(1, min(num_results, 10))]:
        lines.append(f"{item['position']}. {item['title']}\n{item['link']}\n{item.get('snippet', '')}")
    return "\n\n".join(lines) or "No results."


if __name__ == "__main__":
    mcp.run()  # stdio transport

Plusieurs clients embarquent déjà un outil nommé web_search qui utilise leur propre fournisseur. Un nom distinct évite un conflit et indique au modèle ce qu'il obtient : des résultats Google pour un pays et une langue qu'il choisit. La docstring est la description que lit le modèle ; elle précise donc les paramètres et le coût d'un appel.

Comment l'ajouter à Claude Desktop ?

Ouvrez le fichier de configuration, claude_desktop_config.json : sur macOS il se trouve dans ~/Library/Application Support/Claude/, sur Windows dans %APPDATA%\Claude\. Ajoutez le serveur sous mcpServers, avec le chemin absolu du script et votre clé dans env, puis redémarrez Claude Desktop.

Si python n'est pas dans le path que voit Claude Desktop, utilisez le chemin complet de l'interpréteur, par exemple celui de votre environnement virtuel.

claude_desktop_config.json
{
  "mcpServers": {
    "serpcrypto-search": {
      "command": "python",
      "args": ["/absolute/path/to/serpcrypto_mcp.py"],
      "env": {
        "SERPCRYPTO_API_KEY": "paste-your-key-here"
      }
    }
  }
}

Comment l'ajouter à Claude Code et Cursor ?

Dans Claude Code, déclarez-le depuis un terminal avec claude mcp add ; -e définit la variable d'environnement et tout ce qui suit -- est la commande à exécuter. Dans Cursor, placez le même bloc mcpServers que ci-dessus dans ~/.cursor/mcp.json pour tous les projets, ou dans .cursor/mcp.json au sein d'un projet.

Les autres clients MCP qui lancent des serveurs stdio prennent les mêmes trois éléments : une commande, ses arguments et des variables d'environnement. La page OpenClaw montre les commandes pour OpenClaw.

Claude Code
claude mcp add serpcrypto-search \
  -e SERPCRYPTO_API_KEY=paste-your-key-here \
  -- python /absolute/path/to/serpcrypto_mcp.py

Comment sécuriser la clé API ?

Conservez-la dans le bloc env de la configuration du client ou dans votre profil shell, jamais dans serpcrypto_mcp.py. Le script peut ainsi être partagé ou commité sans la clé. Si une clé fuite, révoquez-la dans le dashboard et créez-en une nouvelle : Des clés API que vous pouvez créer et révoquer à tout moment depuis votre tableau de bord.

Donnez au serveur MCP sa propre clé. L'usage par clé indique alors combien de requêtes l'assistant effectue, séparément de vos scripts.

Combien de crédits un assistant va-t-il utiliser ?

Un par appel d'outil réussi. Une conversation où le modèle fait trois recherches coûte trois crédits. Sur le pack 25 000 recherches à 18,75 $US, cela représente des milliers de questions assistées, et Les crédits de recherche prépayés n'expirent jamais : les requêtes inutilisées restent sur votre compte jusqu'à ce que vous les utilisiez.

Pour limiter l'usage, réduisez num_results (cela ne change pas le prix, mais raccourcit les réponses) et demandez au modèle dans vos instructions de ne rechercher que lorsqu'il a besoin de faits récents.

Questions sur MCP

Le serveur fonctionne-t-il avec des clients MCP distants ?

Cette version utilise stdio, le client doit donc l'exécuter sur la même machine. FastMCP peut aussi servir en HTTP ; si vous l'exposez sur un réseau, placez une authentification devant, car toute personne qui l'atteint dépense vos crédits.

L'outil peut-il plutôt chercher sur Bing ou Google News ?

Oui. Ajoutez un argument engine ou un second outil qui envoie engine=bing ou engine=google_news dans params. Chaque moteur coûte le même 1 crédit par requête.

Pourquoi le client indique-t-il que l'outil a échoué ?

Lancez le script à la main avec le même Python pour voir les erreurs. Les causes habituelles sont un package mcp ou httpx manquant, un chemin erroné dans la config, ou un SERPCRYPTO_API_KEY vide, ce qui fait répondre 401 à l'API.

Faut-il une carte bancaire ou un KYC pour la clé API ?

Non. SerpCrypto vend des crédits prépayés payés en BTC, USDT, USDC, ETH, SOL, LTC, sans pièce d'identité, sans selfie et sans documents. Connexion par numéro de compte ; l'email est facultatif.

À partir de 0,30 $US/1K requêtes · sans KYC

Obtenir une clé API