Riferimento degli strumenti

Tutti gli strumenti che il server MCP di StickyPrompts espone alle chiavi API, raggruppati per area, con gli argomenti, l'autorizzazione richiesta, l'indicazione se scrivono e il formato del risultato.

20 min di lettura · Aggiornato il 28 settembre 2026

Questo è l’elenco completo degli strumenti che una chiave API può vedere. Il tuo client vede solo gli strumenti di cui la tua chiave possiede l’autorizzazione (consulta Panoramica di MCP). Ogni strumento restituisce un elemento di testo che contiene un documento JSON; la forma del risultato è indicata strumento per strumento.

Come leggere questa pagina. Gli strumenti Lettura si limitano a leggere. Gli strumenti Scrittura creano, modificano, eliminano o inviano qualcosa. Gli strumenti Asincrono rispondono prima che il lavoro sia finito e vanno interrogati con il polling. Gli argomenti di tipo number vengono letti come interi, salvo diversa indicazione. Gli strumenti paginati accettano limit e offset e restituiscono total_count, limit e offset.

In sintesi

AreaStrumenti
Chat e conversazionisend_message, get_conversation, list_conversations, delete_conversation
Prompt ed esecuzionilist_prompts, get_prompt, run_prompt, custom_run, list_ai_models
Agenti e workflowlist_agents, get_agent, list_workflow_tasks, get_workflow_task, run_workflow_task
Conoscenza e filelist_knowledge_bases, search_knowledge_base, list_files, get_file
Progetti e teamlist_projects, get_project, create_project, delete_project, list_workspace_members, list_teams, list_team_members
Generazione di mediagenerate_image, edit_image, generate_video, get_video_generation_status, delete_video_generation, generate_speech, get_tts_generation_status, delete_tts_generation, generate_music, get_music_generation_status, delete_music_generation
Trascrizionetranscribe, get_transcription_status, delete_transcription
Fogli di calcololist_spreadsheet_processing_tasks, get_spreadsheet_processing_task, start_spreadsheet_processing, pause_spreadsheet_processing, resume_spreadsheet_processing
Integrazioni: emaillist_email_connections, send_email
Integrazioni: CRMlist_crm_connections, search_crm_contacts, list_crm_contacts, add_crm_contact, edit_crm_contact, search_crm_deals, list_crm_deals, create_crm_deal, list_crm_lists, list_crm_tags
Integrazioni: databaselist_database_connections, list_database_tables, describe_database_tables, run_database_query
Integrazioni: storagelist_storage_connections, browse_storage_folder, search_storage_files, get_storage_entry, import_storage_files, export_file_to_storage
Ricercasearch
Solo per il personaleget_usage_statistics

Chat e conversazioni

send_message

Invia un messaggio a un modello di IA e ne riceve la risposta, in modo sincrono. Ometti conversation_id per avviare una nuova conversazione; passalo per proseguirne una esistente. Lo strumento crea o aggiorna la stessa conversazione che vedi nell’app di StickyPrompts.

Scrittura Autorizzazione conversations_manage

Argomenti
message string obbligatorio
Il messaggio da inviare.
conversation_id number facoltativo
Una conversazione esistente di tua proprietà. Omettilo per avviarne una nuova.
ai_model_id number facoltativo
Il modello per una nuova conversazione, ottenuto da list_ai_models. Viene ignorato quando prosegui una conversazione, che mantiene il proprio modello. Passalo sempre per una nuova conversazione: senza, al momento la chiamata fallisce con no AI model is selected, try reselecting model.

Risultato: {"conversation_id": <id>, "text": "<assistant reply>"}. Un messaggio che menziona (@mentions) uno dei tuoi agenti tramite il suo tag viene instradato a quell’agente, come nell’app. Errori: errore dello strumento conversation not found; gli errori del modello e del provider sono errori JSON-RPC.

get_conversation

Recupera una conversazione di tua proprietà, inclusa la trascrizione dei messaggi.

Lettura Autorizzazione conversations_get

Argomenti
conversation_id number obbligatorio
La conversazione da leggere.

Risultato: {"id", "name", "messages": [{"is_user": bool, "text": "..."}]}. Errori: errore dello strumento conversation not found.

list_conversations

Elenca le tue conversazioni interattive (non quelle condivise con un team né quelle degli agenti), una pagina alla volta, a partire da quella aggiornata più di recente.

Lettura Autorizzazione conversations_get

Argomenti
search string facoltativo
Confrontato con il testo dei messaggi.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"conversations": [{"id", "name"}], "total_count", "limit", "offset"}.

delete_conversation

Elimina una conversazione di tua proprietà.

Scrittura Distruttivo Autorizzazione conversations_delete

Argomenti
conversation_id number obbligatorio
La conversazione da eliminare.

Risultato: {"deleted": true}. Errori: errore dello strumento conversation not found.

Prompt ed esecuzioni

list_prompts

