Codegea

Desarrollo

Desarrollo de software a medidaSistemas, plataformas e integraciones hechas a la medida de tu operaciónSitios corporativosProfesional, rápido y pensado para generar confianzaTiendas onlineCatálogo, pagos y envíos listos para vender las 24 horasWooCommerceTiendas WooCommerce rápidas, con pagos y factura de cada paísLanding pagesUna página enfocada en un solo objetivo: convertir visitantes en clientesApps móvilesApps iOS y Android a medida que ponen tu negocio en el bolsillo de tus clientes

Integración y CMS

Integraciones CMSWordPress, Strapi, Directus y Arc XP conectados a todo tu ecosistemaArc XPSoporte, implementación e integraciones para la plataforma de mediosMigracionesMigra tu sitio, plataforma o base de datos sin perder nada

Crecimiento e infraestructura

Automatización con IALa tecnología hace lo repetitivo y tu equipo se enfoca en lo que importaSEO on-pageQue Google te encuentre y te recomiende: optimización técnica y de contenidoServidores y hostingServidores rápidos y seguros, monitoreados 24/7
RetainerTu equipo dev, por mesDesde 20h al mes. Cuota fija.
Un cotizador con IA para cotizar servicios en minutosCotizaciones profesionales en minutos, con seguimiento de proyectos, vendedores y pagos en un solo lugar.Ver el caso

Por tipo

EcommerceTiendas y catálogosSitios corporativosMarca y captaciónPlataformas y appsSoftware a medida

Explorar

Todos los proyectosCasos y resultadosClientesQuién confía en nosotrosRetainerEquipo dev mensual

Blog

Todos los artículosGuías y opiniónBoletínUn correo al mesContactoRespondemos en 24h

Últimos artículos

Así está construido codegea.com: Next.js, Payload, Turso y R2CMS · 2026-10-20Cloudflare Workers: qué son y cuándo conviene usarlosNode.js · 2026-10-19Live Preview en Payload con Next.jsCMS · 2026-10-19
BoletínÚnete a nuestro boletínNotas prácticas de web, SEO e IA.
ServiciosDesarrollo de software a medidaSitios corporativosTiendas onlineWooCommerceLanding pagesApps móvilesIntegraciones CMSArc XPMigracionesAutomatización con IASEO on-pageServidores y hostingTu equipo dev, por mes
ProyectosCotizaciones profesionales en minutos, con seguimiento de proyectos, vendedores y pagos en un solo lugar.EcommerceSitios corporativosPlataformas y appsTodos los proyectosClientesRetainer
Retainer
BlogTodos los artículosBoletínContactoAsí está construido codegea.com: Next.js, Payload, Turso y R2Cloudflare Workers: qué son y cuándo conviene usarlosLive Preview en Payload con Next.jsÚnete a nuestro boletín
ESEN
Hablemos

CMS

Un servidor MCP sobre tu CMS con Payload

Cómo exponer tu contenido de Payload CMS por MCP para que un asistente como Claude lo lea y lo cree, con claves de API y permisos por colección.

Derian Pinto · Founder & Full Stack Developer2026-10-182 min

MCP (Model Context Protocol) es un estándar para que un asistente de IA pueda usar herramientas externas. Si tu CMS lo habla, el asistente puede leer tus artículos, crear uno nuevo o corregir un campo sin que copies y pegues nada. Payload tiene un plugin oficial para esto. Así lo usamos en este sitio.

Qué consigues

Con el servidor MCP activo, desde un asistente puedes pedir cosas como «lista los artículos de la categoría CMS» o «crea un borrador con este texto». El asistente llama al CMS por el protocolo, con permisos que tú defines, no por la pantalla del panel.

Paso 1: instala el plugin

pnpm add @payloadcms/plugin-mcp

Paso 2: elige qué se expone

Lo importante del plugin es lo que no activas. En plugins/index.ts:

mcpPlugin({
  userCollection: 'users',
  collections: {
    posts: {
      enabled: true,
      description: 'Artículos del blog, localizados en es y en.',
    },
    projects: {
      enabled: true,
      description: 'Casos y proyectos entregados, localizados en es y en.',
    },
    categories: { enabled: true },
    authors: { enabled: true },
    media: { enabled: { find: true, create: true, update: true } },
  },
  globals: {
    'site-settings': { enabled: true, description: 'Contacto, redes y clientes.' },
    header: { enabled: true, description: 'Menú principal y megamenú.' },
    footer: { enabled: true, description: 'Pie de página.' },
  },
}),

Fíjate en tres cosas:

  • Solo expones lo que el asistente necesita. Nuestras colecciones de usuarios o de envíos de formularios no aparecen.
  • La description de cada colección ayuda al asistente a saber para qué sirve. Escríbela como se la explicarías a una persona nueva.
  • En media se activan solo find, create y update. No hay delete.

Paso 3: controla quién puede entrar

Las claves de API viven en su propia colección. Nosotros ajustamos su control de acceso para que solo usuarios autenticados las gestionen:

overrideApiKeyCollection: (collection) => ({
  ...collection,
  access: {
    admin: ({ req }) => Boolean(req.user),
    read: authenticated,
    create: authenticated,
    update: authenticated,
    delete: authenticated,
  },
}),

Paso 4: crea una clave y conecta el asistente

En el panel de administración, en la sección MCP → API Keys, crea una clave y revisa los permisos que el plugin te deja asignar. Luego, con Claude Code:

claude mcp add --transport http codegea http://localhost:4000/api/mcp \
  --header "Authorization: Bearer <API_KEY>"

El servidor responde en /api/mcp de tu propia aplicación. En producción, cambia la URL por la de tu dominio.

Buenas prácticas

  • Una clave por persona o herramienta, con los permisos mínimos. Así revocas una sin afectar al resto.
  • No subas la clave al repositorio. Se guarda en la configuración del asistente, no en el código.
  • Empieza con permisos de lectura y añade escritura cuando sepas qué necesitas.
  • Revisa lo que crea. Un asistente puede publicar texto sin revisar. Deja las escrituras en borrador si tu flujo lo permite.
  • Ten en cuenta el contenido que lee. Lo que está en tu CMS pasa al asistente como contexto; si hay datos privados, no habilites esa colección.

Cuándo no vale la pena

Si editas contenido unas pocas veces al mes, el panel de siempre es más simple. MCP se paga solo cuando haces tareas repetitivas o por lotes: migrar cien artículos, traducir, revisar campos SEO, subir imágenes con su texto alternativo.

Más sobre el CMS que usamos en Payload vs Strapi vs Directus.

¿Compartir este artículo?LinkedInWhatsAppX

Escrito por

Derian Pinto

Founder & Full Stack Developer

Fundador de Codegea. Desarrolla sitios, tiendas y plataformas a medida, e integra y da soporte a Arc XP para medios.

Únete a nuestro boletín

Un correo con novedades y notas prácticas de web, SEO e IA. Sin spam, y te das de baja cuando quieras.

¿Montamos tu proyecto?

¿Necesitas ayuda? Chatea con nosotros