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.

22 min de lectura · Actualizado el 28 de septiembre de 2026

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

ÁreaHerramientas
Chat y conversacionessend_message, get_conversation, list_conversations, delete_conversation
Prompts y ejecucioneslist_prompts, get_prompt, run_prompt, custom_run, list_ai_models
Agentes y flujos de trabajolist_agents, get_agent, list_workflow_tasks, get_workflow_task, run_workflow_task
Conocimiento y archivoslist_knowledge_bases, search_knowledge_base, list_files, get_file
Proyectos y equiposlist_projects, get_project, create_project, delete_project, list_workspace_members, list_teams, list_team_members
Generación multimediagenerate_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óntranscribe, get_transcription_status, delete_transcription
Hojas de cálculolist_spreadsheet_processing_tasks, get_spreadsheet_processing_task, start_spreadsheet_processing, pause_spreadsheet_processing, resume_spreadsheet_processing
Integraciones: correo electrónicolist_email_connections, send_email
Integraciones: 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
Integraciones: bases de datoslist_database_connections, list_database_tables, describe_database_tables, run_database_query
Integraciones: almacenamientolist_storage_connections, browse_storage_folder, search_storage_files, get_storage_entry, import_storage_files, export_file_to_storage
Búsquedasearch
Solo para el personalget_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

Argumentos
message string obligatorio
El mensaje que se envía.
conversation_id number opcional
Una conversación existente de la que eres propietario. Omítelo para iniciar una nueva.
ai_model_id number 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 con no 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

Argumentos
conversation_id number 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

Argumentos
search string opcional
Se compara con el texto de los mensajes.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
conversation_id number 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

Argumentos
search string opcional
Se compara con el nombre y la descripción.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
id string 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

Argumentos
id string obligatorio
ID numérico o slug de un prompt del que eres propietario.
ai_model_id number obligatorio
Obtenido de list_ai_models. No existe un valor "auto".
variables object 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

Argumentos
prompt string obligatorio
El texto que se envía.
ai_model_id number 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

Argumentos
search string opcional
Se compara con el nombre del modelo.
include_deprecated boolean opcional por defecto false
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

Argumentos
search string 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

Argumentos
id string 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

Argumentos
search string opcional
Coincidencia con el nombre, sin distinguir mayúsculas de minúsculas.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
id string 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

Argumentos
id string 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

Argumentos
knowledge_base_id number obligatorio
Obtenido de list_knowledge_bases.
query string 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

Argumentos
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
id number 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

Argumentos
search string opcional
Coincidencia con el nombre y la descripción, sin distinguir mayúsculas de minúsculas.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
id string 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

Argumentos
name string obligatorio
Nombre del proyecto.
description string 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

Argumentos
id string 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

Argumentos
search string opcional
Se compara con el nombre y el correo electrónico.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
search string 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

Argumentos
team_id number obligatorio
Obtenido de list_teams.
search string opcional
Se compara con el nombre y el correo electrónico del miembro.
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
prompt string 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

Argumentos
prompt string obligatorio
Las instrucciones de edición. No figura como obligatorio en el esquema anunciado, pero la llamada falla sin él.
file_id number 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

Argumentos
prompt string obligatorio
El prompt del vídeo.
starting_image_file_id number opcional
Un archivo de imagen que se anima como primer fotograma.
last_frame_file_id number opcional
Un archivo de imagen que se usa como último fotograma. Requiere starting_image_file_id; no se puede combinar con reference_image_ids.
reference_image_ids array of integer opcional
Archivos de imagen que se usan como referencia. No se puede combinar con starting_image_file_id ni con last_frame_file_id.
aspect_ratio string opcional por defecto 16:9
Por ejemplo, "16:9". Debe ser una relación de aspecto que admita el modelo.
resolution string opcional
Por ejemplo, "1080p". De forma predeterminada, la primera resolución que admite el modelo.
duration_seconds number 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

Argumentos
video_generation_id number 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

Argumentos
video_generation_id number 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

Argumentos
text string obligatorio
El texto que se va a leer en voz alta.
voice string opcional
Identificador de la voz. De forma predeterminada, la voz predeterminada del modelo.
language string 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

Argumentos
tts_generation_id number 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

Argumentos
tts_generation_id number 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

Argumentos
prompt string obligatorio
El prompt de la música.
duration_seconds number opcional
De forma predeterminada, el máximo del modelo.
output_format string opcional
Por ejemplo, "mp3" o "wav". De forma predeterminada, el formato predeterminado del modelo.
instrumental boolean opcional por defecto false
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

Argumentos
music_generation_id number 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

Argumentos
music_generation_id number 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

Argumentos
url string 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

Argumentos
transcription_id number 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

Argumentos
transcription_id number 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

Argumentos
limit number opcional por defecto 20
Tamaño de página.
offset number opcional por defecto 0
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

Argumentos
task_id string 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

Argumentos
file_id number 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_template string obligatorio
El prompt que se ejecuta para cada fila.
output_column string obligatorio
Letra de la columna para los resultados, por ejemplo "D".
ai_model_id number obligatorio
Obtenido de list_ai_models.
sheet_index number opcional por defecto 0
Índice de la hoja, empezando por cero.
skip_non_empty_cells boolean opcional por defecto false
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

