CMSKite

Función · Para desarrolladores

Un CMS headless para blogs que pueden usar tu código y tu asistente de IA.

Los redactores usan el panel. Tu sitio lee los artículos publicados por una API REST con una clave de solo lectura. Un asistente de IA trabaja con un servidor MCP: agregas una URL e inicias sesión, y solo puede hacer lo que tu rol permite, en los espacios de trabajo que elegiste. En un plan de pago, el contenido puede vivir en tu propio MongoDB y las imágenes en tu propio bucket.

PanelEmpieza gratisSin tarjeta. Tu blog queda publicado en un minuto.
La página de claves de API de un sitio web: una tabla de claves con el nombre de cada una, la clave enmascarada, las fechas de creación y último uso y su estado, y un botón para crear una clave.
Las claves de proyecto son de solo lectura y ven los artículos publicados de un sitio web.

Qué hay

PiezaQué es
API RESThttps://api.cmskite.com/v1: artículos, categorías, etiquetas, autores, multimedia, búsqueda y cifras de lectores. La versión va en la ruta. El documento OpenAPI es público en api.cmskite.com/openapi.json.
SDKcmskite en npm. Tipos de TypeScript, sin dependencias, ESM y CommonJS, más un contador de visitas para el navegador y React.
Servidor MCPhttps://api.cmskite.com/mcp. Permite que Claude, ChatGPT, Cursor y otros clientes MCP lean y escriban tu contenido después de iniciar sesión. Nada que instalar.
WebhooksUn POST firmado a tu URL cuando un artículo se publica, se actualiza, se despublica o se elimina.
Tu propia infraestructuraEl contenido en tu clúster de MongoDB y las imágenes en tu propio bucket, en los planes de pago.

¿No eres desarrollador? No necesitas nada de esto. Las dos líneas de código y el enlace gratuito del blog funcionan sin programar.

Dos credenciales, dos trabajos

Clave de API del proyectoHerramienta de IA conectada
Se ve asícsk_live_…Nada que veas: la herramienta inicia sesión y guarda su propia credencial
ParaTu sitio web, tu compilación, el contador de visitasUn asistente de IA, un script, un job de CI
PuedeLeer el contenido publicado de un sitio web. Nada más.Solo lo que marcaste, nunca más de lo que permite el rol de su dueño, revisado en cada solicitud
¿Segura en un navegador?Sí. Limítala a tus dominios con los orígenes permitidos.No. Puede escribir y eliminar.
Se crea enSitio web → Claves de API → Crear claveEn tu herramienta de IA: agrega la URL, inicia sesión y pulsa Permitir. Aparece en Configuración → Apps conectadas

Las dos se muestran una sola vez, al crearlas, y se guardan solo como un hash con clave. Una clave de proyecto no tiene permiso de escritura que se pueda dar por error, porque la API con claves no tiene ninguna ruta de escritura. Free permite dos claves activas por sitio web; los planes de pago no tienen límite de claves.

Hay cosas que ninguna herramienta de IA conectada puede hacer nunca, pueda o no hacerlas su dueño: revocar claves, eliminar un sitio web o un espacio de trabajo, cambiar el plan o invitar personas. Todo el detalle: Authentication (en inglés).

Leer artículos toma unas pocas líneas

bash
npm install cmskite
La página de un artículo en Next.js, en esencia · ts
import { createCMSKite } from 'cmskite'

const cms = createCMSKite({ apiKey: process.env.CMSKITE_KEY! })

// The index: a page of published posts (bodies left out of lists).
const { items } = await cms.posts.list({ limit: 10 })

// One post by its address. null rather than a throw when there is none.
const post = await cms.posts.findBySlug(slug)
if (!post) notFound()

// A renamed post still resolves; send the old address to the new one.
if (post.slugRedirectedFrom) redirect(`/blog/${post.slug}`)

La paginación es por cursor, y cms.posts.all() recorre todos los artículos como un iterador asíncrono, para sitemaps y compilaciones estáticas. Los errores llegan como un único CMSKiteError con el estado, un código de error y un id de solicitud. Sin el SDK, es HTTP simple con un bearer token:

bash
curl "https://api.cmskite.com/v1/blog/posts?limit=10" \
  -H "Authorization: Bearer csk_live_..."

Empieza por el Quickstart (en inglés), luego la guía del SDK (en inglés) y la referencia de la API (en inglés).

Un CMS de blog con MCP

Agrega https://api.cmskite.com/mcp a tu herramienta de IA: un comando en Claude Code o Codex, una entrada en un archivo de configuración en Gemini CLI, Cursor, VS Code o Windsurf, un conector personalizado en Claude, ChatGPT o Lovable. La herramienta abre CMSKite en tu navegador: inicia sesión, elige todos tus espacios de trabajo o uno solo, decide si puede eliminar y pulsa Permitir. No se muestra ni se pega ninguna clave, y puedes desconectarla cuando quieras en Configuración → Apps conectadas.

