Guide de démarrage : ajouter un connecteur

Ce guide enregistre le serveur MCP public DeepWiki comme connecteur, le connecte, liste les outils qu'il expose, appelle directement un outil, puis ajoute le connecteur à un agent du SDK Agents.

Un connecteur est un serveur MCP enregistré. Une fois connecté, ses outils peuvent être appelés directement ou choisis par un modèle dans une conversation ou un agent.

Avant de commencer

Avant de commencer

  • Une clé API Mistral. Consultez Activer Studio et générer une clé API et exportez-la dans MISTRAL_API_KEY.
  • Aucun droit d'administration : cette page crée un connecteur private, visible uniquement par vous. Consultez les niveaux de visibilité pour le partager avec un espace de travail ou une organisation.
  • Aucun compte sur le service connecté : le serveur MCP DeepWiki utilisé ici est public et ne nécessite pas d'OAuth.
Créer le connecteur

Créer le connecteur

Enregistrez l'URL du serveur MCP sous un nom. Les noms de connecteurs sont uniques dans un espace de travail : 64 caractères maximum, alphanumériques, tirets et tirets bas.

import asyncio
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")


async def main() -> None:
    connector = await client.beta.connectors.create_async(
        name="my_deepwiki",
        description="DeepWiki MCP connector for code repository exploration",
        server="https://mcp.deepwiki.com/mcp",
        visibility="private",
    )
    print(f"Name:        {connector.name}")
    print(f"Server URL:  {connector.server}")
    print(f"Auth type:   {connector.auth_type}")


asyncio.run(main())
Le connecter

Le connecter

Un connecteur a besoin d'identifiants avant que ses outils puissent être listés ou appelés, même quand le serveur n'en demande pas : créez un identifiant vide et marquez-le comme celui par défaut. Cette opération n'est à faire qu'une seule fois pour ce connecteur.

import asyncio
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")


async def main() -> None:
    await client.beta.connectors.create_or_update_user_credentials_async(
        connector_id_or_name="my_deepwiki",
        name="deepwiki-default",
        credentials={"headers": {}},
        is_default=True,
    )


asyncio.run(main())

Si le serveur MCP nécessite OAuth, récupérez plutôt une URL d'autorisation et terminez le flux correspondant. Les jetons ne peuvent pas être transmis par programme. Consultez Authentifier un connecteur.

Lister les outils

Lister les outils

Vérifiez quels outils le connecteur expose avant de les appeler. Les noms d'outils doivent correspondre exactement.

import asyncio
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")


async def main() -> None:
    tools = await client.beta.connectors.list_tools_async(
        connector_id_or_name="my_deepwiki",
    )
    for tool in tools:
        print(f"  - {tool.name}: {tool.description}")


asyncio.run(main())

La réponse liste des outils tels que read_wiki_structure, read_wiki_page_contents et ask_question.

Appeler un outil

Appeler un outil

Appelez read_wiki_structure directement, sans démarrer de conversation ni faire intervenir un modèle.

import asyncio
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")


async def main() -> None:
    result = await client.beta.connectors.call_tool_async(
        connector_id_or_name="my_deepwiki",
        tool_name="read_wiki_structure",
        arguments={"repoName": "sqlite/sqlite"},
    )
    for item in result.content:
        if hasattr(item, "text"):
            print(item.text)


asyncio.run(main())
L'utiliser depuis un agent

L'utiliser depuis un agent

Nommez le connecteur sur un agent du SDK Agents pour que le modèle puisse choisir ses outils pendant une session. Le connecteur doit être disponible dans votre organisation et connecté par l'utilisateur qui exécute la session.

import mistralai.agents as agents

agent = agents.Agent(
    model="mistral-large-4",
    name="deepwiki-agent",
    instructions="You answer questions about open-source repositories using DeepWiki.",
    harness=agents.Harness(connectors=[agents.connector("my_deepwiki")]),
)

Pour les exigences qui s'appliquent quand l'agent s'exécute sur un worker, comme les déploiements durcis, consultez Connecteurs & MCP.

Pour laisser un modèle choisir les outils au sein d'une seule conversation, consultez Connecteurs dans les conversations.

Aller plus loin

Aller plus loin