Passer au contenu principal
Growth Gear

ValueSerp MCP Serveur - Recherche Google Abordable

Stefan-Lucian Deleanu

Allons droit au but. Si vous utilisez Claude pour des choses sérieuses, vous avez atteint le mur de la date limite de connaissances. Les données d'entraînement du modèle s'arrêtent à une certaine date, et vous devez expliquer à vos clients pourquoi votre assistant IA pense qu'il est encore en 2023 ou à une autre époque.

Le serveur MCP de ValueSerp résout ce problème en donnant à Claude un accès direct aux résultats de recherche de Google. Pas de scraping web, pas de cauchemars de parsing HTML—juste des appels API propres qui renvoient des données structurées.

GitHub - Incorporo/valueserp-googlesearch-mcp : Serveur MCP pour accéder à valueserp (API de recherche Google abordable)
Serveur MCP pour accéder à valueserp (API Google Search abordable) - Incorporo/valueserp-googlesearch-mcp

Ce que vous obtenez réellement

Ceci est un serveur de Protocole de Contexte de Modèle (MCP) qui agit comme un pont entre Claude et l'API de recherche de ValueSerp. Il expose quatre points de terminaison de recherche :

  • google_search - Standard web search
  • google_news_search - News-specific results
  • google_images_search - Image search with filtering
  • google_videos_search - Video content search

Chaque point de terminaison renvoie des données JSON que Claude peut analyser et utiliser dans ses réponses. Pas d'intégrations iframe, pas d'exécution JavaScript—juste des données.

L'Implémentation Technique

Le serveur est construit sur TypeScript et utilise le SDK MCP. Voici l'architecture de base :

// Client handles API communication
export class ValueSerpClient {
  private async makeRequest(endpoint: string, params: Record<string, any>): Promise<ValueSerpResponse> {
    const url = this.buildUrl(endpoint, params);
    const response = await fetch(url, {
      method: 'GET',
      headers: {
        'Accept': 'application/json',
        'User-Agent': 'ValueSerp-MCP-Server/1.0.0'
      }
    });
    // Error handling and response parsing
  }
}

La partie intéressante est la validation des paramètres. L'API de recherche de Google a des dizaines de paramètres, et l'envoi de combinaisons invalides renvoie des erreurs cryptiques. Le serveur valide tout avant d'effectuer des requêtes :


// Parameter validation with Zod schemas
const searchParamsSchema = z.object({
  q: z.string().describe("Search query (required)"),
  num: z.number().min(1).max(100).default(10).optional(),
  time_period: z.enum(["last_hour", "last_day", "last_week", "last_month", "last_year", "custom"]).optional(),
  // ... 20+ more parameters
});

Performance et Limitations

Parlons des chiffres qui comptent vraiment :

  • Temps de réponse : 200-000 ms selon la complexité de la requête
  • Limites de taux : Cela dépend de votre plan ValueSerp (typiquement 1000 à 10000 requêtes par mois)
  • Qualité des résultats : Identique à l'API publique de Google - pas de sauce spéciale
  • Ciblage géographique : Prend en charge tous les domaines Google et les paramètres de localisation

Ce qu'il ne fait pas :

  • Exécuter JavaScript sur les pages de résultats
  • Contourner les paywalls ou les murs de connexion
  • Mémoriser les résultats (chaque requête interroge l'API)
  • Gérer l'authentification pour le contenu privé

Cas d'utilisation concrets qui fonctionnent réellement

Oubliez le jargon d'entreprise. Voici à quoi les développeurs utilisent réellement cela :

1. Assistant en Documentation Technique


User: "What breaking changes were introduced in React 19?"
Claude: [Searches for recent React 19 documentation and changelog]
       "Based on the official React blog post from [actual date], React 19 introduces..."

2. Réponse aux incidents de sécurité


User: "Check if CVE-2024-XXXXX affects our stack"
Claude: [Searches vulnerability databases and security advisories]
       "This CVE was published 3 hours ago. It affects Node.js versions..."

3. Automatisation de l'analyse concurrentielle


User: "What features did Competitor X announce this week?"
Claude: [Searches news and company blogs]
       "According to their blog post from Monday, they're launching..."

Mise en place sans accompagnement

En supposant que vous puissiez gérer des commandes npm de base :


# Clone and build
git clone https://github.com/valueserp/mcp-server
cd mcp-server
npm install && npm run build

# Set your API key
export VALUESERP_API_KEY=your_key_here

# Add to Claude config
# Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "valueserp": {
      "command": "node",
      "args": ["/path/to/valueserp-mcp/dist/server.js"]
    }
  }
}

Utilisation Avancée des Paramètres

Le véritable pouvoir vient des combinaisons de paramètres. Voici ce que la plupart des tutoriels ne vous diront pas :


// Time-boxed news search with duplicate filtering
await claude.use_tool('google_news_search', {
  q: 'kubernetes vulnerability',
  time_period: 'last_day',
  sort_by: 'date',
  show_duplicates: false,  // Requires sort_by: 'date'
  num: 50
});

// Location-specific results with auto-configuration
await claude.use_tool('google_search', {
  q: 'restaurant reviews',
  location: 'Tokyo, Japan',
  location_auto: true,  // Auto-sets gl, hl, and google_domain
  order_online: true    // Includes delivery/pickup data
});

// Academic image search
await claude.use_tool('google_images_search', {
  q: 'cell mitosis diagram',
  images_usage: 'non_commercial_reuse_with_modification',
  images_type: 'line_drawing',
  images_size: 'large'
});

Analyse des coûts

Soyons transparents sur les aspects économiques :

  • Coût par recherche : 0,0025 $ ou moins (sur les plans)
  • Point mort : ~20 recherches/jour contre le temps de recherche manuel

La plupart des alternatives pour SERP sont plus coûteuses, ce qui en fait un bon choix pour ceux qui ont un budget limité et qui sont prêts à tolérer plus de latence.

Gestion des erreurs et cas limites

Le serveur gère les modes de défaillance courants avec élégance :


// Built-in retry logic for transient failures
if (!response.ok) {
  const errorText = await response.text();
  throw new Error(`ValueSerp API error: ${response.status} ${response.statusText} - ${errorText}`);
}

// Parameter validation prevents most 400 errors
if (params.show_duplicates && params.sort_by !== 'date') {
  throw new ValidationError('show_duplicates requires sort_by=date');
}

Le Bilan

Cet outil fait une seule chose : il donne à Claude accès aux résultats de recherche actuels. Ce n'est pas révolutionnaire, ce n'est pas une "recherche alimentée par l'IA" - c'est juste un pont bien conçu entre deux services.

Si vous avez besoin que Claude soit informé des événements survenus après la date limite de sa formation, cela fonctionne. Si vous avez besoin qu'il recherche vos documents internes ou accède à du contenu authentifié, cherchez ailleurs.

Le code est sur GitHub sous GPL-3.0. Forkez-le, améliorez-le ou exprimez vos plaintes à son sujet : à vous de choisir.

Ressources