Elenca i tuoi prompt (non quelli legati a un progetto né quelli condivisi con te), una pagina alla volta. Usa poi get_prompt per vedere le variabili di un prompt prima di chiamare run_prompt.

Lettura Autorizzazione prompts_get

Argomenti
search string facoltativo
Confrontato con nome e descrizione.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"prompts": [{"id", "name", "slug", "description", "is_favorite"}], "total_count", "limit", "offset"}.

get_prompt

Recupera un prompt di tua proprietà, compresi il contenuto della versione corrente e le variabili che accetta.

Lettura Autorizzazione prompts_get

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"id", "name", "slug", "description", "content", "variables": [{"slug", "name", "description", "required", "default_value"}]}. Errori: errore dello strumento prompt not found, anche per i prompt condivisi con te di cui non sei proprietario.

run_prompt

Compila le variabili di un prompt e lo esegue con un modello, restituendo il testo della risposta. Viene eseguito come una singola chiamata isolata; non crea una conversazione interattiva nell’app.

Scrittura Autorizzazione run_prompt

Argomenti
id string obbligatorio
ID numerico o slug di un prompt di tua proprietà.
ai_model_id number obbligatorio
Da list_ai_models. Non esiste un valore "auto".
variables object facoltativo
Mappa da slug della variabile a valore stringa, per esempio {"customer": "Bluebird Market"}. Le variabili omesse usano il loro valore predefinito; le chiavi sconosciute vengono ignorate.

Risultato: {"text": "<model response>"}. Errori: errori dello strumento prompt not found, prompt has no current version, variable "<slug>" must be a string, missing a value for a required variable, oppure il messaggio sui dati sensibili se un guardrail blocca il prompt compilato. Gli errori del modello e del provider sono errori JSON-RPC.

custom_run

Esegue un testo libero con un modello e restituisce il testo della risposta, senza un prompt salvato. Viene eseguito come una singola chiamata isolata; non crea una conversazione.

Scrittura Autorizzazione custom_run

Argomenti
prompt string obbligatorio
Il testo da inviare.
ai_model_id number obbligatorio
Da list_ai_models.

Risultato: {"text": "<model response>"}.

list_ai_models

Elenca i modelli disponibili per l’esecuzione, escludendo quelli soggetti a restrizioni nel tuo workspace (comprese le regole di residenza dei dati) e, per impostazione predefinita, quelli deprecati.

Lettura Autorizzazione ai_models_get

Argomenti
search string facoltativo
Confrontato con il nome del modello.
include_deprecated boolean facoltativo predefinito false
Include i modelli deprecati.

Risultato: {"models": [{"id", "name", "powered_by", "description", "premium"}]}, nell’ordine stabilito dalla piattaforma.

Agenti e workflow

list_agents

Elenca i tuoi agenti (non quelli condivisi con te da un team o dal workspace). Senza paginazione.

Lettura Autorizzazione agents_get

Argomenti
search string facoltativo
Confrontato con il nome dell’agente.

Risultato: {"agents": [{"id", "name", "slug", "tag"}]}. Il tag è il nome da usare nella @mention all’interno di send_message.

get_agent

Recupera un agente a cui hai accesso, compresi il system prompt e il modello configurato.

Lettura Autorizzazione agents_get

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"id", "name", "slug", "description", "system_prompt", "ai_model_id", "ai_model_name"}. Errori: errori dello strumento agent not found, you don't have access to this agent.

list_workflow_tasks

Elenca i tuoi task di workflow pianificati, una pagina alla volta.

Lettura Autorizzazione workflow_tasks_get

Argomenti
search string facoltativo
Corrispondenza sul nome, senza distinzione tra maiuscole e minuscole.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"workflow_tasks": [{"id", "name", "slug", "enabled"}], "total_count", "limit", "offset"}.

get_workflow_task

Recupera un task di workflow che gestisci, comprese le istruzioni e la percentuale di esecuzioni riuscite.

Lettura Autorizzazione workflow_tasks_get

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"id", "name", "slug", "description", "instructions", "enabled", "total_run_count", "success_rate"}. Errori: errore dello strumento workflow task not found or access denied.

run_workflow_task

Avvia subito un’esecuzione di un task di workflow, fuori dalla sua pianificazione. Risponde immediatamente con l’id e lo stato della nuova esecuzione; non attende che l’esecuzione finisca.

Scrittura Asincrono Autorizzazione workflow_tasks_manage

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"execution_id": <id>, "status": "running"}. Non esiste uno strumento MCP per leggere l’esito di un’esecuzione: una volta terminata, se ne vede l’effetto in total_run_count e success_rate di get_workflow_task. Se il proprietario ha esaurito la quota, l’esecuzione fallisce con quota exceeded. Errori: errore dello strumento workflow task not found or access denied.

Conoscenza e file

list_knowledge_bases

Elenca le knowledge base di cui sei proprietario o a cui ti è stato dato accesso.

Lettura Autorizzazione knowledge_bases_get

