MCP

Referencia de herramientas

Cada herramienta que expone el servidor MCP de PostNext, con sus entradas, estructura de retorno y un ejemplo listo para copiar y pegar.

Autenticación

Cada petición a https://mcp.postnext.io/api necesita una cabecera Authorization con un token Bearer. Tienes dos formas de obtener uno.

OAuth (recomendado para clientes de IA)

Los clientes de IA ejecutan Dynamic Client Registration en la primera conexión y guían al usuario por una pantalla de consentimiento OAuth. La página /mcp/connect lo hace automáticamente. Tu cliente recibe un token de acceso de 30 días.

Clave de API

Para scripts y CI, genera una clave de API personal en la app de PostNext en Cuenta → Claves de API. La clave empieza por apikey_ y se presenta como un token Bearer como cualquier otro.

Endpoint

Todas las llamadas a herramientas van a un único endpoint JSON-RPC 2.0 sobre HTTPS POST.

POST https://mcp.postnext.io/api

Herramientas

list_scheduled_posts

Lista tus publicaciones programadas (en cola para publicar, aún no enviadas).

Argumentos

limitnumber ·opcional · default 20
Número máximo de resultados a devolver (1-100, por defecto 20).
fromstring (ISO 8601) ·opcional
Marca de tiempo ISO; devuelve solo las publicaciones programadas a partir de este momento.

Devuelve

Un objeto con posts: [{id, platform, content, scheduledAt, status}]. Hasta limit resultados.

Ejemplo

curl -X POST https://mcp.postnext.io/api \
  -H "Authorization: Bearer apikey_xxx" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","id":1,
       "params":{"name":"list_scheduled_posts",
                 "arguments":{"limit":5}}}'

list_drafts

Lista tus borradores (aún no programados).

Argumentos

limitnumber ·opcional · default 20
Número máximo de resultados a devolver (1-100, por defecto 20).

Devuelve

Un objeto con drafts: [{id, platform, content, updatedAt}]. Hasta limit resultados.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":2,
 "params":{"name":"list_drafts","arguments":{"limit":10}}}

list_connected_accounts

Lista las cuentas sociales conectadas a tu equipo.

Argumentos

Sin argumentos.

Devuelve

Un objeto con accounts: [{platform, handle, connected, lastSyncAt}].

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":3,
 "params":{"name":"list_connected_accounts","arguments":{}}}

get_account_healthPlan de pago

Obtén un resumen del estado de todas las plataformas conectadas.

Argumentos

platformenum ·opcional
Plataforma social: twitter, instagram, linkedin, threads, o tiktok.
windowDays7 | 30 | 90 ·opcional · default 30
Ventana de consulta en días: 7, 30 o 90 (por defecto 30).

Devuelve

Un objeto con windowDays, postsScheduled, postsPublished, postsFailed, un desglose byPlatform y topErrors[].

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":4,
 "params":{"name":"get_account_health",
           "arguments":{"windowDays":30}}}

create_post_draft

Crea un borrador nuevo. Los borradores no se publican automáticamente.

Argumentos

platformenum ·obligatorio
Plataforma social: twitter, instagram, linkedin, threads, o tiktok.
contentstring ·obligatorio
Cuerpo de la publicación (1-2200 caracteres).
mediaUrlsarray<string> ·opcional
Hasta 10 URLs de imágenes o vídeos.
clientRequestIdstring ·opcional
Clave de idempotencia opcional. La misma clave en 5 minutos devuelve el resultado en caché.

Devuelve

Un objeto con el nuevo borrador: {id, platform, content, status: "DRAFT", createdAt}.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":5,
 "params":{"name":"create_post_draft",
           "arguments":{"platform":"twitter",
                        "content":"Hello from MCP"}}}

update_post_draft

Actualiza un borrador existente. Se debe proporcionar al menos content o mediaUrls.

Argumentos

postIdstring ·obligatorio
ID de publicación de PostNext obtenido de una llamada de listado.
contentstring ·opcional
Cuerpo de la publicación (1-2200 caracteres).
mediaUrlsarray<string> ·opcional
Hasta 10 URLs de imágenes o vídeos.
clientRequestIdstring ·opcional
Clave de idempotencia opcional. La misma clave en 5 minutos devuelve el resultado en caché.

Devuelve

Un objeto con el borrador actualizado: {id, platform, content, mediaUrls, status, updatedAt}.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":6,
 "params":{"name":"update_post_draft",
           "arguments":{"postId":"",
                        "content":"Updated copy"}}}

