Aperçu
Les agents IA qui ont besoin de données de Google, TikTok et Maps nécessitent généralement trois intégrations API distinctes avec trois flux d'authentification et trois schémas. Ce flux de travail connecte l'agent au serveur MCP de Scavio une fois et orchestre les appels sur tous les services via le protocole d'outils MCP. L'agent découvre dynamiquement les outils disponibles.
Déclencheur
Demande de tâche d'agent nécessitant des données multi-plateformes.
Planification
À la demande
Étapes du workflow
Se connecter au serveur MCP
Établir une connexion MCP unique vers mcp.scavio.dev/mcp avec la clé API.
Découvrir les outils disponibles
Appeler tools/list pour découvrir quels outils de recherche, TikTok et cartes sont disponibles sur le serveur.
Planifier les appels d'outils
En fonction de la tâche de l'agent, déterminer quelle combinaison d'outils appeler et dans quel ordre.
Exécuter la chaîne d'outils
Appeler chaque outil via tools/call à travers la connexion MCP. Recueillir les résultats.
Agréger les résultats
Combiner les résultats de plusieurs appels d'outils en une réponse unifiée pour la couche décisionnelle de l'agent.
Implémentation Python
import requests, os, json
API_KEY = os.environ["SCAVIO_API_KEY"]
MCP_URL = "https://mcp.scavio.dev/mcp"
MH = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
def mcp_call(method: str, params: dict = None) -> dict:
payload = {"jsonrpc": "2.0", "id": 1, "method": method}
if params:
payload["params"] = params
resp = requests.post(MCP_URL, headers=MH, json=payload, timeout=15)
return resp.json().get("result", {})
def orchestrate_market_research(brand: str) -> dict:
"""Multi-service research through single MCP connection."""
# Search for brand on Google
google_data = mcp_call("tools/call", {
"name": "search",
"arguments": {"query": f"{brand} reviews 2026", "country_code": "us"}
})
# Search for brand on YouTube
youtube_data = mcp_call("tools/call", {
"name": "search",
"arguments": {"query": brand, "platform": "youtube", "country_code": "us"}
})
# Check physical presence on Maps
maps_data = mcp_call("tools/call", {
"name": "search",
"arguments": {"query": f"{brand} near me", "platform": "google-maps", "country_code": "us"}
})
return {
"brand": brand,
"google": google_data,
"youtube": youtube_data,
"maps": maps_data,
}
result = orchestrate_market_research("lululemon")
print(f"Market research for {result['brand']}: {len(str(result))} chars of data")Implémentation JavaScript
const MCP_URL = 'https://mcp.scavio.dev/mcp';
const MH = {'Authorization': 'Bearer '+process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function mcpCall(method, params) {
const payload = {jsonrpc:'2.0', id:1, method};
if (params) payload.params = params;
const r = await fetch(MCP_URL, {method:'POST', headers:MH, body:JSON.stringify(payload)});
return (await r.json()).result || {};
}
async function orchestrateMarketResearch(brand) {
const google = await mcpCall('tools/call', {name:'search', arguments:{query:brand+' reviews 2026', country_code:'us'}});
const youtube = await mcpCall('tools/call', {name:'search', arguments:{query:brand, platform:'youtube', country_code:'us'}});
const maps = await mcpCall('tools/call', {name:'search', arguments:{query:brand+' near me', platform:'google-maps', country_code:'us'}});
return {brand, google, youtube, maps};
}
const result = await orchestrateMarketResearch('lululemon');
console.log('Market research for '+result.brand+': '+JSON.stringify(result).length+' chars of data');Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA
YouTube
Recherche de vidéos avec transcriptions et métadonnées
Google Maps
Recherche d'entreprises locales avec notes et coordonnées
TikTok
Découverte de vidéos tendance, créateurs et produits