LotsBlog

Publica y ejecuta un blog en tu propio dominio desde cualquier agente de IA, con hosting y SEO técnico integrados.

Servidor MCP alojado

npx add-mcp 'https://api.lots.blog/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Pregúntale a tu agente, por ejemplo.

Una vez que LotsBlog esté conectado, solicitudes simples como estas funcionan.

  • «Redacta una publicación de 1.200 palabras sobre este tema y envíame el enlace de vista previa».
  • «Programa el borrador aprobado para el martes a las 10 a. m.».
  • «¿Qué publicaciones obtuvieron más vistas este mes?»

Conéctate en dos minutos.

Claude

Configuración → Conectores → Añadir conector personalizado. Pega la URL, conéctate e inicia sesión con tu cuenta de Lots.

ChatGPT

Configuración → Apps y conectores → Avanzado → activa el modo de desarrollador y luego crea un conector con la URL e inicia sesión.

Claude Code

claude mcp add --transport http lots-blog https://api.lots.blog/mcp

Codex

codex mcp add lots-blog --url https://api.lots.blog/mcp

Cursor, Windsurf y otros

{
  "mcpServers": {
    "lots-blog": {
      "url": "https://api.lots.blog/mcp"
    }
  }
}

Agentes en la nube sin MCP

Dale al agente https://api.lots.blog/docs.md y una clave de API de lotstech.com/api. Llama a la API REST con Authorization: Bearer <key>.

Cada servidor usa OAuth: tu agente actúa como tú, dentro de tus propios roles y espacios de trabajo. Puedes desconectarlo en cualquier momento desde la aplicación.

30 herramientas, también endpoints REST.

Cada herramienta está disponible a través de MCP y como endpoint REST en https://api.lots.blog/api/v1/lotsblog.

Comprobar dominio

Comprueba el dominio personalizado del blog propiedad del usuario (verificación de DNS y certificado HTTPS) y, cuando esté configurado, su subdirectorio (obtiene example.com/blog/__lotsblog/subdirectory-check a través de la reescritura del usuario). Devuelve registros exactos o reglas de configuración y un siguiente paso en lenguaje sencillo. No cambia el DNS ni el sitio del usuario.

Comprobar financiación del producto

Comprueba la cobertura del plan, la financiación de créditos y las tasas de capacidad actuales. La cobertura del plan se usa primero; la capacidad adicional se paga automáticamente con los créditos del propietario, con cargo diario (primero créditos gratuitos, luego créditos del plan, luego comprados). Si los créditos son bajos, devuelve la settings_url proporcionada para que el propietario pueda recargar o elegir un plan.

Completar carga de imagen

Verifica el tamaño de la imagen cargada y los bytes mágicos antes de usarla en un artículo. Llama después de PUT a la URL devuelta por create_image_upload. Devuelve una URL pública de CDN.

Conectar dominio

Conecta el blog a la dirección propia del propietario. Sin ruta: conecta un nombre de host personalizado (como blog.example.com) y devuelve el CNAME exacto requerido y los registros DNS TXT opcionales; pide al usuario que los configure y luego llama a check_domain. Con ruta (como /blog): sirve el blog en example.com/blog a través de una reescritura en el sitio propio del usuario; devuelve el destino del proxy, el secreto privado del proxy y reglas listas para copiar en Cloudflare Workers, Vercel, Next.js, Netlify y Nginx. Las reglas nunca contienen el secreto: lo leen de un secreto de Worker o variable de entorno llamada LOTSBLOG_PROXY_SECRET (Nginx: un archivo include), y el secret_storage de cada regla indica dónde lo coloca el usuario. Entrega el secreto solo al propietario para configuraciones del lado del servidor, nunca en código ni en un archivo confirmado. Pide al usuario que añada una regla y luego llama a check_domain. Solo propietario; requiere un plan activo o créditos. Nunca cambia el DNS ni el sitio del usuario automáticamente y nunca reemplaza un dominio diferente existente. remove_subdirectory elimina una configuración de ruta.

Crear blog

Crea un blog alojado. Un plan cubre sus blogs incluidos; cada blog adicional cuesta la tarifa por blog de ese plan, y sin plan cada blog cuesta 9 $ al mes. La capacidad se paga automáticamente con los créditos del propietario, con cargo diario. Usa get_funding_status para conocer las tasas y el saldo actuales. Si los créditos son insuficientes, devuelve el enlace de configuración del propietario para que pueda recargar o elegir un plan. Devuelve el blog y la URL de alojamiento.

Crear publicación de blog