Nessun argomento. Risultato: {"knowledge_bases": [{"id", "name", "description"}]}.

search_knowledge_base

Cerca in una knowledge base i passaggi pertinenti a una query, restituendo i passaggi e i file da cui provengono. È la stessa ricerca semantica usata da una conversazione; non ha un equivalente REST.

Lettura Autorizzazione knowledge_bases_get

Argomenti
knowledge_base_id number obbligatorio
Da list_knowledge_bases.
query string obbligatorio
Cosa cercare.

Risultato: {"context": "<retrieved passages as text>", "files": [{"id", "name"}]}. Viene registrato come utilizzo della knowledge base. Errori: errore dello strumento knowledge base not found or access denied, oppure il messaggio di errore del recupero.

list_files

Elenca i file che hai caricato o generato, dal più recente, una pagina alla volta. Non esiste uno strumento MCP per caricare file.

Lettura Autorizzazione files_get

Argomenti
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"files": [{"id", "name", "file_type"}], "total_count", "limit", "offset"}.

get_file

Recupera i metadati di un file di tua proprietà, per esempio per passarne l’ID a edit_image.

Lettura Autorizzazione files_get

Argomenti
id number obbligatorio
L’ID del file.

Risultato: {"id", "name", "file_type"}, senza URL e senza contenuto. Errori: errore dello strumento file not found or access denied.

Progetti e team

list_projects

Elenca i progetti di cui sei proprietario o che sono condivisi con te, una pagina alla volta.

Lettura Autorizzazione projects_get

Argomenti
search string facoltativo
Corrispondenza su nome e descrizione, senza distinzione tra maiuscole e minuscole.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"projects": [{"id", "name", "slug", "description"}], "total_count", "limit", "offset"}.

get_project

Recupera un progetto a cui hai accesso.

Lettura Autorizzazione projects_get

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"id", "name", "slug", "description", "instructions"}. Errori: errori dello strumento project not found, you don't have access to this project.

create_project

Crea un nuovo progetto di cui sei proprietario.

Scrittura Autorizzazione projects_manage

Argomenti
name string obbligatorio
Nome del progetto.
description string facoltativo
Breve descrizione.

Risultato: {"id", "slug", "name"}.

delete_project

Elimina un progetto di tua proprietà. Solo il proprietario può eliminarlo.

Scrittura Distruttivo Autorizzazione projects_delete

Argomenti
id string obbligatorio
ID numerico o slug.

Risultato: {"deleted": true}. Errori: errori dello strumento project not found, you don't have access to this project.

list_workspace_members

Elenca i membri del tuo workspace, una pagina alla volta.

Lettura Autorizzazione organization_get

Argomenti
search string facoltativo
Confrontato con nome ed email.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"members": [{"id", "email", "first_name", "last_name", "is_owner", "permissions": [...]}], "total_count", "limit", "offset"}. Il proprietario del workspace compare sempre con permissions: ["admin"].

list_teams

Elenca tutti i team del tuo workspace. Senza paginazione.

Lettura Autorizzazione teams_get

Argomenti
search string facoltativo
Confrontato con nome e descrizione del team.

Risultato: {"teams": [{"id", "name", "description", "color", "member_count"}]}.

list_team_members

Elenca i membri di un team, una pagina alla volta. Devi essere un amministratore del workspace o un membro del team.

Lettura Autorizzazione teams_get

Argomenti
team_id number obbligatorio
Da list_teams.
search string facoltativo
Confrontato con nome ed email del membro.
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"members": [{"id", "email", "first_name", "last_name", "role"}], "total_count", "limit", "offset"}. Errori: errori JSON-RPC team not found, not authorized to view the members of this team.

Generazione di media

Gli strumenti per i media non accettano argomenti sul modello: StickyPrompts usa il modello configurato per ciascun tipo di media. I risultati includono path, l’URL diretto del file salvato (non un link firmato o con scadenza), e _attachments, un elenco di elementi {"type": "file", "id": <file id>} i cui id puoi passare ad altri strumenti.

generate_image

Genera un’immagine a partire da un prompt.

Scrittura Autorizzazione image_generation_manage

Argomenti
prompt string obbligatorio
Il prompt dell’immagine. Non è contrassegnato come obbligatorio nello schema comunicato, ma senza di esso la chiamata fallisce.

Risultato (sincrono): {"path": "<storage URL>", "_attachments": [{"type": "file", "id": <file id>}]}.

edit_image

Modifica un’immagine esistente in base a delle istruzioni. Restituisce un nuovo file.

Scrittura Autorizzazione image_generation_manage

Argomenti
prompt string obbligatorio
Le istruzioni di modifica. Non è contrassegnato come obbligatorio nello schema comunicato, ma senza di esso la chiamata fallisce.
file_id number obbligatorio
Il file immagine da modificare. Deve essere un file di tua proprietà. Non è contrassegnato come obbligatorio nello schema comunicato, ma senza di esso la chiamata fallisce.

