Fin dall'inizio del Model Context Protocol (MCP), abbiamo immaginato e progettato come integrarlo nella piattaforma SnapLogic. Di recente abbiamo ricevuto un numero significativo di richieste di informazioni sull'MCP e siamo entusiasti di condividere i nostri progressi, le funzionalità che supporteremo, la nostra tempistica di rilascio e il modo in cui potete iniziare a creare server e client MCP all'interno di SnapLogic. Se siete interessati, vi invitiamo a contattarci!
Comprendere il protocollo MCP
Il protocollo MCP consente di pubblicare strumenti, risorse di dati e suggerimenti da un server MCP in modo comprensibile ai Large Language Models (LLM). Ciò consente agli LLM di interagire autonomamente con queste risorse tramite un client MCP, ampliando le loro capacità di eseguire azioni, recuperare informazioni ed eseguire flussi di lavoro complessi.
Il protocollo MCP supporta principalmente:
- Strumenti: Funzioni che un LLM può invocare (ad esempio, ricerca di dati, compiti operativi).
- Risorse: Dati simili a file che un LLM può leggere (ad esempio, risposte API, contenuti di file).
- Prompt: Modelli pre-scritti per guidare l'interazione di LLM con il server.
- Campionamento (non molto utilizzato): Permette agli LLM ospitati dai client di essere utilizzati dai server MCP remoti.
Un client MCP può quindi richiedere di elencare gli strumenti disponibili, chiamare strumenti specifici, elencare le risorse o leggere il contenuto delle risorse da un server.
Trasporto e autenticazione
Il protocollo MCP offre opzioni di trasporto flessibili, tra cui STDIO o HTTP (SSE o Streamable-HTTP) per le implementazioni locali e HTTP(SSE o Streamable-HTTP) per le implementazioni remote.
Sebbene il protocollo proponga OAuth 2.1 per l'autenticazione, un server MCP può anche utilizzare intestazioni personalizzate per la sicurezza.

Timeline di rilascio
Siamo entusiasti di portare il supporto MCP a SnapLogic con due release fondamentali:
Rilascio di agosto: Supporto client MCP
Verranno rilasciati due nuovi snap: lo snap MCP Function Generator e lo snap MCP Invoke. Saranno disponibili nello Snap PackAgentCreator Experimental (Beta). Con questi snap, l'agente SnapLogic può accedere ai servizi e alle risorse disponibili sul server MCP pubblico.
Rilascio alla fine del terzo trimestre: Supporto per il server MCP
Il supporto iniziale del server MCP si concentrerà sulle operazioni con gli strumenti, compresa la possibilità di elencare gli strumenti e di chiamarli. Per l'autenticazione, supporterà l'autenticazione personalizzata basata sull'intestazione. Gli utenti potranno sfruttare le funzionalità del server MCP sottoscrivendo questa funzione.
Se siete desiderosi di essere tra i primi a testare queste nuove funzionalità e a fornire un feedback, contattate il Project Manager Team, all'indirizzo [email protected]. Non vediamo l'ora di vedere cosa costruite con SnapLogic MCP.
Client MCP SnapLogic

I client MCP in SnapLogic consentono agli utenti di connettersi ai server MCP come parte del loro agente. Un esempio può essere la connessione al server MCP Firecrawl per un agente di scraping dei dati, o altri casi d'uso che possono sfruttare i server MCP creati.
Il supporto del client MCP in SnapLogic consiste in due snap, lo snap MCP Function Generator e lo snap MCP Invoke. Da un punto di vista di alto livello, lo snap MCP Function Generator consente agli utenti di elencare gli strumenti disponibili da un server MCP, mentre lo snap MCP Invoke permette agli utenti di eseguire operazioni quali la chiamata di strumenti, l'elenco di risorse e la lettura di risorse da un server MCP.
Analizziamo i singoli pezzi.
Conto MCP SSE
Per connettersi a un server MCP, è necessario un account che specifichi l'URI del server a cui connettersi.

Proprietà
- URI
- L'URI del server a cui connettersi. Non è necessario includere il percorso /sse
- Intestazioni aggiuntive
- Intestazioni HTTP aggiuntive da inviare al server
- Timeout
- Il valore di timeout in secondi; se il risultato non viene restituito entro il timeout, Snap restituirà un errore.
Generatore di funzioni MCP Snap

Lo snap del generatore di funzioni MCP consente agli utenti di recuperare l'elenco degli strumenti come definizioni di funzioni SnapLogic da utilizzare in uno snap di chiamata degli strumenti.
Proprietà
- Conto
- Per connettersi a un server MCP è necessario un account MCP SSE.
- Esporre gli strumenti
- Elencare tutti gli strumenti disponibili da un server MCP come definizioni di funzioni SnapLogic.
- Esporre le risorse
- Aggiungere list_resources, read_resource come definizioni di funzioni SnapLogic per consentire agli LLM di usare resources/read e resources/list (MCP Resources).
Definizioni per risorsa elenco e risorsa lettura
[ { "sl_type": "function", "name": "list_resources", "description": "This function lists all available resources on the MCP server. Return a list of resources with their URIs.", "strict": false, "sl_tool_metadata": { "operation": "resources/list" } }, { "sl_type": "function", "name": "read_resource", "description": "This function returns the content of the resource from the MCP server given the URI of the resource.", "strict": false, "sl_tool_metadata": { "operation": "resources/read" }, "parameters": [ { "name": "uri", "type": "STRING", "description": "Unique identifier for the resource", "required": true } ] } ]
MCP Invoke Snap