connect_channel

Genera una URL de un solo uso que el usuario puede abrir para autorizar una nueva conexión de plataforma.

Argumentos

platformenum ·obligatorio
Plataforma social: twitter, instagram, linkedin, threads, o tiktok.

Devuelve

Un objeto con authUrl (enlace de un solo uso que el usuario abre para autorizar), expiresAt y platform.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":7,
 "params":{"name":"connect_channel",
           "arguments":{"platform":"linkedin"}}}

schedule_post

Mueve un borrador (estado DRAFT) a la cola de publicación BullMQ con un timestamp futuro. Idempotente dentro de ±60s de deriva; rechaza intentos de reprogramación a otra hora sin cancelar primero.

Argumentos

postIdstring ·obligatorio
ID de publicación de PostNext obtenido de una llamada de listado.
scheduledAtstring (ISO 8601) ·obligatorio
Timestamp ISO 8601; no puede estar más de 5 minutos en el pasado.

Devuelve

Un objeto con postId, scheduledAt (ISO), status: SCHEDULED.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":8,
 "params":{"name":"schedule_post",
           "arguments":{"postId":"",
                        "scheduledAt":"2026-05-10T09:00:00Z"}}}

cancel_scheduled_post

Cancela una publicación programada y la elimina de la cola de publicación. El borrador se conserva.

Argumentos

postIdstring ·obligatorio
ID de publicación de PostNext obtenido de una llamada de listado.

Devuelve

Un objeto con postId y status: CANCELLED.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":9,
 "params":{"name":"cancel_scheduled_post",
           "arguments":{"postId":""}}}

delete_draft

Elimina permanentemente un borrador. Rechaza publicaciones que no estén en estado DRAFT (usa cancel_scheduled_post para SCHEDULED).

Argumentos

postIdstring ·obligatorio
ID de publicación de PostNext obtenido de una llamada de listado.

Devuelve

Un objeto con postId y deleted: true.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":10,
 "params":{"name":"delete_draft",
           "arguments":{"postId":""}}}

get_post

Devuelve el PostGroup completo para un postId con contenido por plataforma + estado + timestamps.

Argumentos

postIdstring ·obligatorio
ID de publicación de PostNext obtenido de una llamada de listado.

Devuelve

Un objeto con postId, status, scheduledAt, createdAt, updatedAt y providers (mapa plataforma → contenido).

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":11,
 "params":{"name":"get_post",
           "arguments":{"postId":""}}}

search_posts

Búsqueda de subcadena (insensible a mayúsculas) en el contenido de publicaciones del equipo activo. Filtros: status, platform, limit (1-100, predeterminado 20).

Argumentos

querystring ·obligatorio
Subcadena a buscar (3-200 caracteres; los metacaracteres regex se escapan).
statusenum ·opcional
Opcional: DRAFT | SCHEDULED | PUBLISHED | FAILED | CANCELLED.
platformenum ·opcional
Plataforma social: twitter, instagram, linkedin, threads, o tiktok.
limitnumber ·opcional · default 20
Número máximo de resultados a devolver (1-100, por defecto 20).

Devuelve

Un objeto con posts: [{postId, status, platforms, snippet, scheduledAt, updatedAt}]. El snippet contiene el contexto coincidente con elipsis a ambos lados.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":12,
 "params":{"name":"search_posts",
           "arguments":{"query":"launch","limit":10}}}

list_teams

Devuelve los equipos que el usuario autenticado posee o administra, con el equipo activo marcado.

Argumentos

Sin argumentos.

Devuelve

Un objeto con currentTeamId y teams: [{teamId, teamName, isCurrent}].

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":13,
 "params":{"name":"list_teams","arguments":{}}}

set_current_team

Cambia el equipo activo para este token Bearer. El usuario debe ser miembro. Persistente en el documento del token OAuth; la mutación en sesión lo hace efectivo inmediatamente para herramientas posteriores en la misma conversación.

Argumentos

teamIdstring ·obligatorio
teamId destino de list_teams. La membresía se revalida en el servidor.

Devuelve

Un objeto con teamId, teamName, persisted (true si OAuth, false si API key) y un note opcional.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":14,
 "params":{"name":"set_current_team",
           "arguments":{"teamId":"team_xxxxx"}}}

get_plan_limits