Risultato: stessa forma di generate_image, con un nuovo id di file. Errori: errore JSON-RPC file not found or access denied.

generate_video

Avvia la generazione di un video a partire da un prompt, eventualmente animando un’immagine iniziale. Risponde subito con l’id e lo stato della generazione; interroga get_video_generation_status finché non riporta done o error. La generazione può richiedere diversi minuti.

Scrittura Asincrono Autorizzazione video_generation_manage

Argomenti
prompt string obbligatorio
Il prompt del video.
starting_image_file_id number facoltativo
Un file immagine da animare come primo fotogramma.
last_frame_file_id number facoltativo
Un file immagine da usare come ultimo fotogramma. Richiede starting_image_file_id; non si può combinare con reference_image_ids.
reference_image_ids array of integer facoltativo
File immagine da usare come riferimento. Non si può combinare con starting_image_file_id né con last_frame_file_id.
aspect_ratio string facoltativo predefinito 16:9
Per esempio "16:9". Deve essere supportato dal modello.
resolution string facoltativo
Per esempio "1080p". Il valore predefinito è la prima risoluzione supportata dal modello.
duration_seconds number facoltativo
Il valore predefinito è il massimo del modello. Deve rientrare nell’intervallo del modello per la risoluzione scelta.

Risultato: {"id": <video generation id>, "status": "queued"}. Errori: errori JSON-RPC per un formato, una risoluzione o una durata non supportati, una combinazione di immagini non valida o un modello che il tuo workspace non può usare.

get_video_generation_status

Controlla una generazione video avviata da generate_video. Lo stato è queued, processing, done o error. Finché è queued o processing, attendi (per esempio 15-60 secondi) e chiama di nuovo.

Lettura Autorizzazione video_generation_get

Argomenti
video_generation_id number obbligatorio
L’id restituito da generate_video.

Risultato: {"id", "status"}, più error quando lo stato è error, oppure path e _attachments quando è done. Errori: una generazione non trovata produce un errore JSON-RPC.

delete_video_generation

Elimina una generazione video di tua proprietà.

Scrittura Distruttivo Autorizzazione video_generation_delete

Argomenti
video_generation_id number obbligatorio
L’id della generazione video.

Risultato: {"deleted": true}.

generate_speech

Converte un testo in audio parlato. Risponde quando l’audio è pronto.

Scrittura Autorizzazione tts_generation_manage

Argomenti
text string obbligatorio
Il testo da leggere.
voice string facoltativo
Identificatore della voce. Per impostazione predefinita, la voce predefinita del modello.
language string facoltativo
Per impostazione predefinita, la lingua viene rilevata dal testo. Viene rifiutato se il modello elenca le lingue supportate e questa non è tra quelle.

Risultato (sincrono): {"path": "<storage URL>", "_attachments": [{"type": "file", "id": <file id>}]}. Non viene restituito alcun id di generazione.

get_tts_generation_status

Controlla una generazione di sintesi vocale passata. Lo stato è queued, processing, done o error. Poiché generate_speech non restituisce un id di generazione, dovresti usare un id ottenuto dall’app o dall’API REST.

Lettura Autorizzazione tts_generation_get

Argomenti
tts_generation_id number obbligatorio
L’id della generazione vocale.

Risultato: {"id", "status"}, più error, oppure path e _attachments quando è completata. Errori: errore dello strumento tts generation not found.

delete_tts_generation

Elimina una generazione di sintesi vocale di tua proprietà.

Scrittura Distruttivo Autorizzazione tts_generation_delete

Argomenti
tts_generation_id number obbligatorio
L’id della generazione vocale.

Risultato: {"deleted": true}.

generate_music

Genera un brano musicale a partire da un prompt testuale. Risponde quando l’audio è pronto.

Scrittura Autorizzazione music_generation_manage

Argomenti
prompt string obbligatorio
Il prompt musicale.
duration_seconds number facoltativo
Il valore predefinito è il massimo del modello.
output_format string facoltativo
Per esempio "mp3" o "wav". Il valore predefinito è quello del modello.
instrumental boolean facoltativo predefinito false
Solo strumentale, senza voce né testo.

Risultato (sincrono): {"path", "duration_seconds", "_attachments"}, più lyrics quando il modello ha prodotto un testo. Non viene restituito alcun id di generazione.

get_music_generation_status

Controlla una generazione musicale passata. Lo stato è queued, processing, done o error. Poiché generate_music non restituisce un id di generazione, dovresti usare un id ottenuto dall’app o dall’API REST.

Lettura Autorizzazione music_generation_get

Argomenti
music_generation_id number obbligatorio
L’id della generazione musicale.

Risultato: {"id", "status"}, più error, oppure path, duration_seconds, _attachments (e lyrics, se presente) quando è completata. Errori: errore dello strumento music generation not found.

delete_music_generation

Elimina una generazione musicale di tua proprietà.

Scrittura Distruttivo Autorizzazione music_generation_delete