Argumentos
task_id string 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

Argumentos
task_id string 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

Argumentos
connection_id number obligatorio
Obtenido de list_email_connections.
to array of string obligatorio
Direcciones de correo electrónico de los destinatarios.
subject string obligatorio
Asunto.
html_body string opcional
Cuerpo en HTML. Envía este campo, text_body o ambos.
text_body string opcional
Cuerpo en texto sin formato.
cc array of string opcional
Destinatarios en copia (CC).
bcc array of string opcional
Destinatarios en copia oculta (BCC).
reply_to array of string opcional
Direcciones de respuesta (Reply-To).
from_email string opcional
Sustituye el remitente predeterminado de la conexión. Tu proveedor de correo rechaza las direcciones que no ha verificado.
from_name string opcional
Nombre del remitente; se usa junto con from_email.
attachment_file_ids array 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
query string 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.
filters object opcional
Valores de tipo string, por ejemplo list_id, tag_id o status para ActiveCampaign, o organization_id para 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
limit number opcional
Tamaño de página, ajustado a los límites de cada proveedor.
offset number opcional
Elementos que se omiten. Pipedrive lo ignora.
cursor string opcional
Solo Pipedrive: el next_cursor de la página anterior.
filters object opcional
Filtros específicos del proveedor, por ejemplo filter_id para 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
email string obligatorio
El correo electrónico del contacto.
first_name string opcional
Nombre.
last_name string opcional
Apellidos.
phone string opcional
Número de teléfono.
company string opcional
Empresa.
custom_fields object opcional
Campos específicos del proveedor con valores de tipo string. Las claves desconocidas se ignoran.
list_ids array of string opcional
Solo Brevo y ActiveCampaign. Añade el contacto a estas listas.
tag_ids array 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
email string obligatorio
La clave de búsqueda, no un valor nuevo.
first_name string opcional
Nuevo nombre.
last_name string opcional
Nuevos apellidos.
phone string opcional
Nuevo número de teléfono.
company string opcional
Nueva empresa.
custom_fields object opcional
Campos específicos del proveedor con valores de tipo string.
list_ids array of string opcional
Solo Brevo y ActiveCampaign. Solo añade, nunca quita.
tag_ids array 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
query string obligatorio
El título de un trato o el correo electrónico de un contacto.
filters object opcional
Por ejemplo, status, stage_id u owner_id para ActiveCampaign y Pipedrive, o contact_ids o company_ids para 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
limit number opcional
Tamaño de página, ajustado a los límites de cada proveedor.
offset number opcional
Elementos que se omiten. Pipedrive lo ignora.
cursor string opcional
Solo Pipedrive: el next_cursor de la página anterior.
filters object 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

Argumentos
connection_id number obligatorio
Obtenido de list_crm_connections.
title string obligatorio
Título del trato.
contact_email string obligatorio
Correo electrónico de un contacto existente.
value number opcional
Valor del trato (un número decimal).
currency string 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

Argumentos
connection_id number 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

Argumentos
connection_id number 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

Argumentos
connection_id number 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

Argumentos
connection_id number obligatorio
Obtenido de list_database_connections.
tables array of string obligatorio
Cada una con el formato "schema.name", tal como las devuelve list_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

Argumentos
connection_id number obligatorio
Obtenido de list_database_connections.
query string obligatorio
Una única sentencia permitida por el nivel de permisos de la conexión.
row_limit number opcional por defecto 100
Número máximo de filas devueltas, hasta 1000.
timeout_seconds number opcional por defecto 10
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

Argumentos
provider string obligatorio
google_drive.
folder_id string opcional
La carpeta que quieres listar. Omítelo para la raíz.
page_token string opcional
El next_page_token de la página anterior.
page_size number opcional
1-200; los valores fuera de ese rango se ajustan. Si se omite, se usa el valor predeterminado del proveedor.
kind string opcional
folder o file.

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

Argumentos
provider string obligatorio
google_drive.
query string obligatorio
Lo que quieres buscar.
folder_id string opcional
Limita la búsqueda a esta carpeta.
page_token string opcional
El next_page_token de la página anterior.
page_size number opcional
1-200; los valores fuera de ese rango se ajustan.
kind string opcional
folder o file.

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

Argumentos
provider string obligatorio
google_drive.
entry_id string 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

Argumentos
provider string obligatorio
google_drive.
entry_ids array of string obligatorio
Hasta 20 elementos. Si envías más, se produce un error.
project_id number 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

Argumentos
provider string obligatorio
google_drive.
file_id number obligatorio
Un archivo del que eres propietario, obtenido de list_files, de un resultado multimedia o de una importación.
folder_id string obligatorio
Carpeta de destino, obtenida de browse_storage_folder o de search_storage_files.
name string opcional
Sustituye el nombre del archivo remoto.

Resultado: {"entry": RemoteEntry} del archivo subido.

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

Argumentos
query string 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)

Argumentos
from_date string obligatorio
YYYY-MM-DD.
to_date string obligatorio
YYYY-MM-DD, incluido el día completo.

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