Lee el nivel de suscripción actual del usuario y las cuotas por nivel (canales, almacenamiento, créditos de IA, publicación). Disponible en todos los planes. Útil antes de herramientas mutadoras para predecir si la llamada será bloqueada.

Argumentos

Sin argumentos.

Devuelve

Un objeto con tier, tierDisplayName, isPaid, isTrial, upgradeUrl, limits (channels/storage/aiCalls/posts cada uno como {limit, current, exceeded} o {limit, allowed}) y creditsAvailable ({total, subscriptionRemaining, purchasedBalance} o null).

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":15,
 "params":{"name":"get_plan_limits","arguments":{}}}

get_post_metrics

Obtiene métricas de interacción para una publicación publicada en cada plataforma a la que se envió. Twitter e Instagram devuelven métricas pobladas (likes, retweets/compartidos, comentarios/respuestas, impresiones); LinkedIn, Threads y TikTok devuelven solo estado de publicación y URL (la recolección de interacciones se aplaza a una versión posterior). Un resumen normalizado totals suma likes/comentarios/compartidos/impresiones de cualquier plataforma que haya reportado.

Argumentos

postId ID de publicación de PostNext obtenido de una llamada de listado.

Devuelve

Un objeto con postId, status, providers: [{platform, publishedPostId, publishedUrl, publishedAt, status, metrics}] y totals: {likes, comments, shares, impressions}. metrics es un objeto de contadores numéricos por plataforma, o null cuando la plataforma aún no recopila interacciones.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":16,
 "params":{"name":"get_post_metrics",
           "arguments":{"postId":""}}}

get_publish_status

Diagnostica una publicación programada: estado en cola, éxito/error por plataforma, tiempo de procesamiento y jobId del worker. Devuelve isScheduled=false para publicaciones que existen como borrador pero no fueron movidas a la cola de publicación, con un hint apuntando a schedule_post.

Argumentos

postId ID de publicación de PostNext obtenido de una llamada de listado.

Devuelve

Un objeto con postId, isScheduled, status, scheduledAt, publishedAt, platforms, processingTimeMs, jobId, topLevelError y results: [{platform, success, publishedPostId, publishedAt, error}]. Incluye hint cuando isScheduled es false.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":17,
 "params":{"name":"get_publish_status",
           "arguments":{"postId":""}}}

update_brand_profile

Actualiza el perfil de marca activo del usuario. Campos permitidos: bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize. Cualquier otro se descarta silenciosamente. Resuelve "activo" primero como default del equipo, luego como el primer perfil activo propio del usuario.

Argumentos

brandVoice Array de descriptores de voz de marca (p. ej. ["profesional", "conciso"]).

Other patchable fields: bio, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize.

Devuelve

Un objeto con profileId, name, updated: [nombres de campos parcheados] y los valores actuales de bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize tras el patch.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":18,
 "params":{"name":"update_brand_profile",
           "arguments":{"brandVoice":["professional","concise"]}}}

get_best_time_to_post Paid plan

Recomienda los mejores N slots (díaDeSemana, hora) para la próxima publicación en una plataforma, ordenados por engagement por publicación de los últimos 90 días. Twitter e Instagram devuelven scores ponderados por engagement; LinkedIn, Threads, TikTok ordenan solo por frecuencia. Tiempos en la zona horaria IANA indicada (UTC por defecto). Plan de pago requerido.

Argumentos

platform Plataforma social: twitter, instagram, linkedin, threads, o tiktok.

timezone Nombre de zona horaria IANA (p. ej. Europe/Madrid, America/New_York). Por defecto UTC.

topN Número de recomendaciones de slots a devolver (1-24, por defecto 5).

Devuelve

Un objeto con platform, timezone, sampleWindowDays, sampleSize, metricsAvailable y recommendations: [{dayOfWeek (1-7, Lun=1), dayLabel, hour (0-23), score, basedOn: {posts, avgEngagement}}]. Incluye hint para casos cold-start o sin métricas disponibles.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":19,
 "params":{"name":"get_best_time_to_post",
           "arguments":{"platform":"twitter","timezone":"Europe/Berlin","topN":5}}}

get_channel_analytics

Rendimiento agregado de un canal conectado, o de todos a la vez. Devuelve impresiones, alcance, me gusta, comentarios y tasa de interacción del periodo, el cambio frente al periodo anterior de la misma duración y la serie de seguidores. Sin platform, el total de todo el equipo. Para una sola publicación usa get_post_metrics; para planificar, get_best_time_to_post.

