Aller au contenu principal

Outils externes et SDK supportés

Trois façons de connecter Grok au MCP

xAI propose trois interfaces pour utiliser le MCP distant avec Grok. Chacune correspond à un cas d’usage et à un format d’API différent. Le choix dépend de votre stack technique existant et du type d’application que vous développez.

Le SDK xAI natif

Le SDK xAI est la méthode recommandée par xAI pour intégrer le MCP. Il fournit un helper mcp() qui simplifie la configuration.

from xai_sdk import Client
from xai_sdk.tools import mcp

client = Client(api_key=os.getenv("XAI_API_KEY"))

chat = client.chat.create(
    model="grok-4.20-reasoning",
    tools=[
        mcp(server_url="https://mcp.deepwiki.com/mcp")
    ],
    include=["verbose_streaming"],
)

Le helper mcp() accepte tous les paramètres de configuration MCP (URL, label, description, outils autorisés, authentification) et les formate correctement pour l’API. C’est la syntaxe la plus concise et la moins sujette aux erreurs.

Quand utiliser le SDK xAI

  • Nouveaux projets sans contrainte de compatibilité
  • Applications qui exploitent des fonctionnalités spécifiques à xAI (verbose streaming, etc.)
  • Prototypage rapide grâce à la syntaxe simplifiée

L’API Responses (compatible OpenAI)

L’API Responses permet d’utiliser le même format que l’API OpenAI. C’est utile si vous migrez un projet existant ou si vous souhaitez garder la compatibilité avec d’autres fournisseurs.

from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("XAI_API_KEY"),
    base_url="https://api.x.ai/v1",
)

response = client.responses.create(
    model="grok-4.20-reasoning",
    input=[{"role": "user", "content": "Explique le projet React"}],
    tools=[{
        "type": "mcp",
        "server_url": "https://mcp.deepwiki.com/mcp",
        "server_label": "deepwiki",
    }],
)

Avec cette approche, vous configurez le MCP directement dans le tableau tools en utilisant le type "mcp". Les paramètres sont passés en clé-valeur dans l’objet outil.

Limitations de l’API Responses

L’API Responses compatible OpenAI ne supporte pas certains paramètres disponibles dans le SDK natif :

  • require_approval : vous ne pouvez pas demander une validation humaine avant l’exécution d’un outil MCP
  • connector_id : la gestion des connecteurs OpenAI n’est pas disponible

Ces limitations sont spécifiques au format de compatibilité. Si vous avez besoin de ces fonctionnalités, utilisez le SDK xAI natif.

Quand utiliser l’API Responses

  • Migration depuis OpenAI vers xAI sans réécrire le code
  • Projets multi-fournisseurs où vous alternez entre Grok et d’autres modèles
  • Équipes familiarisées avec le format OpenAI

L’API Voice Agent

L’API Voice Agent est conçue pour les agents vocaux. Elle permet de connecter un agent conversationnel vocal à des outils MCP externes.

Le cas d’usage typique est un assistant vocal qui doit consulter une base de connaissances, vérifier un statut de commande ou interagir avec un système externe pendant une conversation téléphonique.

La configuration MCP dans l’API Voice Agent suit le même format que les autres SDK, avec les mêmes paramètres (server_url, server_label, etc.). La différence est que les résultats des outils sont intégrés dans le flux de synthèse vocale.

Quand utiliser l’API Voice Agent

  • Agents vocaux interactifs (support client, assistants téléphoniques)
  • Applications où la réponse doit être synthétisée en voix
  • Scénarios où l’utilisateur ne voit pas de texte

Comparaison des trois interfaces

Quel que soit le SDK choisi, le comportement du MCP est identique :

  • Grok découvre les outils exposés par le serveur MCP
  • Le modèle choisit l’outil adapté à la requête
  • L’appel est formulé avec les paramètres corrects
  • Le résultat est intégré dans la réponse

La différence se situe uniquement dans la syntaxe de configuration et dans les fonctionnalités supplémentaires disponibles (streaming verbose pour le SDK xAI, compatibilité OpenAI pour l’API Responses, synthèse vocale pour Voice Agent).

Points clés à retenir

  • Le SDK xAI natif avec mcp() est la méthode la plus simple et la plus complète
  • L’API Responses (format OpenAI) facilite la migration mais ne supporte pas require_approval ni connector_id
  • L’API Voice Agent connecte des agents vocaux à des outils MCP
  • Le comportement MCP est identique dans les trois cas, seule la syntaxe change
  • Choisissez en fonction de votre stack existant et de vos besoins spécifiques