Argomenti
music_generation_id number obbligatorio
L’id della generazione musicale.

Risultato: {"deleted": true}.

Trascrizione

transcribe

Trascrive in testo un audio o un video da un URL pubblico. Risponde quando la trascrizione è pronta, quindi per i media lunghi imposta nel tuo client un timeout generoso.

Scrittura Autorizzazione transcription_manage

Argomenti
url string obbligatorio
URL pubblico di un file audio o video.

Risultato (sincrono): {"text": "<transcript>", "_attachments": [{"type": "transcription", "id": <transcription id>}]}. L’id della trascrizione si trova solo in _attachments.

get_transcription_status

Controlla una trascrizione passata. Lo stato è queued, fetching, preparing, processing, done o error.

Lettura Autorizzazione transcription_get

Argomenti
transcription_id number obbligatorio
L’id della trascrizione.

Risultato: {"id", "status"}, più error, oppure text e _attachments quando è completata. Errori: errore dello strumento transcription not found.

delete_transcription

Elimina una trascrizione di tua proprietà.

Scrittura Distruttivo Autorizzazione transcription_delete

Argomenti
transcription_id number obbligatorio
L’id della trascrizione.

Risultato: {"deleted": true}.

Fogli di calcolo

L’elaborazione dei fogli di calcolo esegue un template di prompt su ogni riga di un foglio xlsx e scrive la risposta in una colonna di output. Tutti e cinque gli strumenti restituiscono un oggetto task: {"task_id", "status", "processed_rows", "total_rows", "original_file_id", "created_at", "credit_cost"}, più error, result_preview, eta e generated_file_id quando presenti. Valori di stato: queued, initializing, processing, paused, done, error.

list_spreadsheet_processing_tasks

Elenca i tuoi task di elaborazione dei fogli di calcolo, una pagina alla volta.

Lettura Autorizzazione spreadsheet_processing_get

Argomenti
limit number facoltativo predefinito 20
Dimensione della pagina.
offset number facoltativo predefinito 0
Elementi da saltare.

Risultato: {"tasks": [task], "total_count", "limit", "offset"}.

get_spreadsheet_processing_task

Recupera lo stato e l’avanzamento di un task di tua proprietà.

Lettura Autorizzazione spreadsheet_processing_get

Argomenti
task_id string obbligatorio
L’id restituito da start_spreadsheet_processing.

Risultato: un oggetto task. Errori: errore dello strumento task not found. Un polling eseguito subito dopo l’avvio può restituire brevemente questo errore mentre il task viene creato.

start_spreadsheet_processing

Avvia l’elaborazione di un file xlsx che hai già in StickyPrompts. Viene eseguito in background e restituisce subito un task_id; interroga get_spreadsheet_processing_task finché lo stato non è done o error.

Scrittura Asincrono Autorizzazione spreadsheet_processing_manage

Argomenti
file_id number obbligatorio
Un file xlsx di tua proprietà. Caricalo nell’app o tramite l’API REST, oppure importalo con import_storage_files.
prompt_template string obbligatorio
Il prompt eseguito per ogni riga.
output_column string obbligatorio
Lettera della colonna per i risultati, per esempio "D".
ai_model_id number obbligatorio
Da list_ai_models.
sheet_index number facoltativo predefinito 0
Indice del foglio, a partire da zero.
skip_non_empty_cells boolean facoltativo predefinito false
Salta le righe la cui cella di output ha già un valore.

Risultato: {"task_id": "<32-character id>"}. Errori: errore dello strumento file not found.

pause_spreadsheet_processing

Mette in pausa un task in corso di tua proprietà. Si possono mettere in pausa solo i task in stato queued, initializing o processing.

Scrittura Autorizzazione spreadsheet_processing_manage

Argomenti
task_id string obbligatorio
Il task da mettere in pausa.

Risultato: l’oggetto task. Errori: errori dello strumento task not found, file processing cannot be paused currently, file processing is already paused, file processing is already finished, file processing is not running.

resume_spreadsheet_processing

Riprende un task in pausa di tua proprietà. Il task torna in coda, e l’eventuale file di output parziale viene scartato e rigenerato.

Scrittura Asincrono Autorizzazione spreadsheet_processing_manage

Argomenti
task_id string obbligatorio
Il task da riprendere.

Risultato: l’oggetto task con status: "queued". Errori: errori dello strumento task not found, file processing is already running, file processing is already finished, file processing is not paused.

Integrazioni: email

Funziona con l’account email collegato in StickyPrompts (Postmark, Resend, SendGrid o SMTP). Le connessioni si configurano nell’app; consulta Invio di email.

list_email_connections

Elenca gli account email che hai collegato, personali o condivisi con il tuo workspace. Restituisce un elenco vuoto se non ce n’è nessuno collegato.

Lettura Autorizzazione integration_email_get

Nessun argomento. Risultato: {"connections": [{"connection_id", "provider", "name", "description", "sends_from"}]}.

send_email