Crea un artículo con contenido en Markdown, metadatos, temas y JSON-LD complementario opcional como FAQPage. Por defecto es un borrador privado. Devuelve preview_url al usuario; se requiere inicio de sesión para la vista previa del borrador. Publica o programa solo bajo instrucciones explícitas del usuario. Usa list_topics para elegir topic_ids.

Crear carga de imagen

Prepara una carga de imagen local sin pasar base64 a través de MCP. Devuelve una URL PUT prefirmada de 15 minutos, encabezados y file_key. Haz PUT de los bytes locales y luego llama a complete_image_upload. JPEG, PNG, WebP o GIF, de máximo 25 MB. Requiere el plan del propietario del blog y permiso de creación. Las imágenes cargadas son públicas.

Crear tema

Crea un tema/categoría de artículo en el blog seleccionado. Un slug explícito se conserva y debe ser único dentro de ese blog; omítelo para generarlo a partir del nombre. Devuelve el ID numérico del tema para topic_ids en la creación/actualización de artículos.

Eliminar publicación de blog

Mueve una publicación a la Papelera bajo instrucciones del usuario. Sale del sitio público, el mapa del sitio, RSS y búsqueda de inmediato, y se informa a los motores de búsqueda de que ya no existe. Nada se elimina: restore_blog_post la devuelve a su estado anterior, y solo el propietario del blog o un administrador pueden eliminarla definitivamente desde la Papelera del panel. Los propietarios y administradores pueden enviar a la Papelera cualquier publicación; los editores y autores solo las suyas.

Eliminar medio

Elimina permanentemente una imagen no utilizada perteneciente a este blog, solo bajo instrucción del usuario. Las imágenes referenciadas por el contenido de artículos, portadas o la apariencia del blog no se pueden eliminar.

Eliminar tema

Elimina un tema/categoría bajo instrucciones del usuario. Los artículos permanecen intactos; se elimina su asociación con este tema. Los temas con hijos deben gestionarse primero. Selecciona el topic_id numérico de list_topics.

Obtener analíticas del blog

Recupera analíticas de tráfico y participación de un blog. IMPORTANTE: requiere blog_id — llama a list_blogs primero para obtener el UUID del blog.

Obtener detalles del blog

Lee el blog, el rol del usuario actual, la URL de alojamiento y la blog_guide privada en Markdown. Llama a list_blogs primero para seleccionar el blog. Lee la guía antes de escribir; es opcional y no debe copiarse en artículos públicos. subdirectory muestra una configuración de ruta en el sitio del propietario (example.com/blog): host, ruta, url, estado pendiente o verificado, y la última comprobación y error; es null cuando no hay ninguna. ga_measurement_id es el ID de medición GA4 del blog, o null.

Obtener publicación de blog

Lee el artículo guardado y sus metadatos por blog_id y post_id. Llama a list_blog_posts para encontrar los IDs de publicación. Usa esto para verificar el contenido guardado y el estado de publicación antes de reintentar una escritura incierta.

Obtener analíticas de publicación

Lee analíticas de tráfico y participación de un artículo. Selecciona blog_id de list_blogs y post_id de list_blog_posts. El tráfico no es una medición de ranking ni de citación por IA.

Obtener tema

Recupera los detalles de un tema específico del blog. IMPORTANTE: requiere blog_id y topic_id — llama a list_blogs para obtener el UUID del blog y luego list_topics para obtener el topic_id.

Revisión independiente de artículo

Comprobación de calidad de artículo de pago opcional solicitada por el usuario. Cobra créditos de LotsTech basados en tokens al propietario del blog por entrada y salida del modelo; el costo varía según la longitud del artículo y el uso. Establece authorize_charge=true para una comprobación de calidad de pago solicitada; no se requiere consentimiento de financiación de recursos separado. Nunca garantiza rankings ni bloquea la publicación. Máximo 45 000 caracteres; los reintentos con revisión sin cambios reutilizan la ejecución.

Listar publicaciones de blog

Lista las publicaciones del blog, de más reciente a más antigua, con filtros opcionales por tipo, estado y tema, y paginación. Las publicaciones en la Papelera se omiten a menos que el estado sea trashed.

Listar blogs

Recupera todos los blogs donde el usuario autenticado es propietario o miembro activo. Devuelve blogs con el rol del usuario en cada blog (owner, admin, editor, author, user). Esto es útil para mostrar un selector de blogs en la interfaz o para determinar qué blogs puede gestionar el usuario. Solo se incluyen membresías de blog activas (status='active' en la tabla blog_users). Los blogs se devuelven con sus URL de acceso (dominio personalizado o URL de subdominio).

Listar medios

