Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Contentful con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA trabaje con tu contenido de Contentful: busca entradas y assets, lee tipos de contenido, locales y etiquetas, y crea, cambia, publica o despublica entradas. Token de delivery para leer, token de management para escribir.
Prueba a pedir
Prompts de ejemplo para Contentful
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Contentful, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Contentful + Cursor
Deja que tu IA trabaje con tu contenido de Contentful: busca entradas y assets, lee tipos de contenido, locales y etiquetas, y crea, cambia, publica o despublica entradas. Token de delivery para leer, token de management para escribir.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
CONTENTFUL_SPACE_ID, CONTENTFUL_ENVIRONMENT, CONTENTFUL_DELIVERY_URL, CONTENTFUL_DELIVERY_TOKEN
Paso 1 — Obtener credenciales
- En Contentful (
https://app.contentful.com), abre tu space y luego Settings → API keys → Add API key. Ponle un nombre (por ejemplo "AnythingMCP"), marca los environments que puede leer (al menosmaster) y guarda. - Copia el Space ID en
CONTENTFUL_SPACE_IDy el Content Delivery API access token enCONTENTFUL_DELIVERY_TOKEN. - Pon en
CONTENTFUL_ENVIRONMENTel id del environment, normalmentemaster. Los demás aparecen en Settings → Environments. - Pon en
CONTENTFUL_DELIVERY_URLhttps://cdn.contentful.com, ohttps://cdn.eu.contentful.compara un space en la región de datos de la UE, sin barra final. Para que la IA lea también los borradores, usahttps://preview.contentful.com(ohttps://preview.eu.contentful.com) junto con el Content Preview API access token de la misma clave. - Para escribir, crea un token de acceso personal: menú del avatar → Account settings → CMA tokens → Create personal access token. Elige una caducidad y copia el token enseguida, porque Contentful solo lo muestra una vez. Pégalo en
CONTENTFUL_MANAGEMENT_TOKEN, sin la palabra Bearer, y pon enCONTENTFUL_MANAGEMENT_URLhttps://api.contentful.com(ohttps://api.eu.contentful.com). El token actúa en tu nombre, en cada space que puedes editar. - Si tu organización tiene que aprobar los tokens de acceso personal, un admin de la organización abre Organization settings, busca el token en los ajustes de acceso de los tokens de acceso personal y le concede acceso. Hasta entonces, las herramientas de escritura responden 401
OrganizationAccessGrantRequired; la lectura con el token de delivery no se ve afectada. - Instala el conector y empieza con
contentful_get_space: devuelve el nombre del space y sus locales, una comprobación rápida de que el Space ID y el token de delivery van juntos.
Dos tokens, a propósito: el token de delivery lee el contenido publicado y nada más (también los borradores, con el token de preview), así que un conector configurado solo con los cuatro valores obligatorios puede consultarlo todo pero no cambia nada. Las escrituras, los borradores sin publicar, los spaces y los environments pasan por la Content Management API con el token de acceso personal. Si dejas vacíos CONTENTFUL_MANAGEMENT_URL y CONTENTFUL_MANAGEMENT_TOKEN, las herramientas de gestión simplemente avisan de que faltan.
Publicar cambia tu sitio en vivo: contentful_publish_entry y contentful_unpublish_entry cambian lo que ven los visitantes en tu web o tu app, así que la IA indica la entrada y el efecto y espera tu sí. contentful_delete_entry viene desactivada al instalar, porque una entrada borrada no se puede recuperar.
Cómo funcionan los cambios: contentful_list_content_types da los ids de los tipos de contenido y de los campos, contentful_list_locales los códigos de locale. Los valores de los campos van por id de campo y luego por locale, por ejemplo {"title": {"en-US": "Hello"}}. Antes de cada cambio la IA lee la entrada con contentful_get_entry_for_editing para obtener su sys.version actual; si otra persona guardó entretanto, Contentful responde 409 VersionMismatch y la IA vuelve a leer. contentful_update_entry sustituye todos los campos, así que lo que falte se borra; para uno o dos campos la IA usa contentful_patch_entry. Un cambio solo está en vivo cuando se publica la nueva versión.
Búsqueda: contentful_list_entries acepta un content_type, una búsqueda de texto completo query y otros filtros como fields.slug=hello o fields.date[gte]=2026-01-01. Para filtrar u ordenar por un campo hace falta content_type. Las entradas y los assets enlazados vuelven en includes, y las URL de los assets empiezan por //, así que la IA añade https:.
Paginación: las listas devuelven total, skip y limit (hasta 1.000); la página siguiente empieza en skip + limit.
Errores frecuentes: 401 AccessTokenInvalid significa un token incorrecto o caducado, o un token de delivery usado en el host de preview (o al revés). 404 NotFound es un id incorrecto, o un space o environment que el token no cubre: aquí Contentful responde 404, no 403. 400 "A Content Type ID is required" indica un filtro por campo sin content_type. 422 ValidationFailed nombra el campo vacío o que incumple una validación. 429 RateLimitExceeded: la management API permite unas 7 peticiones por segundo, así que espera y vuelve a intentarlo.
El conector no sube assets, no crea ni edita tipos de contenido, no gestiona environments, webhooks, roles ni apps y no usa la API GraphQL.
Paso 2 — Instalar el adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Paso 3 — Añadir el conector en Cursor
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
Cursor lee los servidores MCP de ~/.cursor/mcp.json. Añade esta entrada:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una clave de API MCP en AnythingMCP en MCP Servers → tu servidor → API keys y pégala en lugar de
YOUR_MCP_API_KEY. - Guarda el archivo y reinicia Cursor.
- Abre Cursor → Settings → MCP y comprueba que
anythingmcpaparece en la lista y está conectado. - Empieza a chatear: el agente ya puede usar las herramientas de
Contentful.
Herramientas disponibles
| Tool | What it does |
|---|---|
contentful_get_space | Read the space the connector is set up for (Content Delivery API): its name and locales with the default locale |
contentful_list_content_types | List the content types of the environment (Content Delivery API): for each its sys.id (the id entries are filtered by), name, displayField… |
contentful_get_content_type | Read one content type by id (Content Delivery API): its fields with id, name, type (Symbol, Text, RichText, Integer, Number, Date, Boolean… |
contentful_list_entries | Search published entries (Content Delivery API) |
contentful_get_entry | Read one published entry by id (Content Delivery API): sys (id, contentType, createdAt, updatedAt, revision), metadata.tags and fields |
contentful_list_assets | Search published assets (images, documents, videos) via the Content Delivery API |
contentful_get_asset | Read one published asset by id (Content Delivery API): title, description and file with url (prefix https:), fileName, contentType, size… |
contentful_list_locales | List the locales of the environment (Content Delivery API): code (e.g. en-US, de-DE), name, default flag and fallbackCode |
contentful_list_tags | List the public content tags of the environment (Content Delivery API) with sys.id and name |
contentful_list_spaces | List the spaces the management token can reach (Content Management API), with sys.id and name |
contentful_list_environments | List the environments of the space (Content Management API), e.g. master, staging, with sys.id, name, status and aliases |
contentful_list_all_entries | Search all entries including drafts and changed-but-unpublished versions (Content Management API) |
contentful_get_entry_for_editing | Read the latest version of an entry, draft changes included (Content Management API): fields with every locale, metadata.tags and… |
contentful_create_entry | Create a draft entry of a content type (Content Management API). fields maps each field id to its values per locale, e.g. {"title"… |
contentful_update_entry | Replace the fields of an entry (Content Management API) |
contentful_patch_entry | Change single fields of an entry with JSON Patch operations (Content Management API), leaving the rest untouched |
contentful_publish_entry | Publish an entry, making its current version visible on the website or app through the delivery API (Content Management API). version must… |
contentful_unpublish_entry | Unpublish an entry: it disappears from the delivery API, so from the website or app, and stays as a draft (Content Management API) |
contentful_delete_entry | Delete an entry for good (Content Management API) |
contentful_create_tag | Create a content tag in the environment (Content Management API) |
Ejemplos de prompts
- "Busca los artículos del blog que publicamos en los últimos 30 días y lista el título, el slug y el autor de cada uno."
- "¿Qué entradas tienen cambios guardados que aún no están publicados?"
- "Lista las imágenes que subimos este mes, con su tamaño de archivo y sus dimensiones."
- "Cambia el titular de la landing page de las rebajas de primavera a 'Rebajas de primavera: 20% en todo' y publícala cuando lo confirme."
FAQ
¿Cursor admite servidores MCP personalizados en el plan gratuito? Sí, MCP está disponible en los planes Hobby, Pro y Business.
Siguientes pasos
¿Te ha sido útil esta guía?