Produit

Connecter les points : créer avec des MCP intégrés et personnalisés dans Studio

May 22, 2026

By Mistral AI

Nous lançons aujourd’hui les Connecteurs dans Studio pour aider les développeurs à créer des applications d’IA fortement personnalisées, ancrées dans les données d’entreprise. Tous les connecteurs intégrés, ainsi que les MCP personnalisés, sont désormais disponibles via API/SDK et utilisables avec tous les appels aux modèles et aux agents.

Nous introduisons aussi l’appel direct d’outils, qui donne aux développeurs un contrôle précis sur le moment et la manière dont les outils sont invoqués, sans que les barrières d’authentification ne ralentissent les tests et les itérations. Vous pouvez également mettre en place des flux d’approbation avec intervention humaine, pour permettre une relecture et une confirmation sécurisées avant l’exécution d’un outil, tout en assurant flexibilité et gouvernance.

  • Accès programmatique pour créer, modifier, lister et supprimer vos connecteurs, mais aussi lister leurs outils et les exécuter directement.

  • Tous les connecteurs sont enregistrés de manière centralisée, ce qui les rend disponibles dans les applications Mistral : LeChat et AI Studio, avec Vibe prochainement.

  • L’utilisation via l’API Conversation, l’API Completions et l’Agent SDK permet désormais des workflows complexes et l’intégration avec des systèmes d’entreprise comme les CRM, les bases de connaissances et les outils de productivité.

Des intégrations gérées par la plateforme, pas par votre code

Créer des agents d’IA d’entreprise devient plus simple. La partie la plus difficile est tout ce qui les entoure : trouver la bonne documentation d’API, écrire et maintenir les fonctions d’outil, créer les intégrations, configurer OAuth, gérer le renouvellement des tokens et déboguer les cas limites comme une pagination cassée.

Les équipes finissent donc par reconstruire la même couche d’intégration. Même au sein d’une même entreprise, des intégrations similaires sont souvent implémentées plusieurs fois dans du code arbitraire, ce qui crée des risques de sécurité, un manque d’observabilité du trafic et une duplication du travail.

Un connecteur résout ce problème en regroupant une intégration dans une entité unique et réutilisable au moyen du protocole MCP.

my_connector = client.beta.connectors.create(
name="salesforce-crm",
description="Salesforce CRM — accounts, contacts, opportunities",
server="https://your-mcp-server.internal/salesforce",
visibility="shared_workspace",
oauth_config={
"client_id": os.environ["SALESFORCE_CLIENT_ID"],
"scopes": ["read_accounts", "read_contacts"],
"redirect_uri": "https://your-app.internal/oauth/callback",
},
)

Une fois enregistré, le Connecteur MCP personnalisé est détectable, gouverné et surveillé dans Studio. Il devient un outil natif pour toute conversation, tout agent ou tout workflow, sans réécrire la logique d’intégration, sans réimplémenter l’authentification et sans la dupliquer entre les équipes. Configurez-le une fois, utilisez-le en continu, partout. Attacher un connecteur à une conversation tient en une ligne :

response = client.beta.conversations.start_async(
model="mistral-medium-latest",
inputs="Which enterprise accounts renewed last quarter?",
tools=[{"type": "connector", "connector_id": "salesforce-crm"}],
)

Un parcours de référence exécutable

Créons un agent pour un workflow multi-étapes fondé sur le raisonnement entre plusieurs sources, grâce à la connectivité sécurisée de l’agent à GitHub, au contenu et à la documentation d’un dépôt public, ainsi qu’aux données web en direct. L’agent peut comprendre l’intention, analyser le code et proposer des modifications, ainsi que traiter d’autres cas d’usage courants comme la génération de tests, le refactoring, l’identification d’inefficacités, de bugs ou de vulnérabilités.

Prérequis

pip install mistralai
export MISTRAL_API_KEY="your-api-key"
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

1 - Créer un connecteur pour un MCP distant public