L'Invoke Snap di MCP consente agli utenti di eseguire operazioni quali strumenti/chiamata, risorse/elenco e risorse/lettura su un server MCP.
Proprietà
- Conto
- Per utilizzare MCP Invoke Snap è necessario un account.
- Operazione
- L'operazione da eseguire sul server MCP. L'operazione deve essere una delle seguenti: strumenti/chiamata, risorse/elenco o risorse/lettura.
- Nome dello strumento
- Il nome dello strumento da chiamare. Abilitato e richiesto solo quando l'operazione è strumenti/richiamo
- Parametri
- I parametri da aggiungere all'operazione. Abilitato solo per resources/read e tools/call. Richiesto per resources/read e facoltativo per tools/call, in base allo strumento.
Agenti MCP in azione nella pipeline
Pipeline del driver dell'agente MCP

Una pipeline MCP Agent Driver è come qualsiasi altra pipeline MCP Agent; occorre fornire il prompt di sistema, il prompt dell'utente ed eseguirla con PipeLoop Snap.
Pipeline di lavoro dell'agente MCP

Ecco un esempio di agente MCP con una singola connessione al server MCP. L'agente MCP Worker è collegato a un solo server MCP.
Gli snap del client MCP possono essere utilizzati insieme agli snap di AgentCreator , come il Generatore di funzioni multi-pipeline e lo snap Esegui pipeline, come strumenti SnapLogic Functions. Ciò consente agli utenti di utilizzare gli strumenti forniti dai server MCP e gli strumenti interni, senza sacrificare la sicurezza e la libertà nella creazione di un agente.
Lavoratore agente con snap del client MCP

Server MCP SnapLogic
In SnapLogic, un MCP Server consente di esporre le pipeline di SnapLogic come strumenti dinamici che possono essere scoperti e invocati da modelli linguistici o sistemi esterni.
Registrando un server MCP, si fornisce effettivamente un'API che i modelli linguistici e altri client possono utilizzare per eseguire operazioni quali il recupero, la trasformazione, l'arricchimento o l'automazione dei dati, il tutto orchestrato attraverso le pipeline SnapLogic.
Per la fase iniziale, supporteremo le connessioni al server tramite HTTP + SSE.
Capacità principali
Il server MCP offre due funzionalità fondamentali.
Il primo è l'elenco degli strumenti, che restituisce metadati strutturati che descrivono le pipeline disponibili. Questi metadati includono il nome dello strumento, una descrizione, lo schema di input in formato JSON Schema e qualsiasi altra informazione rilevante. Ciò consente ai client di scoprire dinamicamente quali operazioni sono disponibili per l'invocazione.
La seconda funzionalità è la chiamata di strumenti, in cui una pipeline specifica viene eseguita come strumento utilizzando parametri di input strutturati e restituendo l'output.
Entrambe le operazioni - elencare gli strumenti e chiamarli - sono esposte attraverso metodi JSON-RPC standard, in particolare tools/list e tools/call, accessibili via HTTP.
Prerequisito
È necessario preparare in anticipo le pipeline di strumenti. Durante il processo di creazione del server, questi possono essere aggiunti ed esposti come strumenti da utilizzare per gli LLM esterni.
Componenti della pipeline del server MCP

Una tipica pipeline di server MCP è composta da quattro snap, ciascuno con un ruolo dedicato:
1. Router
- Cosa fa: Indirizza le richieste JSON in arrivo, che differiscono dalle richieste JSON-RPC dirette inviate da un client MCP, al ramo degli strumenti di lista o al ramo degli strumenti di chiamata.
- Come: Esamina il payload della richiesta (in genere il campo del metodo) per determinare quale azione eseguire.
2. Generatore di funzioni multi-pipeline (strumenti di elencazione)

- Cosa fa: Converte un elenco di riferimenti a pipeline in metadati di strumenti. Qui si definiscono le pipeline che si vuole che il server esponga come strumenti.
- Output: Per ogni conduttura, genera:
- Nome dello strumento
- Descrizione
- Parametri (come schema JSON)
- Altri metadati
- Scopo: Consente ai clienti (ad esempio, un LLM) di interrogare gli strumenti disponibili senza alcuna conoscenza preliminare.
3. Esecuzione della pipeline (strumenti di chiamata)

- Cosa fa: Richiama dinamicamente la pipeline SnapLogic selezionata e restituisce output strutturati.
- Come: Accetta i parametri codificati nel corpo della richiesta, li mappa negli input previsti dalla pipeline ed esegue la pipeline.
- Scopo: Fornisce un'esecuzione flessibile degli strumenti in tempo reale in base alle richieste dell'utente o del modello.
4. Unione
- Cosa fa: Unisce i flussi di risultati di entrambi i rami (elenco e chiamata) in un unico flusso di uscita per una formattazione coerente delle risposte.
Flussi di richiesta
Di seguito sono riportati alcuni esempi di flussi che mostrano come vengono elaborate le richieste:

