Un server Model Context Protocol (MCP) funge da proxy tra un servizio esterno che fornisce contesto, dati o funzionalità a un modello linguistico di grandi dimensioni (LLM) o a un'applicazione AI. I server MCP collegano le applicazioni di AI a sistemi esterni come database e servizi web, traducendo le loro risposte in un formato che l'applicazione di AI può comprendere.
Strumenti MCP
Uno strumento MCP è una funzione o una funzionalità eseguibile che un server MCP espone a un LLM o a un'applicazione AI per eseguire un'azione nel mondo reale.
Il server MCP gmailmcp.googleapis.com dispone dei seguenti strumenti:
| Strumenti MCP | |
|---|---|
| create_draft |
Crea una nuova bozza di email nell'account Gmail dell'utente autenticato. Questo strumento prende come input gli indirizzi dei destinatari, un oggetto e il contenuto del corpo. Restituisce l'ID della bozza di Gmail creata. |
| list_drafts |
Elenca le bozze di email dell'account Gmail dell'utente autenticato. Questo strumento può filtrare le bozze in base a una stringa di query e supporta la paginazione. Restituisce un elenco di bozze, inclusi ID e oggetto. |
| get_thread | Recupera una specifica thread email dall'account Gmail dell'utente autenticato, inclusa una lista dei suoi messaggi. |
| search_threads |
Elenca le conversazioni email dell'account Gmail dell'utente autenticato. Questo strumento può filtrare i thread in base a una stringa di query e supporta la paginazione. Restituisce un elenco di thread, inclusi i relativi ID e messaggi correlati. Ogni messaggio correlato contiene dettagli come uno snippet del corpo del messaggio, l'oggetto, il mittente, i destinatari e così via. Tieni presente che questo strumento non restituisce i corpi completi dei messaggi; utilizza lo strumento "get_thread" con un ID thread per recuperare il corpo completo del messaggio, se necessario. |
| label_thread |
Aggiunge etichette a un'intera discussione nell'account Gmail dell'utente autenticato. Questa operazione interessa tutti i messaggi attualmente presenti nel thread e tutti i messaggi futuri che verranno aggiunti. Se non conosci l'ID thread, utilizza prima lo strumento Se non conosci l'ID di un'etichetta utente, utilizza prima lo strumento |
| unlabel_thread |
Rimuove le etichette da un'intera discussione nell'account Gmail dell'utente autenticato. Se non conosci l'ID thread, utilizza prima lo strumento search_threads. Se non conosci l'ID di un'etichetta utente, utilizza prima lo strumento list_labels.
|
| list_labels |
Elenca tutte le etichette definite dall'utente disponibili nell'account Gmail dell'utente autenticato. Utilizza questo strumento per scoprire l'id di un'etichetta utente prima di chiamare label_thread, unlabel_thread, label_message o unlabel_message. Le etichette di sistema non vengono restituite da questo strumento, ma possono essere utilizzate con i relativi ID noti: "INBOX", "TRASH", "SPAM", "STARRED", "UNREAD", "IMPORTANT", "CHAT", "DRAFT", "SENT".
|
| label_message |
Aggiunge una o più etichette a un messaggio specifico nell'account Gmail dell'utente autenticato. Per trovare l'ID messaggio, utilizza strumenti come |
| unlabel_message |
Rimuove una o più etichette da un messaggio specifico nell'account Gmail dell'utente autenticato. Per trovare l'ID messaggio, utilizza strumenti come search_threads o get_thread. Se non conosci l'ID di un'etichetta utente, utilizza prima lo strumento list_labels per scoprire le etichette disponibili e i relativi ID.
|
| create_label | Crea una nuova etichetta nell'account Gmail dell'utente autenticato. |
Ottenere le specifiche dello strumento MCP
Per ottenere le specifiche dello strumento MCP per tutti gli strumenti di un server MCP, utilizza il metodo tools/list. L'esempio seguente mostra come utilizzare curl per elencare tutti gli strumenti e le relative specifiche attualmente disponibili nel server MCP.
| Curl Request |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |