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

> Recherche Google pour Claude Desktop, Claude Code, Cursor : serveur MCP Python sur l'API SERP SerpCrypto, sans KYC, paiement crypto.

- URL: https://serpcrypto.com/fr/docs/mcp/
- Dernière mise à jour: 2026-10-22
- Éditeur: SerpCrypto (https://serpcrypto.com)

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.

**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

| Attribut | Valeur |
| --- | --- |
| Langage | Python 3.10+ avec le SDK officiel `mcp` (FastMCP) et `httpx` |
| Transport | stdio : le client lance le script et lui parle |
| Outil | `google_search(query, gl, hl, num_results)` |
| Sortie | Texte 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ût | 1 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*

```python
"""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
```

## Pourquoi l'outil s'appelle-t-il google_search et non web_search ?

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*

```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](https://serpcrypto.com/fr/docs/openclaw/) montre les commandes pour OpenClaw.

*Claude Code*

```bash
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.

---

SerpCrypto: SerpCrypto est une API SERP pour les développeurs et les agents IA qui renvoie les résultats de recherche Google et Bing en JSON, payable en crypto sans envoi de pièce d'identité. Les crédits de recherche prépayés à partir de 0,30 $US/1K requêtes n'expirent jamais. Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payer en crypto.