Pour interroger et explorer des bases de code, nous utiliserons le serveur distant DeepWiki, qui fournit une interface MCP vers un endpoint d’API/d’outil. L’agent peut ainsi explorer le contenu et la documentation sans scraper les docs manuellement ni charger des dépôts entiers.

my_custom_mcp = client.beta.connectors.create_async(
name="my_deepwiki",
description="DeepWiki MCP for code repository exploration",
server="https://mcp.deepwiki.com/mcp",
visibility="shared_workspace",
)

Enregistrer le serveur MCP une seule fois permet aux utilisateurs de le réutiliser dans des conversations, des agents ou des appels directs d’outils. C’est le point d’entrée de tout flux MCP personnalisé. Pour un exemple complet de gestion des connecteurs intégrés et personnalisés, consultez cookbook : Gestion des connecteurs.

2 - Créer un agent

L’agent doit aussi pouvoir se connecter à GitHub et au web ; les utilisateurs n’ont pas besoin de créer ces connecteurs, car ils sont déjà intégrés à Mistral. 

Notez qu’un connecteur peut exposer des dizaines d’outils. Si les utilisateurs veulent exclure des actions potentiellement dommageables, tool_configuration contrôle la disponibilité des outils sans modifier le connecteur lui-même. Plus de détails sont disponibles dans le Cookbook : Utiliser les connecteurs dans les conversations.

my_agent = client.beta.agents.create_async(
name="deepwiki_agent",
description="Agent for code repository exploration",
model="mistral-small-latest",
instructions="""\ You are an Open-Source Software Auditor. \


Lorsqu’on vous demande d’évaluer une bibliothèque ou un dépôt, vous DEVEZ effectuer TOUTES les tâches suivantes :

## Final verdict
Based on all three analyses, give a clear recommendation:
- **SAFE TO ADOPT** — no major concerns
- **ADOPT WITH CAUTION** — some concerns to be aware of
- **AVOID** — significant risks identified
Always be thorough and cite your sources.\
""",
tools=[
{"type": "web_search"},
{
"type": "connector",
"connector_id": "github",
"tool_configuration": {"exclude": ["delete_file"]},
},
{"type": "connector", "connector_id": "my_custom_mcp.name"},
],
)
response = await client.beta.conversations.start_async(
agent_id=my_agent.id,
inputs=[
{
"role": "user",
"content": "Please perform full audit on repo pallets/flask",
}
],
)

Appel direct d’outils

Tous les workflows n’ont pas besoin que le modèle décide quand et comment les outils sont invoqués. Pour une expérience plus déterministe, les utilisateurs peuvent désormais appeler les connecteurs directement.

result = await client.beta.connectors.call_tool_async(
connector_id="my_deepwiki",
tool_name="read_wiki_structure",
arguments={"repoName": "sqlite/sqlite"},
)
print(f"Tool output:\n{result.content}")

C’est particulièrement utile pour le débogage et l’automatisation de type pipeline, qui limite l’ambiguïté. Pour le pattern complet, consultez cookbook : Appel d’outils de connecteur.

Quand une intervention humaine est nécessaire

Certaines actions ne doivent pas s’exécuter sans approbation explicite. requires_confirmation met l’exécution en pause et rend le contrôle à votre application avant l’exécution de l’outil :


{
"type": "connector",
"connector_id": "gmail",
"tool_configuration": {
"include": ["gmail_search"],
"requires_confirmation": ["gmail_search"]
}
}

Le modèle propose, l’application utilisateur décide s’il faut continuer. La limite entre jugement de l’IA et jugement humain est explicite et écrite dans le code.  Pour le flux d’approbation complet, avec l’appel d’outil en attente et l’étape de reprise, consultez cookbook : Confirmation avec intervention humaine.

Commencer à créer

Vous pouvez désormais utiliser les Connecteurs dans Studio, en Public Preview. Pour commencer, accédez à la console Studio : https://console.mistral.ai/build/connectors