Claude Code (CLI) · bash
claude mcp add --transport http cmskite https://api.cmskite.com/mcp
Codex CLI (OpenAI) · bash
codex mcp add cmskite --url https://api.cmskite.com/mcp
Cursor · ~/.cursor/mcp.json · json
{
  "mcpServers": {
    "cmskite": {
      "url": "https://api.cmskite.com/mcp"
    }
  }
}

Luego pídele las cosas con tus palabras: “Escribe un borrador sobre el cuidado de la piel en temporada de lluvias y ponlo en la categoría Piel”. El asistente lee tus categorías, escribe el artículo y lo deja como borrador, salvo que tú le pidas publicarlo. También puede armar un sitio completo: crear el sitio web, escribir artículos, generar la clave de solo lectura y comprobar que las visitas están llegando.

La configuración paso a paso de cada herramienta, todos los permisos y las herramientas detrás de cada uno: MCP and automation (en inglés).

Webhooks

Agrega un endpoint en Configuración del sitio → Webhooks y elige los eventos: post.published, post.updated, post.unpublished, post.deleted. Cada entrega es un POST con JSON, que normalmente se usa para recompilar un sitio estático en cuanto cambia un artículo.

  • Firmado: CMSKite-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256> sobre <t>.<raw body>. El secreto de firma se muestra una sola vez. Rechaza las marcas de tiempo de más de cinco minutos.
  • Una entrega fallida se reintenta. Después de 20 fallas seguidas el endpoint se desactiva, para no insistir para siempre contra una URL muerta.
  • La tarjeta muestra la última entrega y el estado de cada endpoint. Los registros de entregas se guardan 90 días.

Tu blog en tu propia base de datos

En todos los planes de pago, un sitio web puede guardar su contenido en un clúster de MongoDB tuyo y sus imágenes en tu propio bucket: Cloudflare R2, Amazon S3, cualquier almacenamiento compatible con S3, o Cloudinary. Se configura en Base de datos y almacenamiento.

  1. Probar

    La conexión se revisa antes de guardarla, así que una contraseña equivocada o una red bloqueada aparece en pantalla y no después como un error para un lector.

  2. Migrar

    El contenido existente se copia y se verifican los conteos. Se puede reanudar, y no se borra nada de nuestro lado.

  3. Activar

    Las lecturas y escrituras pasan a tu clúster. Cada artículo conserva su id y su slug, así que tu sitio web no nota nada.

Las credenciales se cifran y no se vuelven a mostrar. Desconectar hace que el sitio web vuelva a nuestra base de datos y no borra nada de la tuya, y puedes exportar todo como JSON delimitado por saltos de línea cuando quieras. Lo que hay que considerar: la ubicación y la disponibilidad de tu clúster pasan a ser las de la API. Las cifras de lectores, el uso y el registro de actividad se quedan con nosotros. Detalles: Bring your own database (en inglés).

Límites y lo que incluye cada plan

Las solicitudes por segundo usan un token bucket definido por tu plan, y cada respuesta trae los encabezados RateLimit-Policy y RateLimit para que un cliente baje el ritmo antes de que lo rechacen; un 429 agrega Retry-After. Las solicitudes al mes son la cuota de abajo. La búsqueda de texto completo y el desglose del tráfico por endpoint están en los planes de pago. Consulta Rate limits and quotas (en inglés).

FreeStarterTeam
PrecioGratis para siempreMX$ 149 al mesMX$ 449 al mes
Solicitudes a la API10K / mes100K / mes500K / mes
Sitios web115
Almacenamiento de imágenes100 MB1 GB20 GB

Preguntas frecuentes

¿Hay una especificación OpenAPI?
Sí, pública y sin autenticación en https://api.cmskite.com/openapi.json. Los tipos del SDK salen de la misma API.
¿Puedo crear artículos por la API?
Los artículos se escriben en el panel o con una herramienta de IA que conectas por MCP: agrega la URL, inicia sesión y pulsa Permitir. La API pública es de solo lectura: las claves de proyecto solo leen contenido publicado, y eso es lo que las hace seguras para poner en un sitio web.
¿Puedo poner la clave de API en el código del frontend?
La clave de proyecto, sí: es de solo lectura y solo ve artículos publicados. Agrega tus dominios a los orígenes permitidos para que un navegador en otro sitio no pueda usarla. Es la única credencial que una página necesita.
¿Qué asistentes de IA funcionan con el servidor MCP?
Cualquier cliente MCP que admita servidores remotos con inicio de sesión: Claude, ChatGPT, Claude Code, Cursor, VS Code, Lovable y más. La configuración es la misma URL en todos.
¿Qué planes incluyen mi propia base de datos y almacenamiento?
Todos los planes de pago. El plan gratuito usa nuestra base de datos y almacenamiento administrados.
¿Necesito el SDK?
No. Todo es HTTP simple con un bearer token. El SDK te ahorra escribir tú mismo la paginación por cursor, las redirecciones de slug, las respuestas tipadas y el contador de visitas.

Revisado el