Argumentos

platform Plataforma social: twitter, instagram, linkedin, threads, o tiktok.

channelName Qué cuenta conectada, cuando la plataforma tiene más de una.

period Periodo del informe: 7d, 30d, 90d o all (por defecto 30d).

Devuelve

Un objeto con scope, period, totals, vsPrevious, coverage, dataThrough y followers, que incluye trackingSince, current, change y la serie.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":34,
 "params":{"name":"get_channel_analytics",
           "arguments":{"platform":"linkedin","period":"30d"}}}

search_tools

Busca en el catálogo de herramientas MCP por texto libre, categoría o intención. Devuelve categorías, requiresScope, descripciones de una línea y los tags de caso de uso que coincidieron. Disponible en todos los planes (interfaz de discovery).

Argumentos

All optional. Call with no arguments to list every available tool.

query Búsqueda de texto libre en nombres, descripciones y tags de uso de las herramientas.

category Filtra a una categoría: posts, accounts, analytics, brand, teams, discovery, other.

Devuelve

Un objeto con totalTools, matchCount, categories: [string[]] y tools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}]. Incluye hint cuando no hay coincidencias o no hay filtro.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":20,
 "params":{"name":"search_tools",
           "arguments":{"query":"why did my post fail"}}}

get_plan

Plan y fechas de facturación: nivel, fecha de renovación, fin de la prueba y si la suscripción está marcada para cancelarse al final del periodo. Para cuotas y consumo, llama a get_plan_limits.

Argumentos

Sin argumentos.

Devuelve

Un objeto con tier, tierDisplayName, isPaid, isTrial, gated, subscriptionStatus, renewsAt, trialEndsAt, cancelAtPeriodEnd, currency y upgradeUrl.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":21,
 "params":{"name":"get_plan",
           "arguments":{}}}

upload_asset

Subida de una imagen o un vídeo a la biblioteca en base64 directamente. Solo es fiable con archivos muy pequeños, de unos 8 KB o menos: si el contenido es mayor se trunca en silencio en los argumentos de la herramienta y se guarda un archivo corrupto. Para cualquier cosa más grande, usa request_asset_upload.

Argumentos

filename Nombre del archivo con su extensión, hasta 255 caracteres.

contentType Tipo MIME del archivo, de la lista permitida de imagen y vídeo.

base64 Los bytes del archivo, codificados en base64. Mantenlo muy pequeño y lee antes el aviso de arriba.

Devuelve

Un objeto con assetId, url, sizeBytes y mimeType. Pasa la url a create_post_draft como mediaUrls.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":22,
 "params":{"name":"upload_asset",
           "arguments":{"filename":"logo.png","contentType":"image/png","base64":"iVBORw0KGgo..."}}}

request_asset_upload

La vía de subida recomendada, para imágenes y vídeos de cualquier tamaño. Dos pasos: llama a esta herramienta para obtener una URL prefirmada y un comando curl listo para usar, y envía después el archivo con PUT a esa URL. La respuesta del PUT trae la URL final del recurso.

Argumentos

filename Nombre del archivo con su extensión, hasta 255 caracteres.

contentType Tipo MIME del archivo, de la lista permitida de imagen y vídeo.

sizeBytes Tamaño exacto del archivo en bytes, se usa para firmar la subida.

Devuelve

Un objeto con uploadId, uploadUrl, uploadToken, expiresInSeconds e instructions con el comando PUT exacto.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":23,
 "params":{"name":"request_asset_upload",
           "arguments":{"filename":"clip.mp4","contentType":"video/mp4","sizeBytes":4194304}}}

get_latest_blog_post

Si el equipo tiene un blog de WordPress conectado, además de un extracto de la entrada más reciente. Solo lectura y sin coste en créditos. Llámala antes de create_blog_plan o test_blog_connection para ver qué hay ya configurado.

Argumentos

Sin argumentos.

Devuelve

Un objeto con blogConnected, un resumen de la integración sin credenciales y latestPost con su título, extracto, estado y URL publicada.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":24,
 "params":{"name":"get_latest_blog_post",
           "arguments":{}}}

list_blog_plans

Lista los planes de blog del equipo, del más reciente al más antiguo, con estado, número de temas por estado, créditos reservados y un enlace al panel. Solo lectura y sin coste en créditos.

Argumentos

limit Número máximo de planes devueltos (1-50, por defecto 20).

