Azienda

Unire i puntini: sviluppare con MCP integrati e personalizzati in Studio

May 22, 2026

By Mistral AI

Oggi rilasciamo i connettori in Studio per sbloccare gli sviluppatori che creano applicazioni AI altamente personalizzate e basate su dati enterprise. Tutti i connettori integrati, così come gli MCP personalizzati, sono ora disponibili tramite API/SDK per essere usati con tutte le chiamate a modelli e agenti.

Introduciamo anche la chiamata diretta dei tool, offrendo agli sviluppatori un controllo preciso su come e quando i tool vengono invocati, senza barriere di autenticazione che ostacolino test e iterazione. Inoltre, è ora possibile implementare flussi di approvazione human-in-the-loop, consentendo revisione e conferma sicure prima dell'esecuzione del tool, garantendo al tempo stesso flessibilità e governance.

  • Accesso programmatico per creare, modificare, elencare ed eliminare i propri connettori, ma anche per elencarne i tool ed eseguirli direttamente.

  • Tutti i connettori sono registrati in modo centralizzato, rendendoli disponibili nelle app Mistral: LeChat e AI Studio (con Vibe in arrivo a breve).

  • L'utilizzo tramite Conversation API, Completions API e Agent SDK può ora facilitare workflow complessi e l'integrazione con sistemi enterprise come CRM, knowledge base e tool di produttività.

Integrazioni che risiedono nella piattaforma, non nel codice

Costruire agenti AI enterprise sta diventando più semplice. La parte più complessa è tutto ciò che li circonda: trovare la documentazione API corretta, scrivere e mantenere funzioni tool, creare integrazioni, configurare OAuth, gestire il refresh dei token ed eseguire il debug di casi limite come la paginazione non funzionante.

Per questo motivo, i team continuano a ricostruire lo stesso livello di integrazione. Anche all'interno della stessa azienda, integrazioni simili vengono spesso implementate più volte in codice arbitrario, con conseguenti rischi per la sicurezza, mancanza di osservabilità del traffico e duplicazione del lavoro.

Un connettore risolve questo problema pacchettizzando un'integrazione in un'unica entità riutilizzabile tramite il protocollo 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",
},
)

Una volta registrato, il connettore MCP personalizzato è rilevabile, governato e monitorato in Studio e diventa un tool nativo per qualsiasi conversazione, agente o workflow senza riscrivere la logica di integrazione, senza reimplementare l'autenticazione, senza duplicarla tra i team. Si configura una volta e si esegue sempre, ovunque. Collegare un connettore a qualsiasi conversazione richiede una sola riga:

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 golden path eseguibile

Costruiamo un agente per un workflow multi-step basato sul reasoning tra più fonti, sfruttando la connettività sicura dell'agente a GitHub, ai contenuti e alla documentazione di repo pubbliche, e ai dati live dal web. L'agente può comprendere l'intento, analizzare il codice e proporre modifiche, oltre ad altri casi d'uso comuni come generazione di test, refactoring, identificazione di inefficienze, bug o vulnerabilità.

Prerequisiti

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

1 - Creare un connettore per un MCP remoto pubblico

Per interrogare ed esplorare code base, sfrutteremo il server remoto DeepWiki, che fornisce un'interfaccia MCP verso un endpoint API/tool. In questo modo l'agente può esplorare contenuti e documentazione senza effettuare manualmente lo scraping della documentazione o caricare intere repos.

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",
)

Registrare il server MCP una sola volta consente agli utenti di riutilizzarlo tra conversazioni, agenti o chiamate dirette ai tool. Questo è il punto di ingresso per qualsiasi flusso MCP personalizzato. Per un esempio completo su come gestire connettori integrati e personalizzati, vedere cookbook: gestione dei connettori.

2 - Creare un agente

L'agente dovrebbe anche potersi connettere a GitHub e al web; gli utenti non devono creare questi connettori, perché sono già integrati in Mistral.

Si noti che un connettore può esporre decine di tool. Se gli utenti desiderano escludere azioni potenzialmente dannose, tool_configuration controlla la disponibilità dei tool senza modificare il connettore stesso. Maggiori dettagli sono disponibili in Cookbook: Uso dei connettori nelle conversazioni.

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. \


Quando viene richiesto di valutare una libreria o un repository, DEVE eseguire TUTTE le seguenti attività:

## 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",
}
],
)

Chiamata diretta dei tool

Non tutti i workflow richiedono che il modello decida quando e come invocare i tool. Per un'esperienza più deterministica, gli utenti possono ora chiamare direttamente i connettori.

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}")

Questo è particolarmente utile per il debug e per l'automazione in stile pipeline, che riducono l'ambiguità. Per il pattern completo, vedere cookbook: chiamata dei tool del connettore.

Quando è necessario coinvolgere una persona nel processo

Alcune azioni non dovrebbero essere eseguite senza approvazione esplicita. requires_confirmation sospende l'esecuzione e restituisce il controllo all'applicazione prima che il tool venga eseguito:


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

Il modello propone, l'applicazione utente decide se procedere. Il confine tra valutazione dell'AI e valutazione umana è esplicito e scritto nel codice. Per il flusso di approvazione completo, inclusi la chiamata tool in sospeso e il passaggio di ripresa, vedere cookbook: conferma human-in-the-loop.

Iniziare a sviluppare

È ora possibile utilizzare i connettori in Studio, in Public Preview. È possibile iniziare a sviluppare da subito visitando la console Studio: https://console.mistral.ai/build/connectors