Invia un’email tramite uno dei tuoi account email collegati. L’email viene recapitata davvero e l’invio non si può annullare, quindi conferma destinatari e contenuto prima di chiamarlo. È obbligatorio html_body oppure text_body.

Scrittura Autorizzazione integration_email_manage

Argomenti
connection_id number obbligatorio
Da list_email_connections.
to array of string obbligatorio
Indirizzi email dei destinatari.
subject string obbligatorio
Oggetto.
html_body string facoltativo
Corpo HTML. Invia questo, text_body o entrambi.
text_body string facoltativo
Corpo in testo semplice.
cc array of string facoltativo
Destinatari in CC.
bcc array of string facoltativo
Destinatari in CCN.
reply_to array of string facoltativo
Indirizzi di risposta.
from_email string facoltativo
Sostituisce il mittente predefinito della connessione. Il tuo provider email rifiuta gli indirizzi che non ha verificato.
from_name string facoltativo
Nome del mittente, da usare con from_email.
attachment_file_ids array of number facoltativo
File da allegare. Con una chiave API al momento fallisce con you do not have permission to use this file, perché gli allegati vengono risolti rispetto a una conversazione nell’app. Invia senza allegati.

Risultato: {"message_id": "...", "provider": "..."}.

Integrazioni: CRM

Funziona con ActiveCampaign, Brevo o Pipedrive collegati in StickyPrompts; consulta CRM. Gli strumenti di scrittura (add_crm_contact, edit_crm_contact, create_crm_deal) richiedono anche che la connessione stessa consenta l’accesso in scrittura. Per impostazione predefinita le connessioni sono in sola lettura.

list_crm_connections

Elenca gli account CRM che hai collegato, personali o condivisi con il tuo workspace. Restituisce un elenco vuoto se non ce n’è nessuno collegato.

Lettura Autorizzazione integration_crm_get

Nessun argomento. Risultato: {"connections": [{"connection_id", "provider", "name", "description"}]}.

search_crm_contacts

Cerca contatti in un CRM collegato. Usalo prima di edit_crm_contact per trovare il contatto, o prima di add_crm_contact per evitare duplicati.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
query string obbligatorio
Un nome, un’email o un’azienda se il provider supporta la ricerca a testo libero, altrimenti un’email o un id esatti.
filters object facoltativo
Valori stringa, per esempio list_id, tag_id o status per ActiveCampaign, organization_id per Pipedrive.

Risultato: {"contacts": [{"remote_id", "provider", "contact"}]}.

list_crm_contacts

Scorre i contatti una pagina alla volta, nell’ordine del provider, senza query.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
limit number facoltativo
Dimensione della pagina, limitata in base al provider.
offset number facoltativo
Elementi da saltare. Ignorato da Pipedrive.
cursor string facoltativo
Solo Pipedrive: il next_cursor della pagina precedente.
filters object facoltativo
Filtri specifici del provider, per esempio filter_id per Pipedrive.

Risultato: {"contacts": [...], "has_more": bool, "next_cursor": "..."} (next_cursor viene omesso quando è vuoto).

add_crm_contact

Aggiunge un nuovo contatto. Crea sempre un nuovo contatto e non aggiorna mai uno esistente.

Scrittura Autorizzazione integration_crm_manage

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
email string obbligatorio
L’email del contatto.
first_name string facoltativo
Nome.
last_name string facoltativo
Cognome.
phone string facoltativo
Numero di telefono.
company string facoltativo
Azienda.
custom_fields object facoltativo
Campi specifici del provider con valori stringa. Le chiavi sconosciute vengono ignorate.
list_ids array of string facoltativo
Solo Brevo e ActiveCampaign. Aggiunge il contatto a queste liste.
tag_ids array of string facoltativo
Solo ActiveCampaign. Aggiunge questi tag.

Risultato: {"remote_id", "provider", "contact": {...}}.

edit_crm_contact

Modifica un contatto esistente, cercato per email. Fallisce se non esiste alcun contatto con quell’email; non ne crea mai uno.

Scrittura Autorizzazione integration_crm_manage

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
email string obbligatorio
La chiave di ricerca, non un nuovo valore.
first_name string facoltativo
Nuovo nome.
last_name string facoltativo
Nuovo cognome.
phone string facoltativo
Nuovo numero di telefono.
company string facoltativo
Nuova azienda.
custom_fields object facoltativo
Campi specifici del provider con valori stringa.
list_ids array of string facoltativo
Solo Brevo e ActiveCampaign. Consente solo aggiunte.
tag_ids array of string facoltativo
Solo ActiveCampaign. Consente solo aggiunte.

I campi omessi restano invariati; una stringa vuota inviata esplicitamente svuota il campo. Risultato: {"remote_id", "provider", "contact": {...}}.

search_crm_deals

