https://api.so-me.studio/mcp) y pueden ser llamadas
por cualquier agente autenticado con su X-API-Key.
Las 205 herramientas están disponibles en el único endpoint MCP público — no existe una superficie MCP de
administración aparte. Herramientas como
create_tenant, delete_tenant y list_tenants son herramientas normales
del espacio de trabajo limitadas al usuario autenticado.Los controladores admin/mcp-tool-costs y api-access/mcp son rutas del panel protegidas con JWT
que sirven para ver/editar los costes en créditos por herramienta y los registros de uso — no exponen herramientas
MCP adicionales.Cada llamada a una herramienta consume créditos del plan y cuenta para tu límite de solicitudes por minuto. Consulta
los costes en tiempo de ejecución con
list_mcp_tools y tu saldo restante con
get_mcp_usage. Niveles de créditos: 1 lectura/listado/obtención, 2 escritura/modificación/eliminación,
3 analíticas, 5 texto con IA, 8 imagen con IA, 10 acciones compuestas con IA.Enums comunes
Estos valores de enum se reutilizan en muchas herramientas.platform (PLATFORM_ENUM)
platform (PLATFORM_ENUM)
TWITTER, INSTAGRAM, LINKEDIN, FACEBOOK, TIKTOK, YOUTUBE, THREADS, DRIBBBLE,
PINTEREST, WHATSAPP, LINKEDIN_PAGEstatus (STATUS_ENUM)
status (STATUS_ENUM)
POSTED, SCHEDULED, PENDING, FAILED, PENDING_APPROVAL, REJECTEDpostType (POST_TYPE_ENUM)
postType (POST_TYPE_ENUM)
TEXT, IMAGE, MULTIPLE_IMAGES, VIDEO, CAROUSEL, REEL, STORYLos valores de paginación por defecto son coherentes en todas las herramientas de listado:
page es 1 por defecto y limit es
20 por defecto (máx. 100), salvo que una herramienta documente otro esquema (por ejemplo, basado en cursor o en offset).Publicaciones (11 herramientas)
Flujo de publicación
Las herramientas de escritura aceptan tres campos opcionales además detext, fileIds y scheduledAt: threadParts, firstComment y tiktok. Las descripciones de las herramientas indican qué hace cada campo; esta sección es el orden de operaciones recomendado para un agente que publica en nombre de un usuario.
1
Comprueba primero los medios
Cuando el medio lo ha generado, editado o elegido el agente, llama a
validate_post_media con los
targets previstos antes de create_post o schedule_post. Devuelve, por destino, el
ancho, alto, duración, códec y velocidad de fotogramas medidos, los límites configurados y una cadena fix
por cada discrepancia. Aplica la corrección y valida de nuevo cuando el archivo lo produjo el agente; muestra el
informe y deja que decida el usuario cuando el archivo lo aportó él. Envía solo valores medidos — cada
propiedad omitida se devuelve como needs_review en lugar de como aprobada. get_media_rules devuelve la
tabla completa por plataforma, que es la forma más barata de generar medios con el tamaño correcto desde el principio.2
Confirma las subidas
presign_media_upload reserva archivos de la biblioteca y devuelve URL PUT. Cada PUT debe enviar un
encabezado Content-Type igual al mimetype declarado, o el almacenamiento responde 403. La subida solo está
completa cuando los bytes se han almacenado: llama a get_media_file con verifyUpload: true antes de
adjuntar el archivo a una publicación.3
TikTok: pregunta al creador, nunca adivines
TikTok rechaza cualquier publicación sin nivel de privacidad, y solo el creador puede elegirlo. Llama a
get_tiktok_creator_info para la cuenta de destino, ofrece al usuario solo los valores que devuelve
privacy_level_options (una cuenta privada no puede elegir PUBLIC_TO_EVERYONE), sugiere
PUBLIC_TO_EVERYONE para una cuenta pública, pregunta si se permiten comentarios y luego envía
{ privacyLevel, allowComments, allowDuet, allowStitch } en el objeto tiktok. Una publicación sin
tiktok.privacyLevel se rechaza con TIKTOK_PRIVACY_LEVEL_REQUIRED; un nivel que el creador no puede
usar devuelve TIKTOK_PRIVACY_LEVEL_NOT_ALLOWED. Una advertencia TIKTOK_SETTING_FORCED significa que el creador
desactivó los comentarios, el dúo o el stitch en toda la cuenta — repíteselo al usuario.4
Cadenas y primeros comentarios
threadParts crea una cadena de varias publicaciones solo en X, Threads, Bluesky y Mastodon: text es la
cabecera y threadParts[0] es la primera respuesta. La publicación más allá de la cabecera es de mejor esfuerzo; informa de
metaData.threadPartWarning si está definido y nunca vuelvas a publicar la cabecera. firstComment publica un
comentario bajo la publicación (bajo la última parte de una cadena) en Facebook, Instagram, X, LinkedIn,
LinkedIn Page, Threads, YouTube, TikTok, Bluesky y Mastodon (TikTok necesita que el acceso a comentarios de la cuenta
esté activado en Cuentas). Comprueba capabilities.firstComment en list_accounts antes de
prometerlo — un destino no compatible se publica igualmente y devuelve una advertencia FIRST_COMMENT_UNSUPPORTED.
Lee firstCommentStatus en la publicación antes de dar el comentario por publicado.Comentarios de publicaciones (5 herramientas)
Borradores (6 herramientas)
Cuentas (3 herramientas)
Medios (13 herramientas)
Bandeja de entrada (18 herramientas)
Aprobaciones (4 herramientas)
Equipos (6 herramientas)
Biolinks (19 herramientas)
Contenido con IA (10 herramientas)
Vídeo con IA / UGC (9 herramientas)
Analíticas (26 herramientas)
Multiplataforma y por publicación
Analíticas por plataforma
days es 7 por defecto (ventana de consulta hacia atrás) en todas las herramientas de analíticas.Mejor momento para publicar (3 herramientas)
Notificaciones (5 herramientas)
Conocimiento / RAG (6 herramientas)
En
create_knowledge, fileId es obligatorio para los tipos de origen pdf/image/text_file, y
body es obligatorio para note.Canva (4 herramientas)
Plantillas (3 herramientas)
Ayuda y soporte (5 herramientas)
WhatsApp (6 herramientas)
Ayudas de integración (9 herramientas)
Resuelven los destinos específicos de cada plataforma (tableros, canales, subreddits, ubicaciones) antes de publicar.Webhooks (10 herramientas)
Las
categories de webhook aceptan: post, inbox, account, subscription, ai, team, support.
El filtro status de entrega acepta: pending, success, retrying, failed.
TWITTER,INSTAGRAM,LINKEDIN,LINKEDIN_PAGE,FACEBOOK,TIKTOK,YOUTUBE,THREADS,WHATSAPP,DRIBBBLE,PINTEREST