Referencia de herramientas
Todas las herramientas que el servidor MCP de StickyPrompts expone a las claves de API, agrupadas por área, con sus argumentos, el permiso que necesitan, si escriben datos y cómo devuelven el resultado.
Esta es la lista completa de herramientas que puede ver una clave de API. Tu cliente solo ve las herramientas cuyo permiso tiene tu clave (consulta Introducción a MCP). Cada herramienta devuelve un único elemento de texto que contiene un documento JSON; la estructura del resultado se indica en cada herramienta.
Cómo leer esta página. Las herramientas marcadas como Lectura solo leen. Las marcadas como Escritura crean, modifican, eliminan o envían algo. Las marcadas como Asíncrona responden antes de que termine el trabajo, y hay que consultar su estado periódicamente. Los argumentos de tipo number se leen como enteros, salvo que se indique lo contrario. Las herramientas paginadas aceptan limit y offset, y devuelven total_count, limit y offset.
De un vistazo
| Área | Herramientas |
|---|---|
| Chat y conversaciones | send_message, get_conversation, list_conversations, delete_conversation |
| Prompts y ejecuciones | list_prompts, get_prompt, run_prompt, custom_run, list_ai_models |
| Agentes y flujos de trabajo | list_agents, get_agent, list_workflow_tasks, get_workflow_task, run_workflow_task |
| Conocimiento y archivos | list_knowledge_bases, search_knowledge_base, list_files, get_file |
| Proyectos y equipos | list_projects, get_project, create_project, delete_project, list_workspace_members, list_teams, list_team_members |
| Generación multimedia | generate_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 |
| Transcripción | transcribe, get_transcription_status, delete_transcription |
| Hojas de cálculo | list_spreadsheet_processing_tasks, get_spreadsheet_processing_task, start_spreadsheet_processing, pause_spreadsheet_processing, resume_spreadsheet_processing |
| Integraciones: correo electrónico | list_email_connections, send_email |
| Integraciones: CRM | list_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 |
| Integraciones: bases de datos | list_database_connections, list_database_tables, describe_database_tables, run_database_query |
| Integraciones: almacenamiento | list_storage_connections, browse_storage_folder, search_storage_files, get_storage_entry, import_storage_files, export_file_to_storage |
| Búsqueda | search |
| Solo para el personal | get_usage_statistics |
Chat y conversaciones
send_message
Envía un mensaje a un modelo de IA y obtén su respuesta de forma síncrona. Omite conversation_id para iniciar una conversación nueva; pásalo para continuar una existente. Así se crea o se actualiza la misma conversación que ves en la aplicación de StickyPrompts.
Escritura Permiso conversations_manage
-
messagestring obligatorio - El mensaje que se envía.
-
conversation_idnumber opcional - Una conversación existente de la que eres propietario. Omítelo para iniciar una nueva.
-
ai_model_idnumber opcional - El modelo para una conversación nueva, obtenido de
list_ai_models. Se ignora al continuar una conversación, que conserva su propio modelo. Pásalo siempre en una conversación nueva: sin él, la llamada falla actualmente conno AI model is selected, try reselecting model.
Resultado: {"conversation_id": <id>, "text": "<assistant reply>"}. Si un mensaje menciona a uno de tus agentes por su etiqueta (@mentions), se dirige a ese agente, igual que en la aplicación. Errores: error de herramienta conversation not found; los fallos del modelo y del proveedor son errores JSON-RPC.
get_conversation
Obtén una conversación de la que eres propietario, con el historial completo de mensajes.
Lectura Permiso conversations_get
-
conversation_idnumber obligatorio - La conversación que quieres leer.
Resultado: {"id", "name", "messages": [{"is_user": bool, "text": "..."}]}. Errores: error de herramienta conversation not found.
list_conversations
Lista tus propias conversaciones interactivas (ni las compartidas con un equipo ni las de agentes), página a página y empezando por las actualizadas más recientemente.
Lectura Permiso conversations_get
-
searchstring opcional - Se compara con el texto de los mensajes.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"conversations": [{"id", "name"}], "total_count", "limit", "offset"}.
delete_conversation
Elimina una conversación de la que eres propietario.
Escritura Destructiva Permiso conversations_delete
-
conversation_idnumber obligatorio - La conversación que quieres eliminar.
Resultado: {"deleted": true}. Errores: error de herramienta conversation not found.
Prompts y ejecuciones
list_prompts
Lista tus propios prompts (ni los de proyectos ni los que se han compartido contigo), página a página. Después usa get_prompt para ver las variables de un prompt antes de llamar a run_prompt.
Lectura Permiso prompts_get
-
searchstring opcional - Se compara con el nombre y la descripción.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"prompts": [{"id", "name", "slug", "description", "is_favorite"}], "total_count", "limit", "offset"}.
get_prompt
Obtén un prompt del que eres propietario, con el contenido de su versión actual y las variables que acepta.
Lectura Permiso prompts_get
-
idstring obligatorio - ID numérico o slug.
Resultado: {"id", "name", "slug", "description", "content", "variables": [{"slug", "name", "description", "required", "default_value"}]}. Errores: error de herramienta prompt not found, también para los prompts compartidos contigo de los que no eres propietario.
run_prompt
Rellena las variables de un prompt y ejecútalo con un modelo; devuelve el texto de la respuesta. Se ejecuta como una única llamada independiente y no crea ninguna conversación interactiva en la aplicación.
Escritura Permiso run_prompt
-
idstring obligatorio - ID numérico o slug de un prompt del que eres propietario.
-
ai_model_idnumber obligatorio - Obtenido de
list_ai_models. No existe un valor"auto". -
variablesobject opcional - Mapa de slugs de variable a valores de tipo string, por ejemplo
{"customer": "Bluebird Market"}. Las variables omitidas usan su valor predeterminado; las claves desconocidas se ignoran.
Resultado: {"text": "<model response>"}. Errores: los errores de herramienta prompt not found, prompt has no current version, variable "<slug>" must be a string y missing a value for a required variable, o el mensaje de datos sensibles si un guardrail bloquea el prompt ya rellenado. Los fallos del modelo y del proveedor son errores JSON-RPC.
custom_run
Ejecuta un texto de prompt directamente con un modelo y devuelve el texto de la respuesta, sin necesidad de un prompt guardado. Se ejecuta como una única llamada independiente y no crea ninguna conversación.
Escritura Permiso custom_run
-
promptstring obligatorio - El texto que se envía.
-
ai_model_idnumber obligatorio - Obtenido de
list_ai_models.
Resultado: {"text": "<model response>"}.
list_ai_models
Lista los modelos con los que puedes ejecutar, excepto los restringidos por tu espacio de trabajo (incluidas las reglas de residencia de datos) y, de forma predeterminada, los modelos obsoletos.
Lectura Permiso ai_models_get
-
searchstring opcional - Se compara con el nombre del modelo.
-
include_deprecatedboolean opcional por defectofalse - Incluye los modelos obsoletos.
Resultado: {"models": [{"id", "name", "powered_by", "description", "premium"}]}, en el orden de la plataforma.
Agentes y flujos de trabajo
list_agents
Lista tus propios agentes (no los que te ha compartido un equipo o el espacio de trabajo). Sin paginación.
Lectura Permiso agents_get
-
searchstring opcional - Se compara con el nombre del agente.
Resultado: {"agents": [{"id", "name", "slug", "tag"}]}. El tag es lo que usas para mencionar al agente (@mention) en send_message.
get_agent
Obtén un agente al que tienes acceso, con su prompt de sistema y el modelo configurado.
Lectura Permiso agents_get
-
idstring obligatorio - ID numérico o slug.
Resultado: {"id", "name", "slug", "description", "system_prompt", "ai_model_id", "ai_model_name"}. Errores: errores de herramienta agent not found y you don't have access to this agent.
list_workflow_tasks
Lista tus propias tareas de flujos de trabajo programadas, página a página.
Lectura Permiso workflow_tasks_get
-
searchstring opcional - Coincidencia con el nombre, sin distinguir mayúsculas de minúsculas.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"workflow_tasks": [{"id", "name", "slug", "enabled"}], "total_count", "limit", "offset"}.
get_workflow_task
Obtén una tarea de flujo de trabajo que gestionas, con sus instrucciones y su tasa de éxito.
Lectura Permiso workflow_tasks_get
-
idstring obligatorio - ID numérico o slug.
Resultado: {"id", "name", "slug", "description", "instructions", "enabled", "total_run_count", "success_rate"}. Errores: error de herramienta workflow task not found or access denied.
run_workflow_task
Inicia ahora mismo una ejecución de una tarea de flujo de trabajo, fuera de su programación. Responde de inmediato con el id y el estado de la nueva ejecución; no espera a que la ejecución termine.
Escritura Asíncrona Permiso workflow_tasks_manage
-
idstring obligatorio - ID numérico o slug.
Resultado: {"execution_id": <id>, "status": "running"}. No hay ninguna herramienta MCP para leer el resultado de una ejecución: cuando termina, los campos total_run_count y success_rate de get_workflow_task lo reflejan. Si el propietario se ha quedado sin cuota, la ejecución falla con quota exceeded. Errores: error de herramienta workflow task not found or access denied.
Conocimiento y archivos
list_knowledge_bases
Lista las bases de conocimiento de las que eres propietario o a las que te han dado acceso.
Lectura Permiso knowledge_bases_get
Sin argumentos. Resultado: {"knowledge_bases": [{"id", "name", "description"}]}.
search_knowledge_base
Busca en una base de conocimiento los fragmentos relevantes para una consulta y devuelve esos fragmentos junto con los archivos de los que proceden. Es la misma búsqueda semántica que usa una conversación; no tiene equivalente en REST.
Lectura Permiso knowledge_bases_get
-
knowledge_base_idnumber obligatorio - Obtenido de
list_knowledge_bases. -
querystring obligatorio - Lo que quieres buscar.
Resultado: {"context": "<retrieved passages as text>", "files": [{"id", "name"}]}. Se registra como uso de la base de conocimiento. Errores: error de herramienta knowledge base not found or access denied, o el mensaje de error de la recuperación.
list_files
Lista tus propios archivos subidos y generados, página a página y empezando por los más recientes. No hay ninguna herramienta MCP para subir archivos.
Lectura Permiso files_get
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"files": [{"id", "name", "file_type"}], "total_count", "limit", "offset"}.
get_file
Obtén los metadatos de un archivo del que eres propietario, por ejemplo para pasar su ID a edit_image.
Lectura Permiso files_get
-
idnumber obligatorio - El ID del archivo.
Resultado: {"id", "name", "file_type"}, sin URL ni contenido. Errores: error de herramienta file not found or access denied.
Proyectos y equipos
list_projects
Lista los proyectos de los que eres propietario o que se han compartido contigo, página a página.
Lectura Permiso projects_get
-
searchstring opcional - Coincidencia con el nombre y la descripción, sin distinguir mayúsculas de minúsculas.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"projects": [{"id", "name", "slug", "description"}], "total_count", "limit", "offset"}.
get_project
Obtén un proyecto al que tienes acceso.
Lectura Permiso projects_get
-
idstring obligatorio - ID numérico o slug.
Resultado: {"id", "name", "slug", "description", "instructions"}. Errores: errores de herramienta project not found y you don't have access to this project.
create_project
Crea un proyecto nuevo del que serás propietario.
Escritura Permiso projects_manage
-
namestring obligatorio - Nombre del proyecto.
-
descriptionstring opcional - Descripción breve.
Resultado: {"id", "slug", "name"}.
delete_project
Elimina un proyecto del que eres propietario. Solo el propietario puede eliminarlo.
Escritura Destructiva Permiso projects_delete
-
idstring obligatorio - ID numérico o slug.
Resultado: {"deleted": true}. Errores: errores de herramienta project not found y you don't have access to this project.
list_workspace_members
Lista los miembros de tu espacio de trabajo, página a página.
Lectura Permiso organization_get
-
searchstring opcional - Se compara con el nombre y el correo electrónico.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"members": [{"id", "email", "first_name", "last_name", "is_owner", "permissions": [...]}], "total_count", "limit", "offset"}. El propietario del espacio de trabajo siempre aparece con permissions: ["admin"].
list_teams
Lista todos los equipos de tu espacio de trabajo. Sin paginación.
Lectura Permiso teams_get
-
searchstring opcional - Se compara con el nombre y la descripción del equipo.
Resultado: {"teams": [{"id", "name", "description", "color", "member_count"}]}.
list_team_members
Lista los miembros de un equipo, página a página. Tienes que ser administrador del espacio de trabajo o miembro del equipo.
Lectura Permiso teams_get
-
team_idnumber obligatorio - Obtenido de
list_teams. -
searchstring opcional - Se compara con el nombre y el correo electrónico del miembro.
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"members": [{"id", "email", "first_name", "last_name", "role"}], "total_count", "limit", "offset"}. Errores: errores JSON-RPC team not found y not authorized to view the members of this team.
Generación multimedia
Las herramientas multimedia no aceptan ningún argumento de modelo: StickyPrompts usa el modelo configurado para cada tipo de contenido. Los resultados incluyen path, la URL directa del archivo almacenado (no un enlace firmado ni con caducidad), y _attachments, una lista de elementos {"type": "file", "id": <file id>} cuyos ids puedes pasar a otras herramientas.
generate_image
Genera una imagen a partir de un prompt.
Escritura Permiso image_generation_manage
-
promptstring obligatorio - El prompt de la imagen. No figura como obligatorio en el esquema anunciado, pero la llamada falla sin él.
Resultado (síncrono): {"path": "<storage URL>", "_attachments": [{"type": "file", "id": <file id>}]}.
edit_image
Edita una imagen existente según unas instrucciones. Devuelve un archivo nuevo.
Escritura Permiso image_generation_manage
-
promptstring obligatorio - Las instrucciones de edición. No figura como obligatorio en el esquema anunciado, pero la llamada falla sin él.
-
file_idnumber obligatorio - El archivo de imagen que se va a editar. Debe ser un archivo del que seas propietario. No figura como obligatorio en el esquema anunciado, pero la llamada falla sin él.
Resultado: la misma estructura que generate_image, con un id de archivo nuevo. Errores: error JSON-RPC file not found or access denied.
generate_video
Empieza a generar un vídeo a partir de un prompt y, opcionalmente, anima una imagen inicial. Responde de inmediato con el id y el estado de la generación; consulta get_video_generation_status hasta que indique done o error. La generación puede tardar varios minutos.
Escritura Asíncrona Permiso video_generation_manage
-
promptstring obligatorio - El prompt del vídeo.
-
starting_image_file_idnumber opcional - Un archivo de imagen que se anima como primer fotograma.
-
last_frame_file_idnumber opcional - Un archivo de imagen que se usa como último fotograma. Requiere
starting_image_file_id; no se puede combinar conreference_image_ids. -
reference_image_idsarray of integer opcional - Archivos de imagen que se usan como referencia. No se puede combinar con
starting_image_file_idni conlast_frame_file_id. -
aspect_ratiostring opcional por defecto16:9 - Por ejemplo,
"16:9". Debe ser una relación de aspecto que admita el modelo. -
resolutionstring opcional - Por ejemplo,
"1080p". De forma predeterminada, la primera resolución que admite el modelo. -
duration_secondsnumber opcional - De forma predeterminada, el máximo del modelo. Debe estar dentro del rango del modelo para la resolución elegida.
Resultado: {"id": <video generation id>, "status": "queued"}. Errores: errores JSON-RPC por una relación de aspecto, una resolución o una duración no admitidas, una combinación de imágenes no válida o un modelo que tu espacio de trabajo no puede usar.
get_video_generation_status
Comprueba una generación de vídeo iniciada con generate_video. El estado es queued, processing, done o error. Mientras esté en queued o processing, espera (por ejemplo, entre 15 y 60 segundos) y vuelve a llamar.
Lectura Permiso video_generation_get
-
video_generation_idnumber obligatorio - El id que devuelve
generate_video.
Resultado: {"id", "status"}, más error cuando el estado es error, o path y _attachments cuando es done. Errores: si no se encuentra la generación, se devuelve un error JSON-RPC.
delete_video_generation
Elimina una generación de vídeo de la que eres propietario.
Escritura Destructiva Permiso video_generation_delete
-
video_generation_idnumber obligatorio - El id de la generación de vídeo.
Resultado: {"deleted": true}.
generate_speech
Convierte texto en audio hablado. Responde cuando el audio está listo.
Escritura Permiso tts_generation_manage
-
textstring obligatorio - El texto que se va a leer en voz alta.
-
voicestring opcional - Identificador de la voz. De forma predeterminada, la voz predeterminada del modelo.
-
languagestring opcional - De forma predeterminada, el idioma se detecta a partir del texto. Se rechaza si el modelo indica una lista de idiomas admitidos y este no está entre ellos.
Resultado (síncrono): {"path": "<storage URL>", "_attachments": [{"type": "file", "id": <file id>}]}. No se devuelve ningún id de generación.
get_tts_generation_status
Comprueba una generación de texto a voz anterior. El estado es queued, processing, done o error. Como generate_speech no devuelve ningún id de generación, tendrías que usar un id obtenido en la aplicación o con la API REST.
Lectura Permiso tts_generation_get
-
tts_generation_idnumber obligatorio - El id de la generación de voz.
Resultado: {"id", "status"}, más error, o path y _attachments cuando ha terminado. Errores: error de herramienta tts generation not found.
delete_tts_generation
Elimina una generación de texto a voz de la que eres propietario.
Escritura Destructiva Permiso tts_generation_delete
-
tts_generation_idnumber obligatorio - El id de la generación de voz.
Resultado: {"deleted": true}.
generate_music
Genera una pieza musical a partir de un prompt de texto. Responde cuando el audio está listo.
Escritura Permiso music_generation_manage
-
promptstring obligatorio - El prompt de la música.
-
duration_secondsnumber opcional - De forma predeterminada, el máximo del modelo.
-
output_formatstring opcional - Por ejemplo,
"mp3"o"wav". De forma predeterminada, el formato predeterminado del modelo. -
instrumentalboolean opcional por defectofalse - Solo instrumental, sin voces ni letra.
Resultado (síncrono): {"path", "duration_seconds", "_attachments"}, más lyrics cuando el modelo ha generado letra. No se devuelve ningún id de generación.
get_music_generation_status
Comprueba una generación de música anterior. El estado es queued, processing, done o error. Como generate_music no devuelve ningún id de generación, tendrías que usar un id obtenido en la aplicación o con la API REST.
Lectura Permiso music_generation_get
-
music_generation_idnumber obligatorio - El id de la generación de música.
Resultado: {"id", "status"}, más error, o path, duration_seconds y _attachments (y lyrics, si hay letra) cuando ha terminado. Errores: error de herramienta music generation not found.
delete_music_generation
Elimina una generación de música de la que eres propietario.
Escritura Destructiva Permiso music_generation_delete
-
music_generation_idnumber obligatorio - El id de la generación de música.
Resultado: {"deleted": true}.
Transcripción
transcribe
Transcribe a texto un audio o un vídeo a partir de una URL pública. Responde cuando la transcripción está lista, así que configura en tu cliente un tiempo de espera generoso para los archivos largos.
Escritura Permiso transcription_manage
-
urlstring obligatorio - URL pública de un archivo de audio o vídeo.
Resultado (síncrono): {"text": "<transcript>", "_attachments": [{"type": "transcription", "id": <transcription id>}]}. El id de la transcripción solo aparece en _attachments.
get_transcription_status
Comprueba una transcripción anterior. El estado es queued, fetching, preparing, processing, done o error.
Lectura Permiso transcription_get
-
transcription_idnumber obligatorio - El id de la transcripción.
Resultado: {"id", "status"}, más error, o text y _attachments cuando ha terminado. Errores: error de herramienta transcription not found.
delete_transcription
Elimina una transcripción de la que eres propietario.
Escritura Destructiva Permiso transcription_delete
-
transcription_idnumber obligatorio - El id de la transcripción.
Resultado: {"deleted": true}.
Hojas de cálculo
El procesamiento de hojas de cálculo ejecuta una plantilla de prompt en cada fila de una hoja xlsx y escribe la respuesta en una columna de salida. Las cinco herramientas devuelven un objeto de tarea: {"task_id", "status", "processed_rows", "total_rows", "original_file_id", "created_at", "credit_cost"}, más error, result_preview, eta y generated_file_id cuando existen. Valores de estado: queued, initializing, processing, paused, done, error.
list_spreadsheet_processing_tasks
Lista tus propias tareas de procesamiento de hojas de cálculo, página a página.
Lectura Permiso spreadsheet_processing_get
-
limitnumber opcional por defecto20 - Tamaño de página.
-
offsetnumber opcional por defecto0 - Elementos que se omiten.
Resultado: {"tasks": [task], "total_count", "limit", "offset"}.
get_spreadsheet_processing_task
Obtén el estado y el progreso de una tarea de la que eres propietario.
Lectura Permiso spreadsheet_processing_get
-
task_idstring obligatorio - El id que devuelve
start_spreadsheet_processing.
Resultado: un objeto de tarea. Errores: error de herramienta task not found. Si consultas el estado justo después de iniciar la tarea, puede que recibas brevemente este error mientras la tarea se está creando.
start_spreadsheet_processing
Inicia el procesamiento de un archivo xlsx que ya tienes en StickyPrompts. Se ejecuta en segundo plano y devuelve un task_id al momento; consulta get_spreadsheet_processing_task hasta que el estado sea done o error.
Escritura Asíncrona Permiso spreadsheet_processing_manage
-
file_idnumber obligatorio - Un archivo xlsx del que eres propietario. Súbelo en la aplicación o con la API REST, o tráelo con
import_storage_files. -
prompt_templatestring obligatorio - El prompt que se ejecuta para cada fila.
-
output_columnstring obligatorio - Letra de la columna para los resultados, por ejemplo
"D". -
ai_model_idnumber obligatorio - Obtenido de
list_ai_models. -
sheet_indexnumber opcional por defecto0 - Índice de la hoja, empezando por cero.
-
skip_non_empty_cellsboolean opcional por defectofalse - Omite las filas cuya celda de salida ya tiene un valor.
Resultado: {"task_id": "<32-character id>"}. Errores: error de herramienta file not found.
pause_spreadsheet_processing
Pausa una tarea en curso de la que eres propietario. Solo se pueden pausar las tareas en estado queued, initializing o processing.
Escritura Permiso spreadsheet_processing_manage
-
task_idstring obligatorio - La tarea que quieres pausar.
Resultado: el objeto de tarea. Errores: errores de herramienta task not found, file processing cannot be paused currently, file processing is already paused, file processing is already finished y file processing is not running.
resume_spreadsheet_processing
Reanuda una tarea pausada de la que eres propietario. La tarea vuelve a la cola, y cualquier archivo de salida parcial se descarta y se genera de nuevo.
Escritura Asíncrona Permiso spreadsheet_processing_manage
-
task_idstring obligatorio - La tarea que quieres reanudar.
Resultado: el objeto de tarea con status: "queued". Errores: errores de herramienta task not found, file processing is already running, file processing is already finished y file processing is not paused.
Integraciones: correo electrónico
Funciona con la cuenta de correo electrónico conectada en StickyPrompts (Postmark, Resend, SendGrid o SMTP). Las conexiones se configuran en la aplicación; consulta Envío de correo electrónico.
list_email_connections
Lista las cuentas de correo electrónico que has conectado, personales o compartidas con tu espacio de trabajo. Devuelve una lista vacía si no hay ninguna conectada.
Lectura Permiso integration_email_get
Sin argumentos. Resultado: {"connections": [{"connection_id", "provider", "name", "description", "sends_from"}]}.
send_email
Envía un correo electrónico a través de una de tus cuentas de correo conectadas. El correo se entrega de verdad y el envío no se puede deshacer, así que confirma los destinatarios y el contenido antes de llamar a esta herramienta. Es obligatorio html_body o text_body.
Escritura Permiso integration_email_manage
-
connection_idnumber obligatorio - Obtenido de
list_email_connections. -
toarray of string obligatorio - Direcciones de correo electrónico de los destinatarios.
-
subjectstring obligatorio - Asunto.
-
html_bodystring opcional - Cuerpo en HTML. Envía este campo,
text_bodyo ambos. -
text_bodystring opcional - Cuerpo en texto sin formato.
-
ccarray of string opcional - Destinatarios en copia (CC).
-
bccarray of string opcional - Destinatarios en copia oculta (BCC).
-
reply_toarray of string opcional - Direcciones de respuesta (Reply-To).
-
from_emailstring opcional - Sustituye el remitente predeterminado de la conexión. Tu proveedor de correo rechaza las direcciones que no ha verificado.
-
from_namestring opcional - Nombre del remitente; se usa junto con
from_email. -
attachment_file_idsarray of number opcional - Archivos que se adjuntan. Con una clave de API, esto falla actualmente con
you do not have permission to use this file, porque los adjuntos se resuelven en el contexto de una conversación de la aplicación. Envía el correo sin adjuntos.
Resultado: {"message_id": "...", "provider": "..."}.
Integraciones: CRM
Funciona con ActiveCampaign, Brevo o Pipedrive conectados en StickyPrompts; consulta CRM. Las herramientas de escritura (add_crm_contact, edit_crm_contact, create_crm_deal) también necesitan que la propia conexión permita el acceso de escritura. De forma predeterminada, las conexiones son de solo lectura.
list_crm_connections
Lista las cuentas de CRM que has conectado, personales o compartidas con tu espacio de trabajo. Devuelve una lista vacía si no hay ninguna conectada.
Lectura Permiso integration_crm_get
Sin argumentos. Resultado: {"connections": [{"connection_id", "provider", "name", "description"}]}.
search_crm_contacts
Busca contactos en un CRM conectado. Úsala antes de edit_crm_contact para encontrar el contacto, o antes de add_crm_contact para evitar duplicados.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
querystring obligatorio - Un nombre, un correo electrónico o una empresa si el proveedor admite búsqueda de texto libre; en caso contrario, un correo electrónico o un id exactos.
-
filtersobject opcional - Valores de tipo string, por ejemplo
list_id,tag_idostatuspara ActiveCampaign, oorganization_idpara Pipedrive.
Resultado: {"contacts": [{"remote_id", "provider", "contact"}]}.
list_crm_contacts
Recorre los contactos página a página, en el orden propio del proveedor y sin ninguna consulta.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
limitnumber opcional - Tamaño de página, ajustado a los límites de cada proveedor.
-
offsetnumber opcional - Elementos que se omiten. Pipedrive lo ignora.
-
cursorstring opcional - Solo Pipedrive: el
next_cursorde la página anterior. -
filtersobject opcional - Filtros específicos del proveedor, por ejemplo
filter_idpara Pipedrive.
Resultado: {"contacts": [...], "has_more": bool, "next_cursor": "..."} (next_cursor se omite cuando está vacío).
add_crm_contact
Añade un contacto nuevo. Siempre crea un contacto nuevo y nunca actualiza uno existente.
Escritura Permiso integration_crm_manage
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
emailstring obligatorio - El correo electrónico del contacto.
-
first_namestring opcional - Nombre.
-
last_namestring opcional - Apellidos.
-
phonestring opcional - Número de teléfono.
-
companystring opcional - Empresa.
-
custom_fieldsobject opcional - Campos específicos del proveedor con valores de tipo string. Las claves desconocidas se ignoran.
-
list_idsarray of string opcional - Solo Brevo y ActiveCampaign. Añade el contacto a estas listas.
-
tag_idsarray of string opcional - Solo ActiveCampaign. Añade estas etiquetas.
Resultado: {"remote_id", "provider", "contact": {...}}.
edit_crm_contact
Edita un contacto existente, que se busca por su correo electrónico. Falla si no existe ningún contacto con ese correo; nunca crea uno.
Escritura Permiso integration_crm_manage
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
emailstring obligatorio - La clave de búsqueda, no un valor nuevo.
-
first_namestring opcional - Nuevo nombre.
-
last_namestring opcional - Nuevos apellidos.
-
phonestring opcional - Nuevo número de teléfono.
-
companystring opcional - Nueva empresa.
-
custom_fieldsobject opcional - Campos específicos del proveedor con valores de tipo string.
-
list_idsarray of string opcional - Solo Brevo y ActiveCampaign. Solo añade, nunca quita.
-
tag_idsarray of string opcional - Solo ActiveCampaign. Solo añade, nunca quita.
Los campos omitidos no cambian; una cadena vacía enviada de forma explícita borra el campo. Resultado: {"remote_id", "provider", "contact": {...}}.
search_crm_deals
Busca tratos por título o por el correo electrónico del contacto vinculado. Úsala antes de create_crm_deal para comprobar si el trato ya existe.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
querystring obligatorio - El título de un trato o el correo electrónico de un contacto.
-
filtersobject opcional - Por ejemplo,
status,stage_iduowner_idpara ActiveCampaign y Pipedrive, ocontact_idsocompany_idspara Brevo.
Resultado: {"deals": [{"remote_id", "provider", "deal"}]}.
list_crm_deals
Recorre los tratos página a página, en el orden propio del proveedor. No todos los proveedores de CRM gestionan tratos; comprueba antes el proveedor de la conexión.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
limitnumber opcional - Tamaño de página, ajustado a los límites de cada proveedor.
-
offsetnumber opcional - Elementos que se omiten. Pipedrive lo ignora.
-
cursorstring opcional - Solo Pipedrive: el
next_cursorde la página anterior. -
filtersobject opcional - Filtros específicos del proveedor.
Resultado: {"deals": [...], "has_more", "next_cursor"}.
create_crm_deal
Crea un trato vinculado a un contacto existente. No todos los proveedores de CRM gestionan tratos; comprueba antes el proveedor de la conexión.
Escritura Permiso integration_crm_manage
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections. -
titlestring obligatorio - Título del trato.
-
contact_emailstring obligatorio - Correo electrónico de un contacto existente.
-
valuenumber opcional - Valor del trato (un número decimal).
-
currencystring opcional - Por ejemplo,
USD.
Resultado: {"remote_id", "provider", "deal": {"title", "value", "currency", "contact_email", "stage"}}.
list_crm_lists
Lista las listas o segmentos de contactos de un CRM conectado (solo Brevo y ActiveCampaign, no Pipedrive). Usa los ids como filtro list_id o en list_ids.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections.
Resultado: {"lists": [{"id", "name"}]}.
list_crm_tags
Lista las etiquetas de contacto de un CRM conectado (solo ActiveCampaign). Usa los ids como filtro tag_id o en tag_ids.
Lectura Permiso integration_crm_get
-
connection_idnumber obligatorio - Obtenido de
list_crm_connections.
Resultado: {"tags": [{"id", "name"}]}.
Integraciones: bases de datos
Funciona con bases de datos MySQL, MariaDB, PostgreSQL y SQL Server conectadas en StickyPrompts; consulta Bases de datos. Cada conexión tiene su propio nivel de permisos, que es el verdadero límite de lo que puede hacer una consulta: read_only solo acepta una única sentencia SELECT o WITH, create_update permite además una única sentencia INSERT o UPDATE, y full_access no aplica ningún filtro.
list_database_connections
Lista las bases de datos que has conectado, personales o compartidas con tu espacio de trabajo, con el database_permission de cada conexión. Devuelve una lista vacía si no hay ninguna conectada.
Lectura Permiso integration_database_get
Sin argumentos. Resultado: {"connections": [{"connection_id", "provider", "name", "description", "database_permission"}]}.
list_database_tables
Lista las tablas y vistas de una base de datos conectada, sin el detalle de las columnas.
Lectura Permiso integration_database_get
-
connection_idnumber obligatorio - Obtenido de
list_database_connections.
Resultado: {"tables": ["schema.name", ...]}.
describe_database_tables
Obtén el detalle de las columnas (nombre, tipo de dato y si admite valores nulos) de tablas concretas.
Lectura Permiso integration_database_get
-
connection_idnumber obligatorio - Obtenido de
list_database_connections. -
tablesarray of string obligatorio - Cada una con el formato
"schema.name", tal como las devuelvelist_database_tables.
Resultado: {"tables": [{"schema", "name", "columns": [{"name", "data_type", "nullable"}]}]}. Errores: error JSON-RPC si una referencia de tabla no lleva punto.
run_database_query
Ejecuta una única sentencia en una base de datos conectada, dentro del nivel de permisos de la conexión. El servidor limita el número de filas y el tiempo de espera.
Escritura Destructiva Permiso integration_database_manage
-
connection_idnumber obligatorio - Obtenido de
list_database_connections. -
querystring obligatorio - Una única sentencia permitida por el nivel de permisos de la conexión.
-
row_limitnumber opcional por defecto100 - Número máximo de filas devueltas, hasta 1000.
-
timeout_secondsnumber opcional por defecto10 - Tiempo de espera de la consulta, hasta 30.
Resultado: {"columns": [...], "rows": [[...]], "row_count": n, "truncated": bool}. El permiso de la clave de API solo decide si se puede llamar a la herramienta; conecta la base de datos como Read only si una clave no debe modificar nunca los datos.
Integraciones: almacenamiento
Funciona con Google Drive. El argumento provider de todas las herramientas de almacenamiento acepta un único valor: google_drive. Las conexiones de almacenamiento son personales y no se comparten con el espacio de trabajo.
Varias herramientas devuelven un objeto 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
Lista las unidades en la nube que has conectado personalmente. Devuelve una lista vacía si no hay ninguna conectada.
Lectura Permiso integration_storage_get
Sin argumentos. Resultado: {"connections": [{"provider", "name", "description", "account_name"}]}.
browse_storage_folder
Lista las carpetas y los archivos que hay directamente dentro de una carpeta. Omite folder_id para explorar la raíz.
Lectura Permiso integration_storage_get
-
providerstring obligatorio google_drive.-
folder_idstring opcional - La carpeta que quieres listar. Omítelo para la raíz.
-
page_tokenstring opcional - El
next_page_tokende la página anterior. -
page_sizenumber opcional - 1-200; los valores fuera de ese rango se ajustan. Si se omite, se usa el valor predeterminado del proveedor.
-
kindstring opcional folderofile.
Resultado: {"entries": [RemoteEntry], "next_page_token", "breadcrumbs": [RemoteEntry]}. Las rutas de navegación (breadcrumbs) empiezan por la raíz cuando el proveedor puede resolverlas.
search_storage_files
Busca en una unidad conectada por nombre o contenido, opcionalmente dentro de una carpeta.
Lectura Permiso integration_storage_get
-
providerstring obligatorio google_drive.-
querystring obligatorio - Lo que quieres buscar.
-
folder_idstring opcional - Limita la búsqueda a esta carpeta.
-
page_tokenstring opcional - El
next_page_tokende la página anterior. -
page_sizenumber opcional - 1-200; los valores fuera de ese rango se ajustan.
-
kindstring opcional folderofile.
Resultado: {"entries": [...], "next_page_token", "breadcrumbs": null}.
get_storage_entry
Obtén los metadatos de un único archivo o carpeta a partir del id de un resultado de exploración o de búsqueda.
Lectura Permiso integration_storage_get
-
providerstring obligatorio google_drive.-
entry_idstring obligatorio - El id del elemento.
Resultado: un único RemoteEntry.
import_storage_files
Descarga archivos de una unidad conectada y los guarda como archivos de StickyPrompts. Google Docs, Sheets y Slides se convierten a PDF, XLSX y PPTX; Google Forms, Sites y los proyectos de Apps Script no se pueden importar. Cada elemento se importa o falla de forma independiente. Es la única forma de traer un archivo nuevo a StickyPrompts mediante MCP.
Escritura Permiso integration_storage_manage
-
providerstring obligatorio google_drive.-
entry_idsarray of string obligatorio - Hasta 20 elementos. Si envías más, se produce un error.
-
project_idnumber opcional - Adjunta los archivos importados a este proyecto.
Resultado: {"files": [{"id", "name", "file_type"}], "failed": [{"entry_id", "error"}], "_attachments": [...]}. Comprueba failed aunque algunos archivos se hayan importado correctamente. Los ids de archivo funcionan con edit_image, generate_video y start_spreadsheet_processing.
export_file_to_storage
Sube uno de tus archivos de StickyPrompts a una carpeta de una unidad conectada. La carpeta ya debe existir y la cuenta conectada debe poder escribir en ella.
Escritura Permiso integration_storage_manage
-
providerstring obligatorio google_drive.-
file_idnumber obligatorio - Un archivo del que eres propietario, obtenido de
list_files, de un resultado multimedia o de una importación. -
folder_idstring obligatorio - Carpeta de destino, obtenida de
browse_storage_foldero desearch_storage_files. -
namestring opcional - Sustituye el nombre del archivo remoto.
Resultado: {"entry": RemoteEntry} del archivo subido.
Búsqueda
search
Busca en tus propios prompts y conversaciones por nombre y texto. A diferencia de la búsqueda de la aplicación, no incluye los prompts compartidos contigo ni el catálogo público de prompts.
Lectura Permiso search
-
querystring obligatorio - Lo que quieres buscar.
Resultado: {"prompts": [{"id", "name", "description"}], "conversations": [{"id", "name", "relevant_message": {"id", "text"}}]}, con un máximo de 5 elementos de cada tipo. El texto coincidente se recorta a unos 50 caracteres alrededor de la primera coincidencia, que aparece envuelta en <span class="search-highlight">...</span>.
Solo para el personal
get_usage_statistics
Devuelve el uso de créditos y el número de ejecuciones de quien hace la llamada en un intervalo de fechas, desglosados por categoría. Necesita statistics_get, un permiso reservado al personal de StickyPrompts que los clientes no pueden asignar a una clave, así que esta herramienta nunca aparece con las claves de los clientes. Los administradores del espacio de trabajo ven el uso en la aplicación, en Uso, créditos y facturación.
Lectura Permiso statistics_get (solo para el personal)
-
from_datestring obligatorio YYYY-MM-DD.-
to_datestring obligatorio YYYY-MM-DD, incluido el día completo.
Resultado: {"from_date", "to_date", "total_credits", "total_runs", "by_category": [{"category", "credits", "runs"}]}.