status Filtrar por estado: generating, active, paused, completed, cancelled o failed.

Devuelve

Un objeto con plans y total. Cada plan incluye su id, estado, número de temas y el enlace al panel.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":25,
 "params":{"name":"list_blog_plans",
           "arguments":{"status":"active","limit":10}}}

create_blog_plan Paid plan

Crea un plan de contenido de blog para un perfil de marca. Los temas se generan de forma asíncrona, así que el plan vuelve enseguida en estado generating: consulta list_blog_plans para ver el progreso. En los planes Business y Teams las entradas además se generan y se publican en un blog de WordPress conectado.

Argumentos

startDate Primer día que cubre el plan, en formato YYYY-MM-DD.

planDays Cuántos días cubre el plan (1-30, por defecto 7).

brandProfileId Perfil de marca para el que se planifica. Por defecto, el perfil activo del equipo.

integrationId Qué blog conectado usar, cuando el equipo tiene más de uno.

autoPublish Publicar automáticamente en el blog conectado las entradas generadas (Business y Teams).

Devuelve

Un objeto con planId, status, startDate, planDays, brandProfileId, integrationId, topicCount y dashboardUrl.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":26,
 "params":{"name":"create_blog_plan",
           "arguments":{"startDate":"2026-10-01","planDays":14,"autoPublish":true}}}

test_blog_connection Paid plan

Comprueba que el blog de WordPress conectado responde y que su token sigue siendo válido, y deja el resultado registrado en la integración. Devuelve la versión del plugin y lo que puede hacer.

Argumentos

integrationId Qué blog conectado usar, cuando el equipo tiene más de uno.

Devuelve

Un objeto con success, message, version, capabilities, integrationId y el status actualizado.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":27,
 "params":{"name":"test_blog_connection",
           "arguments":{}}}

list_mini_sites

Lista las páginas de biografía del equipo seleccionado, con su URL pública, si están publicadas y el progreso de configuración. Empieza aquí: el resto de herramientas de página de biografía usan el siteId que devuelve, y pueden omitirlo cuando el equipo tiene una sola página.

Argumentos

Sin argumentos.

Devuelve

Un objeto con sites, cada uno con id, slug, name, published, url, views y el progreso de configuración.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":28,
 "params":{"name":"list_mini_sites",
           "arguments":{}}}

get_mini_site

Lee una página de biografía completa: cabecera del perfil, iconos sociales, todos los bloques de contenido, metadatos SEO, tema y ajustes de auto-pin. Los textos largos se recortan a una vista previa de 300 caracteres y nunca se devuelven credenciales.

Argumentos

siteId Sobre qué página de biografía actuar. Omítelo cuando el equipo tiene una sola.

Devuelve

Un objeto con id, slug, published, url, header, socials, meta, theme, autoPin, campaign y el array blocks.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":29,
 "params":{"name":"get_mini_site",
           "arguments":{}}}

get_mini_site_analytics

Cómo rinde una página de biografía: visitas, clics, mejores enlaces, origen, dispositivo y país de los visitantes, y lecturas de rastreadores de IA, además de qué publicaciones generaron clics. Todas las cifras salvo las filas de atribución son contadores históricos y no del periodo: dilo al informar de los números.

Argumentos

siteId Sobre qué página de biografía actuar. Omítelo cuando el equipo tiene una sola.

attributionDays Ventana en días para la atribución de publicación a clic (1-90, por defecto 30).

Devuelve

Un objeto con viewsAllTime, clicksAllTime, topLinks, bySource, byDevice, byCountry, ai, attribution y attributionWindowDays.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":30,
 "params":{"name":"get_mini_site_analytics",
           "arguments":{"attributionDays":30}}}

add_mini_site_block

Añade un bloque a una página de biografía: link, featured, product, event, presave, episodio de podcast, booking, horarios, header, text, image o gallery. Los campos obligatorios cambian según el tipo. Esto modifica al instante una página visible para el público.

Argumentos

siteId Sobre qué página de biografía actuar. Omítelo cuando el equipo tiene una sola.

type Tipo de bloque que se añade, por ejemplo link, product, event, hours o gallery.

... Además, los campos propios de ese tipo de bloque, por ejemplo url, title, price o startDate.

Devuelve

Un objeto con el block guardado, el nuevo blockCount y alreadyExisted si ese mismo bloque ya estaba.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":31,
 "params":{"name":"add_mini_site_block",
           "arguments":{"type":"link","url":"https://example.com","title":"New single"}}}

