ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter le contexte CRM à un agent de recherche MCP
Tutoriel

Comment ajouter le contexte CRM à un agent de recherche MCP

Enrichissez les résultats de recherche de l'agent MCP avec les données CRM. Extrayez l'historique des affaires, les notes de contact et le contexte du compte pour personnaliser les réponses de l'agent.

Obtenez une clé API gratuiteDocumentation API

Ajoutez le contexte CRM à un agent de recherche MCP en interrogeant votre CRM pour obtenir des données de compte avant ou après les appels de recherche, puis fusionnez le contexte CRM avec les résultats de recherche pour produire des réponses plus pertinentes et tenant compte du compte. Les agents MCP dotés d'outils de recherche renvoient des résultats génériques qui manquent de contexte spécifique au client. En enrichissant les résultats de recherche avec des données CRM telles que l'étape de l'affaire, les interactions passées et la taille du compte, l'agent peut adapter ses recommandations et prioriser les informations qui comptent pour le compte spécifique en discussion.

Prérequis

  • Python 3.8+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Données CRM accessibles via API ou fichier local

Parcours

Étape 1: Charger les données de compte CRM

Extraire le contexte du compte depuis votre CRM pour enrichir les résultats de recherche.

Python
import os, requests, json

API_KEY = os.environ['SCAVIO_API_KEY']

# Simulated CRM data (replace with your CRM API call)
def load_crm_account(account_name: str) -> dict:
    # In production: requests.get(f'{CRM_API}/accounts?name={account_name}')
    crm_data = {
        'Acme Corp': {
            'deal_stage': 'negotiation',
            'deal_value': 50000,
            'industry': 'manufacturing',
            'size': '500-1000 employees',
            'last_contact': '2026-04-15',
            'notes': 'Interested in automation tools. Key pain point: manual data entry.',
        },
        'Beta Inc': {
            'deal_stage': 'discovery',
            'deal_value': 25000,
            'industry': 'saas',
            'size': '50-200 employees',
            'last_contact': '2026-05-01',
            'notes': 'Evaluating search APIs for their product. Comparing with SerpAPI.',
        },
    }
    return crm_data.get(account_name, {})

account = load_crm_account('Acme Corp')
print(f"Stage: {account.get('deal_stage')}, Industry: {account.get('industry')}")

Étape 2: Rechercher avec le contexte du compte

Utilisez le contexte CRM pour affiner les requêtes de recherche et obtenir des résultats plus pertinents.

Python
def contextual_search(query: str, account: dict) -> list:
    """Search with CRM context to get industry-relevant results."""
    industry = account.get('industry', '')
    refined_query = f'{query} {industry}' if industry else query
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': refined_query}, timeout=15)
    results = resp.json().get('organic_results', [])
    return [{
        'title': r.get('title', ''),
        'url': r.get('link', ''),
        'snippet': r.get('snippet', ''),
    } for r in results[:5]]

account = load_crm_account('Acme Corp')
results = contextual_search('automation tools', account)
for r in results:
    print(f"  {r['title'][:50]}")

Étape 3: Fusionner les données CRM et de recherche

Combinez les données de compte CRM avec les résultats de recherche dans un bloc de contexte unifié.

Python
def merge_context(account_name: str, query: str) -> dict:
    account = load_crm_account(account_name)
    results = contextual_search(query, account)
    return {
        'account': {
            'name': account_name,
            'deal_stage': account.get('deal_stage', 'unknown'),
            'industry': account.get('industry', ''),
            'notes': account.get('notes', ''),
        },
        'search_results': results,
        'context_type': 'enriched' if account else 'search_only',
    }

merged = merge_context('Acme Corp', 'automation tools')
print(f"Context type: {merged['context_type']}")
print(f"Deal stage: {merged['account']['deal_stage']}")
print(f"Search results: {len(merged['search_results'])}")

Étape 4: Formater pour l'agent MCP

Structurez le contexte combiné pour l'injecter dans la réponse de l'outil de l'agent MCP.

Python
def format_mcp_response(merged: dict) -> str:
    parts = []
    acct = merged.get('account', {})
    if acct.get('deal_stage') != 'unknown':
        parts.append('ACCOUNT CONTEXT:')
        parts.append(f"  Company: {acct.get('name', '')}")
        parts.append(f"  Deal Stage: {acct.get('deal_stage', '')}")
        parts.append(f"  Industry: {acct.get('industry', '')}")
        if acct.get('notes'):
            parts.append(f"  Notes: {acct['notes']}")
        parts.append('')
    parts.append('SEARCH RESULTS:')
    for i, r in enumerate(merged.get('search_results', []), 1):
        parts.append(f'{i}. {r["title"]}')
        if r.get('snippet'):
            parts.append(f'   {r["snippet"][:150]}')
    return '\n'.join(parts)

response = format_mcp_response(merged)
print(response[:500])

Étape 5: Tester avec un appel d'outil MCP

Simulez un appel d'outil MCP qui combine la consultation CRM avec la recherche.

Python
def mcp_search_tool(params: dict) -> dict:
    """MCP tool handler for CRM-enriched search."""
    query = params.get('query', '')
    account_name = params.get('account', '')
    if not query:
        return {'error': 'query is required'}
    merged = merge_context(account_name, query)
    formatted = format_mcp_response(merged)
    return {
        'content': [{'type': 'text', 'text': formatted}],
        'isError': False,
    }

# Test the MCP tool
result = mcp_search_tool({'query': 'automation tools', 'account': 'Acme Corp'})
print(result['content'][0]['text'][:400])

# Test without account
result2 = mcp_search_tool({'query': 'search api comparison', 'account': ''})
print(f'\nWithout account: {len(result2["content"][0]["text"])} chars')

Exemple Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def crm_search(query, industry=''):
    refined = f'{query} {industry}'.strip()
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': refined}).json()
    return [{'title': r['title'], 'snippet': r.get('snippet', '')[:80]}
        for r in data.get('organic_results', [])[:3]]

print(crm_search('automation tools', 'manufacturing'))

Exemple JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function crmSearch(query, industry = '') {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${query} ${industry}`.trim()})
  });
  return ((await r.json()).organic_results || []).slice(0, 3)
    .map(r => ({title: r.title, snippet: (r.snippet || '').slice(0, 80)}));
}
crmSearch('automation tools', 'manufacturing').then(console.log);

Sortie attendue

JSON
An MCP search agent enriched with CRM account context that delivers industry-specific, deal-stage-aware search results for more relevant agent responses.

Tutoriels associés

  • Comment ajouter la recherche à un workflow d'IA contractuelle
  • Comment améliorer la précision de recherche des agents IA avec la recherche

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.

Python 3.8+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Données CRM accessibles via API ou fichier local. 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

Recherche de contexte CRM via l'agent MCP

Read more
Use Case

Passerelle de recherche MCP pour systèmes multi-agents

Read more
Best Of

Meilleurs outils CRM MCP pour les agents IA en 2026

Read more
Best Of

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

Read more
Comparison

MCP Search Integration vs Direct API Integration

Read more
Solution

Ajoutez une recherche unifiée aux systèmes multi-agents avec Scavio

Read more

Commencer

Enrichissez les résultats de recherche de l'agent MCP avec les données CRM. Extrayez l'historique des affaires, les notes de contact et le contexte du compte pour personnaliser les réponses de l'agent.

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é