strumenti/elenco
- Il client invia una richiesta JSON-RPC con metodo = "tools/list".
- Il router indirizza la richiesta al generatore di funzioni multi-pipeline.
- I metadati dello strumento vengono generati e restituiti nella risposta.
- Union Snap unisce e produce il contenuto.
Risultato: Il client riceve un elenco JSON che descrive tutti gli strumenti disponibili.

Strumenti/chiamate
- Il client invia una richiesta JSON-RPC con method = "tools/call" e il nome dello strumento + i parametri.
- Il router lo invia alla pipeline Execute Snap.
- La pipeline selezionata viene richiamata con i parametri indicati.
- L'output viene raccolto e unito tramite Union.
Risultato: Il client ottiene il risultato dell'esecuzione dello strumento selezionato.
Registrazione di un server MCP
Una volta creata la pipeline del server MCP:
- Creare un'attività di trigger e registrarsi come server MCP
- Passare a Designer > Crea attività di trigger
- Scegliere un Groundplex.
(Nota: attualmente questa funzionalità richiede un Groundplex, non un Cloudplex). - Selezionare la pipeline MCP.
- Fare clic su Registra come server MCP
- Configurare il nodo e l'autenticazione.
- Trovare l'URL del server MCP
- Passare a Manager > Attività
- La pagina Dettagli attività espone un unico endpoint HTTP.
- Questo endpoint viene trattato come l'URL del server MCP.
Dopo la registrazione, i client, come i modelli di intelligenza artificiale o i motori di orchestrazione, possono interagire con il server MCP chiamando l'endpoint /tools/list per scoprire gli strumenti disponibili e l'endpoint /tools/call per invocare uno strumento specifico utilizzando un payload JSON strutturato.
Connettersi a un server MCP SnapLogic da un client
Dopo che il server MCP è stato pubblicato con successo, l'utilizzo del server MCP SnapLogic non è diverso da quello di altri server MCP in modalità SSE. È possibile connettersi a questo server da qualsiasi client MCP che supporti la modalità SSE; tutto ciò che serve è l'URL del server MCP (e il Bearer Token se l'autenticazione è abilitata durante la registrazione del server).
Configurazione
Innanzitutto, è necessario aggiungere il server MCP nelle impostazioni del client MCP. Prendendo Claude Desktop come esempio, è necessario modificare il file di configurazione di Claude Desktop. Il file di configurazione si trova in genere in:
- macOS: ~/Libreria/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%Claudeclaude_desktop_config.json
Aggiungere la configurazione del server MCP remoto alla sezione mcpServers:
{ "mcpServers": { "SL_MCP_server": { "command": "npx", "args": [ "mcp-remote", "http://devhost9000.example.com:9000/mcp/6873ff343a91cab6b00014a5/sse", "--header", "Authorization: Bearer your_token_here" ] } } }
Componenti chiave
- Nome del server: SL_MCP_server - Un identificativo univoco per il server MCP.
- Comando: npx - Utilizza il runner di pacchetti Node.js per eseguire il pacchetto mcp-remote
- URL: L'URL dell'endpoint SSE del server MCP remoto (notare il suffisso /sse ).
- Autenticazione: Utilizzare il flag -header per includere i token di autorizzazione se il server ha abilitato l'autenticazione.
Requisiti
Assicurarsi di avere Node.js installato sul sistema, poiché la configurazione utilizza npx per eseguire il pacchetto mcp-remote. Sostituire l'URL di esempio e il token di autorizzazione con i dati reali del server prima di salvare la configurazione.
Dopo aver aggiornato il file di configurazione, riavviare Claude Desktop per rendere effettive le modifiche.


Per concludere, il server MCP di SnapLogic è un framework che consente di esporre le pipeline come strumenti dinamici accessibili attraverso un singolo endpoint HTTP. Questa funzionalità è progettata per l'integrazione con i modelli linguistici e i sistemi esterni che devono scoprire e invocare i flussi di lavoro di SnapLogic in fase di esecuzione. I server MCP consentono di creare API flessibili e componibili che restituiscono risultati strutturati, supportando casi d'uso quali l'intelligenza artificiale conversazionale, l'orchestrazione automatizzata dei dati e i flussi di lavoro delle applicazioni intelligenti.
Conclusione
L'integrazione del protocollo MCP da parte di SnapLogic segna un significativo balzo in avanti nel consentire agli LLM di scoprire e invocare dinamicamente le pipeline SnapLogic come strumenti sofisticati, trasformando il modo in cui si costruisce l'IA conversazionale, si automatizzano le complesse orchestrazioni di dati e si creano applicazioni veramente intelligenti. Siamo ansiosi di vedere le soluzioni innovative che svilupperete con queste nuove e potenti funzionalità.