update_mini_site_block

Modifica un bloque existente: el título o la URL de un enlace, el precio de un producto, la fecha de un evento, los horarios o el orden. Solo cambian los campos que envías, y el tipo de bloque no se puede cambiar. La respuesta devuelve el bloque tal como quedó guardado, así se ve cualquier valor rechazado.

Argumentos

siteId Sobre qué página de biografía actuar. Omítelo cuando el equipo tiene una sola.

blockId Id del bloque, tal como lo devuelve get_mini_site.

... Además, los campos propios de ese tipo de bloque, por ejemplo url, title, price o startDate.

Devuelve

Un objeto con el block tal como quedó guardado, la lista de campos actualizados y los ignorados.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":32,
 "params":{"name":"update_mini_site_block",
           "arguments":{"blockId":"blk_7f3a","title":"Updated title"}}}

remove_mini_site_block

Elimina un bloque de una página de biografía por su blockId, por ejemplo una fecha de gira ya pasada o un enlace de producto retirado. Llama antes a get_mini_site para localizar el id. Esto modifica al instante una página visible para el público.

Argumentos

siteId Sobre qué página de biografía actuar. Omítelo cuando el equipo tiene una sola.

blockId Id del bloque, tal como lo devuelve get_mini_site.

Devuelve

Un objeto con removed, el blockId y cuántos bloques quedan.

Ejemplo

{"jsonrpc":"2.0","method":"tools/call","id":33,
 "params":{"name":"remove_mini_site_block",
           "arguments":{"blockId":"blk_7f3a"}}}

Recursos MCP

Los recursos son contexto de solo lectura que el cliente puede obtener vía el método MCP resources/read. Claude los carga al inicio de cada conversación, así tiene contexto de cuenta/equipo/marca sin que tengas que repetirlo.

postnext://account/summary

Email y handle de la cuenta (para que Claude confirme con qué cuenta está operando), plan, créditos de IA usados / límite, conteo de borradores, conteo de programados, canales conectados. Conteos limitados a 100 cada uno para carga rápida.

postnext://channels/connected

Misma forma que el resultado de list_connected_accounts; expuesto como recurso para que Claude lo cargue una vez al inicio de la conversación (sin roundtrip de llamada a herramienta).

postnext://brand-profiles/active

El perfil de marca activo del usuario (predeterminado del equipo, con fallback al primer perfil propio). Devuelve solo campos relevantes para LLM: bio, expertiseAreas, personalityTraits, brandVoice, mainThemes, audienceSize, preferredHashtags.

postnext://teams/current

Metadatos del equipo actual (teamId, teamName) más totalTeamsAvailable. Combina con list_teams + set_current_team para cambiar.

Flujos predefinidos

Atajos del menú slash que orquestan varias herramientas. Elige uno y deja que tu asistente de IA te guíe paso a paso, pidiendo confirmación antes de cualquier cambio.

/weekly-plan

Lee el perfil de marca, los canales conectados y la cola, y propone 5-10 borradores repartidos de lunes a viernes.

/draft-thread

Redacta un hilo de 5-10 publicaciones para Twitter o Threads sobre un tema o URL que tú indiques, con la voz de tu marca.

/audit-queue

Repasa los próximos 7 días de publicaciones programadas y detecta duplicados, saturación de plataformas y huecos.

/channel-sweep

Compara los canales conectados con los soportados y sugiere cuáles conectar o actualizar.

Descubrimiento y endpoints OAuth

Metadatos conformes a estándares para que cualquier cliente MCP pueda autoconfigurarse.

  • GET /.well-known/oauth-protected-resource/api — RFC 9728
  • GET /.well-known/oauth-authorization-server — RFC 8414
  • GET /oauth/.well-known/openid-configuration — OIDC
  • POST /oauth/reg — Dynamic Client Registration (RFC 7591)
  • GET /oauth/auth — Authorize (PKCE-S256 required)
  • POST /oauth/token — Token exchange

Código abierto

Las recetas listas para pegar y una referencia para desarrolladores viven en nuestro repositorio público de documentación. Con licencia MIT; pull requests bienvenidos. github.com/postnextio/postnext-mcp

Gestiona tus redes sociales desde cualquier asistente de IA

Planifica, redacta, programa y audita publicaciones en 7 plataformas conversando con Claude, ChatGPT o Cursor. Una conexión segura, todas las funciones de PostNext.

×