1Social
Publica en Instagram, TikTok, LinkedIn, X (Twitter), Facebook, Threads y Bluesky desde un solo mensaje. 1Social ajusta cada descripción al límite de la red, avisa cuando una red necesita una imagen y programa publicaciones hasta 30 días antes. Tras publicar, informa de cada red por separado — qué se publicó, qué falló y por qué — y puede reintentar una red sin afectar a las demás. Edita o cancela cualquier cosa que siga programada.
Documentación
1Social MCP
Servidor de Model Context Protocol para publicar en redes sociales — protegido con OAuth.
1Social MCP permite que un asistente de IA publique por ti. Conecta Claude, ChatGPT, Cursor, VS Code o un cliente CLI a 1Social, y luego publica, programa, revisa y corrige publicaciones en Instagram, TikTok, X, LinkedIn, Bluesky, Threads y Facebook en lenguaje natural.
- URL del servidor:
https://mcp.1social.dev/mcp - Transporte: HTTP Streamable
- Autenticación: OAuth 2.1 con PKCE y registro dinámico de clientes
- Página de inicio y configuración: 1social.dev/mcp
Instalación
1Social MCP es un servidor remoto y protegido con OAuth. No hay paquete que instalar ni clave de API que pegar. Añade esto a la configuración MCP de tu cliente:
{
"mcpServers": {
"1social": {
"url": "https://mcp.1social.dev/mcp"
}
}
}
Instalación con un clic: Cursor · VS Code · Conectores de Claude · Conectores de ChatGPT
Clientes CLI (Claude Code, Gemini CLI, Codex CLI) y fragmentos manuales: consulta Clientes compatibles.
Inicio rápido
- Crea una cuenta de 1Social en 1social.dev.
- Conecta tus cuentas de redes sociales en el navegador. Este paso requiere un navegador y no puede hacerse desde el chat: la pantalla de consentimiento OAuth de cada red debe ser firmada por ti.
- Añade el servidor a tu cliente con el enlace de un clic, el comando CLI o el fragmento JSON/TOML anterior.
- Autoriza con OAuth cuando tu cliente abra la pantalla de consentimiento.
- Pide a tu asistente que publique.
Lo que puedes hacer desde el chat
- 📤 Publicar y programar — un mensaje llega a cada red que elijas, ahora o hasta 30 días después.
- 🔍 Comprobar antes de publicar — recuento de caracteres por red, si se requiere una imagen, si una publicación multiparte se convertirá en hilo nativo o se unirá, y cuánto costará contra tu cuota.
- 🧾 Leer el recibo — qué llegó a cada red, qué falló y por qué, y qué realmente no se pudo determinar.
- ♻️ Arreglar lo que falló — reintentar una red sin tocar las que ya se publicaron.
- 🖼 Adjuntar medios — publicar una imagen o video desde el chat. Instagram y TikTok rechazan publicaciones sin uno.
- ✏️ Editar, cancelar, eliminar — cambiar una publicación programada, desprogramarla o eliminarla de las redes que lo permiten.
Superficie de herramientas
Diez herramientas, deliberadamente pocas. Publicar ahora y programar son la misma herramienta (scheduledAt: null significa ahora), y leer una publicación es list_posts con un postId en lugar de una segunda herramienta: un conjunto más pequeño es uno del que un modelo elige con precisión.
| Herramienta | Qué hace |
|---|---|
list_accounts | Cuentas conectadas, qué acepta cada red, plan actual, cuota restante. Llámala primero: los identificadores de canal vienen de aquí. |
preview_post | Prueba gratuita: límites por red, requisitos de medios, comportamiento de hilos, costo de cuota. No se publica nada. |
publish_post | Publica ahora o programa hasta 30 días antes. Devuelve un recibo por red. Acepta un idempotencyKey. |
list_posts | Publicaciones con su resultado de entrega por red — entregada, fallida con motivo, cancelada o unknown — además de métricas de interacción almacenadas. |
update_post | Edita una publicación que aún no se ha enviado. Las redes no tienen endpoint de edición, así que la retira y la reemplaza. |
cancel_post | Desprograma una publicación y libera la cuota que reservó. |
delete_post | Elimina de 1Social e intenta eliminar de cada red. Consulta Qué puede y qué no puede hacer la eliminación. |
retry_delivery | Reintenta una red fallida, dejando intactas las exitosas. Se rechaza para fallos permanentes. |
upload_media | Destino de carga pre-firmado, para clientes que no pueden adjuntar un archivo a una llamada de herramienta. |
confirm_delivery | Registra tu respuesta sobre una entrega cuyo resultado era desconocido: ¿está la publicación activa en esa red o no? |
El conjunto activo es lo que el servidor dice que es: ejecuta tools/list contra https://mcp.1social.dev/mcp para las formas exactas y actuales.
Te avisa cuando no lo sabe
Una publicación a cuatro redes puede llegar a tres. Cada resultado de herramienta es por red: el fallo se nombra en palabras sobre las que puedes actuar, y una entrega cuyo resultado realmente no se pudo determinar vuelve como unknown en lugar de como éxito.
unknown no es un callejón sin salida. Miras la red, le dices al asistente lo que ves, y confirm_delivery lo resuelve: confirmar que está activa compromete la cuota, confirmar que no está marca la entrega como fallida para que retry_delivery pueda retomarla. El asistente no puede adivinar esto por ti.
Qué puede y qué no puede hacer la eliminación
delete_post siempre elimina la publicación de 1Social. La eliminación de la red depende de la red:
| Red | Eliminación remota |
|---|---|
| X, LinkedIn, Bluesky, Facebook | ✅ funciona |
| Instagram, TikTok, Threads | ❌ no hay API de eliminación funcional — la publicación sigue activa y solo tú puedes retirarla |
En un hilo multiparte solo se elimina la primera publicación; el resto permanece activo como huérfanas. La herramienta informa qué se eliminó realmente, por red, y se instruye al asistente para que te lo diga en lugar de confirmar una eliminación limpia.
Planes y acceso
Publicar nos cuesta dinero por entrega, así que la cuota se mide en entregas, no publicaciones: una publicación a cuatro redes son cuatro entregas. Una entrega a X cuesta más unidades que las demás porque X cobra por publicación (precios tiene los números actuales).
| Sin suscripción | Solo | Pro | |
|---|---|---|---|
| Precio | $0 | $19/mes | $39/mes |
| Entregas mensuales | 30 unidades | 600 unidades | 1.600 unidades |
| Las siete redes | ✅ | ✅ | ✅ |
| Recibos de entrega y reintentos | ✅ | ✅ | ✅ |
Una cuenta nueva tiene una pequeña asignación mensual gratuita — suficiente para publicar, ver el recibo, reintentar algo y programar una publicación — así que las herramientas funcionan antes de pagar nada. Una entrega fallida no cuenta contra la cuota cuando el fallo fue nuestro o de la red.
Nunca tienes que salir del chat para pagar. Una llamada de herramienta que agota la cuota vuelve con un enlace de pago para tu cuenta.
Clientes compatibles
- Claude (web y escritorio) — Configuración → Conectores → Añadir conector personalizado
- ChatGPT — Configuración → Apps y conectores → Avanzado → Modo desarrollador → Añadir conector personalizado
- Cursor — enlace profundo de un clic, o
~/.cursor/mcp.json - VS Code — enlace profundo de un clic, o
.vscode/mcp.json - Claude Code (CLI) —
claude mcp add --transport http 1social https://mcp.1social.dev/mcp - Gemini CLI —
gemini mcp add --transport http 1social https://mcp.1social.dev/mcp - Codex CLI —
codex mcp add 1social --url https://mcp.1social.dev/mcp - Cliente HTTP MCP genérico — apúntalo a la URL y deja que complete el descubrimiento OAuth
Instrucciones completas por cliente: docs/setup.md.
Plugin de Cursor
Este repositorio también es un plugin de Cursor. Aporta un servidor MCP (1social) y sin reglas, habilidades, agentes ni hooks.
.cursor-plugin/plugin.json ← plugin manifest
mcp.json ← the MCP server it contributes
assets/logo.svg ← plugin logo
No hay nada que configurar. El servidor anuncia metadatos OAuth 2.1, Cursor se registra dinámicamente y la pantalla de consentimiento se abre en el primer uso.
Ejemplos de indicaciones
Publicación cruzada con verificación previa
"Redacta una publicación sobre nuestra nueva página de precios para LinkedIn, X y Bluesky, comprueba que encaja y luego publica."
→ preview_post informa los recuentos por red y el costo; publish_post devuelve un recibo por red.
Programar con una imagen
"Publica esta captura de pantalla en Instagram y Threads el viernes a las 9 a. m."
→ El archivo adjunto va en media; Instagram habría rechazado la publicación sin él.
Descubrir qué pasó realmente
"¿La publicación de ayer llegó a todas partes?"
→ list_posts devuelve el recibo, incluida cualquier entrega aún marcada como unknown.
Reparar, no republicar
"LinkedIn falló. Reintenta solo LinkedIn."
→ retry_delivery toca una entrega y deja intactas las redes exitosas.
Más: docs/examples.md.
Autorización
OAuth 2.1 con PKCE, según la especificación de autorización de MCP. El servidor de autorización es https://1social.dev; admite registro dinámico de clientes, así que los clientes compatibles se configuran solos y solo ves la pantalla de consentimiento. Los alcances otorgados son openid, profile, email y offline_access.
El asistente nunca ve tus credenciales de redes sociales. Tus tokens de red permanecen en 1Social; el asistente solo tiene un token para tu cuenta de 1Social, y puedes revocarlo en cualquier momento desde la aplicación web.
Detalles del flujo: docs/oauth.md.
Solución de problemas
Errores comunes de conexión, OAuth y llamadas de herramientas: docs/troubleshooting.md.
Listados en marketplaces
Este repositorio es la fuente de dos listados:
| Registro | Registro | Manifiesto |
|---|---|---|
| MCP Registry | dev.1social/1social | server.json — publicado por CI en una etiqueta v*, autenticado por un registro TXT de DNS en 1social.dev |
| LobeHub | sultanlive-1social-mcp | lhm.plugin.json — publicado con npx -y @lobehub/market-cli plugin publish --dir . |
La matriz tools en lhm.plugin.json se genera a partir de la tabla TOOLS en el contrato del propio servidor (packages/contract/src/mcp/tools.ts en el repositorio privado), la misma tabla que responde a tools/list. Es una instantánea: cuando cambie la superficie de herramientas, regenérala en lugar de editarla a mano, o el listado describirá un servidor que ya no existe.
Ten en cuenta que los dos registros llevan números de versión diferentes a propósito: server.json está en 0.1.0, mientras que LobeHub asignó 1.0.0 en el momento de la importación y una versión no se puede renombrar.
Enlaces del proyecto
- Producto: 1social.dev
- Página MCP: 1social.dev/mcp
- Servidor MCP:
https://mcp.1social.dev/mcp - Emisor OAuth:
https://1social.dev - Problemas: github.com/sultanlive/1social-mcp/issues
Licencia
MIT — consulta LICENSE.
Creado por @sultanlive. 1Social es un servicio de publicación alojado; este repositorio es documentación para su servidor MCP público. El código fuente del servidor no es abierto.