Cerca trattative per titolo o per email del contatto collegato. Usalo prima di create_crm_deal per verificare se esiste già una trattativa.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
query string obbligatorio
Il titolo di una trattativa o l’email di un contatto.
filters object facoltativo
Per esempio status, stage_id o owner_id per ActiveCampaign e Pipedrive, contact_ids o company_ids per Brevo.

Risultato: {"deals": [{"remote_id", "provider", "deal"}]}.

list_crm_deals

Scorre le trattative una pagina alla volta, nell’ordine del provider. Non tutti i provider CRM gestiscono le trattative; controlla prima il provider della connessione.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
limit number facoltativo
Dimensione della pagina, limitata in base al provider.
offset number facoltativo
Elementi da saltare. Ignorato da Pipedrive.
cursor string facoltativo
Solo Pipedrive: il next_cursor della pagina precedente.
filters object facoltativo
Filtri specifici del provider.

Risultato: {"deals": [...], "has_more", "next_cursor"}.

create_crm_deal

Crea una trattativa collegata a un contatto esistente. Non tutti i provider CRM gestiscono le trattative; controlla prima il provider della connessione.

Scrittura Autorizzazione integration_crm_manage

Argomenti
connection_id number obbligatorio
Da list_crm_connections.
title string obbligatorio
Titolo della trattativa.
contact_email string obbligatorio
Email di un contatto esistente.
value number facoltativo
Valore della trattativa (un numero decimale).
currency string facoltativo
Per esempio USD.

Risultato: {"remote_id", "provider", "deal": {"title", "value", "currency", "contact_email", "stage"}}.

list_crm_lists

Elenca le liste o i segmenti di contatti di un CRM collegato (solo Brevo e ActiveCampaign, non Pipedrive). Usa gli id come filtro list_id o in list_ids.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.

Risultato: {"lists": [{"id", "name"}]}.

list_crm_tags

Elenca i tag dei contatti di un CRM collegato (solo ActiveCampaign). Usa gli id come filtro tag_id o in tag_ids.

Lettura Autorizzazione integration_crm_get

Argomenti
connection_id number obbligatorio
Da list_crm_connections.

Risultato: {"tags": [{"id", "name"}]}.

Integrazioni: database

Funziona con i database MySQL, MariaDB, PostgreSQL e SQL Server collegati in StickyPrompts; consulta Database. Ogni connessione ha il proprio livello di autorizzazione, che è la vera protezione su ciò che una query può fare: read_only accetta solo una singola istruzione SELECT o WITH, create_update consente anche una singola INSERT o UPDATE, e full_access non applica alcun filtro.

list_database_connections

Elenca i database che hai collegato, personali o condivisi con il tuo workspace, con il database_permission di ciascuna connessione. Restituisce un elenco vuoto se non ce n’è nessuno collegato.

Lettura Autorizzazione integration_database_get

Nessun argomento. Risultato: {"connections": [{"connection_id", "provider", "name", "description", "database_permission"}]}.

list_database_tables

Elenca le tabelle e le viste di un database collegato, senza il dettaglio delle colonne.

Lettura Autorizzazione integration_database_get

Argomenti
connection_id number obbligatorio
Da list_database_connections.

Risultato: {"tables": ["schema.name", ...]}.

describe_database_tables

Recupera il dettaglio delle colonne (nome, tipo di dato, se accetta valori nulli) di tabelle specifiche.

Lettura Autorizzazione integration_database_get

Argomenti
connection_id number obbligatorio
Da list_database_connections.
tables array of string obbligatorio
Ciascuna nella forma "schema.name", come restituita da list_database_tables.

Risultato: {"tables": [{"schema", "name", "columns": [{"name", "data_type", "nullable"}]}]}. Errori: errore JSON-RPC per un riferimento a una tabella senza punto.

run_database_query

Esegue una singola istruzione su un database collegato, nei limiti del livello di autorizzazione della connessione. Il numero di righe e il timeout vengono limitati lato server.

Scrittura Distruttivo Autorizzazione integration_database_manage

Argomenti
connection_id number obbligatorio
Da list_database_connections.
query string obbligatorio
Una singola istruzione consentita dal livello di autorizzazione della connessione.
row_limit number facoltativo predefinito 100
Numero massimo di righe restituite, fino a 1000.
timeout_seconds number facoltativo predefinito 10
Timeout della query, fino a 30.

Risultato: {"columns": [...], "rows": [[...]], "row_count": n, "truncated": bool}. L’autorizzazione della chiave API decide solo se lo strumento può essere chiamato; collega il database come Read only se una chiave non deve mai modificare i dati.

Integrazioni: storage

Funziona con Google Drive. L’argomento provider di ogni strumento di storage accetta l’unico valore google_drive. Le connessioni di storage sono personali, non condivise con il workspace.

Diversi strumenti restituiscono un oggetto RemoteEntry: {"id", "name", "kind", "mime_type", "size", "modified_at", "icon_url", "web_url", "parent_id", "shared", "owned_by_me", "can_add_children", "importable", "import_name"}.

list_storage_connections

