Пропустите установку. Заработает меньше чем за 2 минуты.
Начните бесплатный период на cloud.anythingmcp.com, добавьте Contentful одним кликом и направьте свой ИИ-клиент (Claude, ChatGPT, Copilot или Cursor) на сгенерированный MCP-эндпоинт. Без Docker, без git clone, без опыта разработки.
Кратко
Дайте ИИ работать с контентом в Contentful: искать записи и ассеты, читать типы контента, локали и теги, а также создавать, изменять, публиковать и снимать с публикации записи. Delivery-токен для чтения, management-токен для записи.
Попробуй спросить
Примеры промптов для Contentful
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
💡 Без установки? Используйте cloud.anythingmcp.com напрямую. Войдите, нажмите Connectors → Contentful, вставьте учётные данные, создайте MCP API key, и готово. Без Docker, без
git clone, без локального сервера.
Contentful
Дайте ИИ работать с контентом в Contentful: искать записи и ассеты, читать типы контента, локали и теги, а также создавать, изменять, публиковать и снимать с публикации записи. Delivery-токен для чтения, management-токен для записи.
Настройка
- В Contentful (
https://app.contentful.com) откройте свой space, затем Settings → API keys → Add API key. Задайте ключу имя (например, «AnythingMCP»), отметьте окружения, которые он может читать (как минимумmaster), и сохраните. - Скопируйте Space ID в
CONTENTFUL_SPACE_ID, а Content Delivery API access token вCONTENTFUL_DELIVERY_TOKEN. - Укажите в
CONTENTFUL_ENVIRONMENTid окружения, обычноmaster. Остальные окружения перечислены в Settings → Environments. - Укажите в
CONTENTFUL_DELIVERY_URLадресhttps://cdn.contentful.com, а для space в регионе данных ЕСhttps://cdn.eu.contentful.com, без косой черты в конце. Чтобы ИИ читал и черновики, используйтеhttps://preview.contentful.com(илиhttps://preview.eu.contentful.com) вместе с Content Preview API access token того же ключа. - Для записи создайте персональный токен доступа: меню аватара → Account settings → CMA tokens → Create personal access token. Выберите срок действия и сразу скопируйте токен: Contentful показывает его только один раз. Вставьте его в
CONTENTFUL_MANAGEMENT_TOKENбез слова Bearer и укажите вCONTENTFUL_MANAGEMENT_URLадресhttps://api.contentful.com(илиhttps://api.eu.contentful.com). Токен действует от вашего имени во всех spaces, которые вы можете редактировать. - Если ваша организация должна одобрять персональные токены доступа, администратор организации открывает Organization settings, находит токен в настройках доступа для персональных токенов и предоставляет ему доступ. До этого инструменты записи отвечают 401
OrganizationAccessGrantRequired; чтение через delivery-токен это не затрагивает. - Установите коннектор и начните с
contentful_get_space: он возвращает название space и его локали, это быстрая проверка того, что Space ID и delivery-токен подходят друг к другу.
Два токена, и это намеренно: delivery-токен читает только опубликованный контент (с preview-токеном ещё и черновики), поэтому коннектор, настроенный только с четырьмя обязательными значениями, может всё найти, но ничего не меняет. Запись, неопубликованные черновики, spaces и окружения идут через Content Management API с персональным токеном доступа. Если оставить CONTENTFUL_MANAGEMENT_URL и CONTENTFUL_MANAGEMENT_TOKEN пустыми, инструменты управления просто сообщат, что этих значений не хватает.
Публикация меняет ваш рабочий сайт: contentful_publish_entry и contentful_unpublish_entry меняют то, что посетители видят на вашем сайте или в приложении, поэтому ИИ называет запись и последствия и ждёт вашего «да». contentful_delete_entry при установке выключен, потому что удалённую запись нельзя восстановить.
Как работают изменения: contentful_list_content_types даёт id типов контента и полей, contentful_list_locales коды локалей. Значения полей хранятся по id поля, а внутри по локали, например {"title": {"en-US": "Hello"}}. Перед каждым изменением ИИ читает запись через contentful_get_entry_for_editing, чтобы получить её текущую sys.version; если кто-то сохранил запись в промежутке, Contentful отвечает 409 VersionMismatch, и ИИ читает её заново. contentful_update_entry заменяет все поля, и всё, что не передано, удаляется; для одного-двух полей ИИ использует contentful_patch_entry. Изменение появляется на сайте только после публикации новой версии.
Поиск: contentful_list_entries принимает content_type, полнотекстовый query и дополнительные фильтры, например fields.slug=hello или fields.date[gte]=2026-01-01. Для фильтрации или сортировки по полю нужен content_type. Связанные записи и ассеты возвращаются в includes, а URL ассетов начинаются с //, поэтому ИИ добавляет https:.
Пагинация: списки возвращают total, skip и limit (до 1000); следующая страница начинается с skip + limit.
Частые ошибки: 401 AccessTokenInvalid означает неверный или просроченный токен либо delivery-токен на preview-хосте (или наоборот). 404 NotFound означает неверный id либо space или окружение, к которым у токена нет доступа: здесь Contentful отвечает 404, а не 403. 400 «A Content Type ID is required» означает фильтр по полю без content_type. 422 ValidationFailed называет поле, которое пустое или нарушает правило валидации. 429 RateLimitExceeded: management API допускает около 7 запросов в секунду, подождите и повторите.
Коннектор не загружает ассеты, не создаёт и не редактирует типы контента, не управляет окружениями, вебхуками, ролями и приложениями и не использует GraphQL API.
Предварительные требования: CONTENTFUL_SPACE_ID, CONTENTFUL_ENVIRONMENT, CONTENTFUL_DELIVERY_URL, CONTENTFUL_DELIVERY_TOKEN
Локальная установка коннектора
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
Откройте http://localhost:3000/connectors/store, выберите Contentful и введите переменные, перечисленные в Предварительных требованиях.
Доступные инструменты
| 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) |
Примеры запросов
- «Найди статьи блога, опубликованные за последние 30 дней, и перечисли заголовок, slug и автора каждой.»
- «В каких записях есть сохранённые, но ещё не опубликованные изменения?»
- «Перечисли изображения, загруженные в этом месяце, с размером файла и разрешением.»
- «Измени заголовок лендинга весенней распродажи на „Весенняя распродажа: скидка 20% на всё“ и опубликуй его после моего подтверждения.»
Следующие шаги
Это руководство помогло?