Lista una página limitada de claves de imagen y URL de CDN para este blog. Usa next_cursor para continuar. Las imágenes cargadas a través de MCP son de acceso público.

Listar temas

Lista todos los temas/categorías de un blog. IMPORTANTE: requiere blog_id — llama a list_blogs primero para obtener el UUID del blog.

Publicar publicación

Publica la publicación guardada ahora, solo cuando el usuario indique la publicación. Selecciona blog_id de list_blogs y post_id de list_blog_posts. Devuelve el estado de publicación guardado.

Eliminar subdirectorio

Deja de servir el blog en una ruta del sitio propio del propietario (example.com/blog), bajo instrucción explícita del propietario. Las URL canónicas, el mapa del sitio y RSS vuelven al dominio personalizado verificado o a la dirección lots.blog, que dejan de redirigir a la ruta. Pide al usuario que elimine la reescritura de su sitio después. Elimina solo la configuración de ruta; los dominios personalizados se eliminan en el panel. Solo propietario. Requiere confirm=true. get_blog muestra la configuración de ruta actual.

Restaurar publicación

Restaura una publicación de la Papelera al estado que tenía antes (borrador, programada, publicada o archivada). Una programación que ya pasó vuelve como borrador. Restaurar una publicación publicada o programada requiere permiso de publicación o programación y financiación activa. Usa list_blog_posts con estado trashed para encontrar publicaciones en la Papelera.

Programar publicación

Programa la publicación guardada bajo las instrucciones del usuario. Usa una marca de tiempo ISO 8601 con zona horaria, al menos cinco minutos en el futuro. Selecciona post_id de list_blog_posts. Un estado programado no es confirmación de que el artículo ya esté en vivo.

Despublicar publicación

Mueve un artículo publicado o programado de vuelta a un borrador privado bajo instrucciones del usuario. Borra la hora de publicación y cualquier programación pendiente. La URL pública deja de servir el artículo.

Actualizar publicación de blog

Actualiza el contenido, metadatos, temas o estado de publicación del artículo existente. Los campos omitidos se conservan; topic_ids=[] borra los temas. Devuelve preview_url. Usa el post_id existente en lugar de crear un duplicado. Publica o programa solo bajo instrucciones del usuario.

Actualizar configuración del blog

Actualiza el nombre, título, privacidad o guía privada en Markdown del blog propiedad del usuario. Solo cambian los campos proporcionados. Usa connect_domain/check_domain para dominios personalizados; la apariencia y la configuración del equipo usan el panel. También establece robots.txt (robots_txt; «» restaura el valor predeterminado) y el ID de medición de Google Analytics 4 (ga_measurement_id; «» lo elimina).

Actualizar tema

Actualiza el nombre, descripción, slug o metadatos del tema. Los campos omitidos se conservan. Los slugs proporcionados se mantienen y deben ser únicos dentro del blog. Selecciona topic_id de list_topics.

Subir imagen de blog

Sube una imagen desde una image_url pública/firmada o una image_base64 pequeña. Para una captura de pantalla local o una imagen más grande, prefiere create_image_upload y luego complete_image_upload. Devuelve la URL pública de CDN para featured_image en create_blog_post/update_blog_post o en el Markdown del artículo. Requiere el plan activo del propietario del blog y permiso de creación de contenido; las URL de imágenes son públicas incluso para blogs privados.

Preguntas, respondidas.

¿Cuál es la URL del servidor MCP de LotsBlog?

https://api.lots.blog/mcp. Añádela como servidor MCP remoto (conector personalizado) en tu agente de IA e inicia sesión con tu cuenta de Lots.

¿Qué agentes funcionan con LotsBlog?

Claude, ChatGPT (modo de desarrollador), Claude Code, Codex, Cursor, Windsurf y cualquier otro cliente que admita MCP remoto con OAuth. Los agentes sin MCP usan la API REST con una clave de API.

¿Dónde están los documentos de la API de LotsBlog?

https://api.lots.blog/docs.md: Markdown escrito para que un agente de IA pueda leerlo. Las solicitudes van a https://api.lots.blog/api/v1/lotsblog con Authorization: Bearer <your key>.

¿Cómo obtengo una clave de API de LotsBlog?

Usa Generar clave en esta página o en lotstech.com/api. Inicia sesión con tu cuenta de LotsTech, nombra la clave y cópiala una vez. Puedes revocarla allí en cualquier momento.

¿El acceso a MCP o API cuesta extra?

No. Está incluido con LotsBlog. Solo pagas por el plan o uso propio de LotsBlog, y tu proveedor de IA factura su propio uso.