Elenca i cloud drive che hai collegato personalmente. Restituisce un elenco vuoto se non ce n’è nessuno collegato.

Lettura Autorizzazione integration_storage_get

Nessun argomento. Risultato: {"connections": [{"provider", "name", "description", "account_name"}]}.

browse_storage_folder

Elenca le cartelle e i file contenuti direttamente in una cartella. Ometti folder_id per sfogliare la radice.

Lettura Autorizzazione integration_storage_get

Argomenti
provider string obbligatorio
google_drive.
folder_id string facoltativo
La cartella da elencare. Omettilo per la radice.
page_token string facoltativo
Il next_page_token della pagina precedente.
page_size number facoltativo
Da 1 a 200; i valori fuori intervallo vengono riportati entro i limiti. Se omesso, vale il predefinito del provider.
kind string facoltativo
folder o file.

Risultato: {"entries": [RemoteEntry], "next_page_token", "breadcrumbs": [RemoteEntry]}. I breadcrumb partono dalla radice quando il provider è in grado di risolverli.

search_storage_files

Cerca in un drive collegato per nome o contenuto, eventualmente all’interno di una sola cartella.

Lettura Autorizzazione integration_storage_get

Argomenti
provider string obbligatorio
google_drive.
query string obbligatorio
Cosa cercare.
folder_id string facoltativo
Limita la ricerca a questa cartella.
page_token string facoltativo
Il next_page_token della pagina precedente.
page_size number facoltativo
Da 1 a 200; i valori fuori intervallo vengono riportati entro i limiti.
kind string facoltativo
folder o file.

Risultato: {"entries": [...], "next_page_token", "breadcrumbs": null}.

get_storage_entry

Recupera i metadati di un singolo file o cartella, a partire dall’id ottenuto da una navigazione o da una ricerca.

Lettura Autorizzazione integration_storage_get

Argomenti
provider string obbligatorio
google_drive.
entry_id string obbligatorio
L’id dell’elemento.

Risultato: un singolo RemoteEntry.

import_storage_files

Scarica file da un drive collegato e li salva come file di StickyPrompts. I file Google Docs, Sheets e Slides vengono convertiti in PDF, XLSX e PPTX; Google Forms, Sites e i progetti Apps Script non si possono importare. Ogni elemento riesce o fallisce in modo indipendente. È l’unico modo per portare un nuovo file in StickyPrompts tramite MCP.

Scrittura Autorizzazione integration_storage_manage

Argomenti
provider string obbligatorio
google_drive.
entry_ids array of string obbligatorio
Fino a 20 elementi. Oltre, si ottiene un errore.
project_id number facoltativo
Allega i file importati a questo progetto.

Risultato: {"files": [{"id", "name", "file_type"}], "failed": [{"entry_id", "error"}], "_attachments": [...]}. Controlla failed anche quando alcuni file sono andati a buon fine. Gli id dei file funzionano con edit_image, generate_video e start_spreadsheet_processing.

export_file_to_storage

Carica uno dei tuoi file di StickyPrompts in una cartella di un drive collegato. La cartella deve esistere già ed essere scrivibile dall’account collegato.

Scrittura Autorizzazione integration_storage_manage

Argomenti
provider string obbligatorio
google_drive.
file_id number obbligatorio
Un file di tua proprietà, da list_files, da un risultato di media o da un’importazione.
folder_id string obbligatorio
Cartella di destinazione, da browse_storage_folder o search_storage_files.
name string facoltativo
Sostituisce il nome del file remoto.

Risultato: {"entry": RemoteEntry} per il file caricato.

search

Cerca tra i tuoi prompt e le tue conversazioni per nome e testo. A differenza della ricerca nell’app, non include i prompt condivisi con te né il catalogo pubblico dei prompt.

Lettura Autorizzazione search

Argomenti
query string obbligatorio
Cosa cercare.

Risultato: {"prompts": [{"id", "name", "description"}], "conversations": [{"id", "name", "relevant_message": {"id", "text"}}]}, al massimo 5 per tipo. Il testo trovato viene ridotto a circa 50 caratteri attorno alla prima corrispondenza, racchiusa in <span class="search-highlight">...</span>.

Solo per il personale

get_usage_statistics

Restituisce l’utilizzo di crediti e il numero di esecuzioni del chiamante in un intervallo di date, per categoria. Richiede statistics_get, un’autorizzazione riservata al personale di StickyPrompts che i clienti non possono assegnare a una chiave, quindi questo strumento non compare mai con le chiavi dei clienti. Gli amministratori del workspace vedono l’utilizzo nell’app, in Utilizzo, crediti e fatturazione.

Lettura Autorizzazione statistics_get (solo per il personale)

Argomenti
from_date string obbligatorio
YYYY-MM-DD.
to_date string obbligatorio
YYYY-MM-DD, compresa l’intera giornata.

Risultato: {"from_date", "to_date", "total_credits", "total_runs", "by_category": [{"category", "credits", "runs"}]}.