Contentful MCP
Vendor MCP70 toolsOAuth 2.1/DCRFiles & DocumentsProductivityCollaborationConnect to Contentful MCP. Manage spaces, entries, assets, content types, and taxonomies in your Contentful CMS from AI workflows.
Contentful MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'contentfulmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Contentful MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'contentfulmcp_get_initial_context',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "contentfulmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Contentful MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="contentfulmcp_get_initial_context",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Search semantic, entries — Find entries by meaning using semantic (vector) search
- References resolve entry — Recursively resolve an entry’s references and return the entry plus its descendant entries and linked assets, without issuing one fetch per descendant
- Field omit content type, disable content type, append entry — Mark a single content type field as omitted (or un-omitted) from API responses
- Get entry snapshot, space, org — Retrieve version history (snapshots) of an entry for safe rollback
- Delete content type field, locale, environment — Permanently mark a single content type field as deleted
- Asset upload, unpublish, unarchive — Upload a new asset to Contentful from a URL or file handle
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
contentfulmcp_append_entry_field#Append one or more items to an array-typed entry field (Array of Symbols, Links, or ResourceLinks) entirely server-side, deduplicating survivors before writing back only the target field/locale. Prefer this over update_entry when adding items to large reference arrays, since update_entry replaces the full array and can silently lose items if the agent held a truncated read.7 params
Append one or more items to an array-typed entry field (Array of Symbols, Links, or ResourceLinks) entirely server-side, deduplicating survivors before writing back only the target field/locale. Prefer this over update_entry when adding items to large reference arrays, since update_entry replaces the full array and can silently lose items if the agent held a truncated read.
entryIdstringrequiredThe ID of the entry to modify.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldIdstringrequiredThe ID of the array field to append to.localestringrequiredThe locale key to target (e.g. 'en-US'). Fields are locale-keyed; you must supply the exact locale string.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.valuesarrayrequiredOne or more items to append. Each item must match the element shape of the target array field: a plain string for Array of Symbols, {sys:{type:'Link', linkType:'Entry'|'Asset', id:'...'}} for Array of Links, or {sys:{type:'ResourceLink', linkType:'...', urn:'...'}} for Array of ResourceLinks.versionnumberoptionalOptional. The entry's sys.version as returned by get_entry. If provided, the append is rejected when the entry has changed since you read it. If omitted, the append targets the current server state without a version check.contentfulmcp_archive_asset#Archive one or more assets that are no longer needed but should be preserved.4 params
Archive one or more assets that are no longer needed but should be preserved.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_archive_entry#Archive one or more entries that are no longer needed but should be preserved.4 params
Archive one or more entries that are no longer needed but should be preserved.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_create_ai_action#Create a new AI action with a prompt instruction template, model configuration, and optional test cases.7 params
Create a new AI action with a prompt instruction template, model configuration, and optional test cases.
configurationobjectrequiredThe configuration for the AI actiondescriptionstringrequiredAn optional description for the resource.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.instructionobjectrequiredThe instruction for the AI actionnamestringrequiredA human-readable name for the resource.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.testCasesarrayoptionalTest cases for the AI actioncontentfulmcp_create_concept#Create a new taxonomy concept with labels, definitions, and hierarchical relationships.15 params
Create a new taxonomy concept with labels, definitions, and hierarchical relationships.
organizationIdstringrequiredThe unique identifier of the Contentful organization.prefLabelobjectrequiredThe preferred label for the concept (localized)altLabelsobjectoptionalAlternative labels for the concept (localized)broaderarrayoptionalLinks to broader conceptsconceptIdstringoptionalThe unique identifier of the taxonomy concept.definitionobjectoptionalDefinition of the concept (localized)editorialNoteobjectoptionalEditorial note for the concept (localized)exampleobjectoptionalExample for the concept (localized)hiddenLabelsobjectoptionalHidden labels for the concept (localized)historyNoteobjectoptionalHistory note for the concept (localized)notationsarrayoptionalAn array of notation strings for this concept.noteobjectoptionalGeneral note for the concept (localized)relatedarrayoptionalAn array of related concept IDs.scopeNoteobjectoptionalScope note for the concept (localized)uristringoptionalA unique URI identifying this concept or concept scheme.contentfulmcp_create_concept_scheme#Create a new taxonomy concept scheme for organizing related concepts.11 params
Create a new taxonomy concept scheme for organizing related concepts.
organizationIdstringrequiredThe unique identifier of the Contentful organization.prefLabelobjectrequiredThe preferred label for the concept scheme (localized)conceptSchemeIdstringoptionalThe unique identifier of the taxonomy concept scheme.definitionobjectoptionalDefinition of the concept scheme (localized)editorialNoteobjectoptionalEditorial note for the concept scheme (localized)exampleobjectoptionalExample for the concept scheme (localized)historyNoteobjectoptionalHistory note for the concept scheme (localized)noteobjectoptionalGeneral note for the concept scheme (localized)scopeNoteobjectoptionalScope note for the concept scheme (localized)topConceptsarrayoptionalLinks to top-level concepts in this schemeuristringoptionalA unique URI identifying this concept or concept scheme.contentfulmcp_create_content_type#Create a new content type with the specified fields in a Contentful environment.8 params
Create a new content type with the specified fields in a Contentful environment.
displayFieldstringrequiredThe ID of the field to use as the display field for the content type.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsarrayrequiredArray of field definitions for the content typenamestringrequiredA human-readable name for the resource.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentTypeIdstringoptionalThe ID of the content type. Use list_content_types to look up available IDs.descriptionstringoptionalAn optional description for the resource.metadataobjectoptionalNo description.contentfulmcp_create_entry#Create a new entry of a specified content type with the provided field values.5 params
Create a new entry of a specified content type with the provided field values.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsobjectrequiredThe field values for the new entry. Keys should be field IDs and values should be the field content.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.metadataobjectoptionalNo description.contentfulmcp_create_environment#Create a new environment in a Contentful space, optionally cloning from an existing one.4 params
Create a new environment in a Contentful space, optionally cloning from an existing one.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.namestringrequiredA human-readable name for the resource.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.sourceEnvironmentIdstringoptionalThe ID of the environment to clone when creating the new environment.contentfulmcp_create_locale#Create a new locale in a Contentful environment with the specified language code and settings.9 params
Create a new locale in a Contentful environment with the specified language code and settings.
codestringrequiredThe locale code in BCP 47 format (e.g. 'en-US', 'de-DE').environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fallbackCodestringrequiredThe locale code to fall back to when content is not available in this locale.namestringrequiredA human-readable name for the resource.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentDeliveryApibooleanoptionalWhether this locale is enabled for the Content Delivery API.contentManagementApibooleanoptionalWhether this locale is enabled for the Content Management API.defaultbooleanoptionalWhether this locale is the default locale for the environment.optionalbooleanoptionalWhether this locale is optional (allows missing translations).contentfulmcp_create_tag#Create a new tag with the specified ID, name, and visibility in a Contentful environment.5 params
Create a new tag with the specified ID, name, and visibility in a Contentful environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.idstringrequiredThe unique identifier for the tag (must be unique within the environment).namestringrequiredA human-readable name for the resource.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.visibilitystringrequiredControls tag visibility. Accepted values: public, private.contentfulmcp_create_upload_session#Create a short-lived upload session for staging a binary file to Contentful before creating an asset.0 params
Create a short-lived upload session for staging a binary file to Contentful before creating an asset.
contentfulmcp_delete_ai_action#Permanently delete an AI action from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.5 params
Permanently delete an AI action from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_asset#Permanently delete an asset from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.5 params
Permanently delete an asset from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_concept#Permanently delete a taxonomy concept by its ID. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.4 params
Permanently delete a taxonomy concept by its ID. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
conceptIdstringrequiredThe unique identifier of the taxonomy concept.organizationIdstringrequiredThe unique identifier of the Contentful organization.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_concept_scheme#Permanently delete a taxonomy concept scheme by its ID. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.4 params
Permanently delete a taxonomy concept scheme by its ID. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
conceptSchemeIdstringrequiredThe unique identifier of the taxonomy concept scheme.organizationIdstringrequiredThe unique identifier of the Contentful organization.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_content_type#Permanently delete an unpublished content type from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.5 params
Permanently delete an unpublished content type from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_content_type_field#Permanently mark a single content type field as deleted. Destructive and irreversible once published. The field must not be required and must already be omitted in the published version of the content type (run omit_content_type_field then publish_content_type first). Use disable_content_type_field instead to temporarily hide a field.4 params
Permanently mark a single content type field as deleted. Destructive and irreversible once published. The field must not be required and must already be omitted in the published version of the content type (run omit_content_type_field then publish_content_type first). Use disable_content_type_field instead to temporarily hide a field.
contentTypeIdstringrequiredThe ID of the content type containing the field.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldIdstringrequiredThe ID of the field to delete.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_delete_entry#Permanently delete an entry from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.5 params
Permanently delete an entry from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_environment#Permanently delete an environment from a Contentful space. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.4 params
Permanently delete an environment from a Contentful space. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_delete_locale#Permanently delete a locale from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.5 params
Permanently delete a locale from a Contentful environment. This is a two-phase operation: the first call (without confirm/confirmToken) returns a preview and a confirmToken; call again with confirm: true and that confirmToken to complete the deletion.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.localeIdstringrequiredThe unique identifier of the locale (e.g. 'en-US').spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.confirmbooleanoptionalSet to true on the second call to actually perform the deletion. Required together with confirmToken.confirmTokenstringoptionalToken returned by the preview call; must be supplied with confirm: true.contentfulmcp_disable_content_type_field#Toggle the disabled and/or omitted flags on a single content type field. Disabling hides the field from the editor UI; omitting removes it from API responses. Both flags are reversible and take effect only after the content type is published.6 params
Toggle the disabled and/or omitted flags on a single content type field. Disabling hides the field from the editor UI; omitting removes it from API responses. Both flags are reversible and take effect only after the content type is published.
contentTypeIdstringrequiredThe ID of the content type containing the field.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldIdstringrequiredThe ID of the field to update.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.disabledbooleanoptionalSet to true to disable the field in the editor UI (editors cannot edit it), false to re-enable. Takes effect once the content type is published.omittedbooleanoptionalSet to true to omit the field from API responses, false to include it again. Takes effect once the content type is published. Prefer omit_content_type_field when only changing this flag.contentfulmcp_get_ai_action#Retrieve details of a specific AI action including its instruction template and configuration.3 params
Retrieve details of a specific AI action including its instruction template and configuration.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_ai_action_invocation#Retrieve the result and status of a specific AI action invocation.4 params
Retrieve the result and status of a specific AI action invocation.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.invocationIdstringrequiredThe unique identifier of the AI action invocation.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_asset#Retrieve details of a specific asset including its file metadata and upload status.3 params
Retrieve details of a specific asset including its file metadata and upload status.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_concept#Retrieve details of a specific taxonomy concept including labels and relationships.2 params
Retrieve details of a specific taxonomy concept including labels and relationships.
conceptIdstringrequiredThe unique identifier of the taxonomy concept.organizationIdstringrequiredThe unique identifier of the Contentful organization.contentfulmcp_get_concept_scheme#Retrieve details of a specific taxonomy concept scheme including its top-level concepts.2 params
Retrieve details of a specific taxonomy concept scheme including its top-level concepts.
conceptSchemeIdstringrequiredThe unique identifier of the taxonomy concept scheme.organizationIdstringrequiredThe unique identifier of the Contentful organization.contentfulmcp_get_content_type#Retrieve the field definitions and metadata of a specific content type.3 params
Retrieve the field definitions and metadata of a specific content type.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_editor_interface#Retrieve the editor interface configuration for a specific content type.3 params
Retrieve the editor interface configuration for a specific content type.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_entry#Retrieve a single entry by its ID from a Contentful space and environment.3 params
Retrieve a single entry by its ID from a Contentful space and environment.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_entry_snapshot#Retrieve version history (snapshots) of an entry for safe rollback. Call with only an entryId to list all available snapshots, or with both entryId and snapshotId to retrieve the full field content of that specific snapshot.4 params
Retrieve version history (snapshots) of an entry for safe rollback. Call with only an entryId to list all available snapshots, or with both entryId and snapshotId to retrieve the full field content of that specific snapshot.
entryIdstringrequiredThe ID of the entry to retrieve snapshots for.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.snapshotIdstringoptionalOptional snapshot ID. When provided, returns the full content of that single snapshot. When omitted, lists all available snapshots for the entry.contentfulmcp_get_initial_context#Retrieve initial context and usage instructions for the Contentful MCP server. Call this before using other tools.0 params
Retrieve initial context and usage instructions for the Contentful MCP server. Call this before using other tools.
contentfulmcp_get_locale#Retrieve details of a specific locale including its fallback and API settings.3 params
Retrieve details of a specific locale including its fallback and API settings.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.localeIdstringrequiredThe unique identifier of the locale (e.g. 'en-US').spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_get_org#Retrieve details of a specific Contentful organization by its ID.1 param
Retrieve details of a specific Contentful organization by its ID.
organizationIdstringrequiredThe unique identifier of the Contentful organization.contentfulmcp_get_space#Retrieve details of a specific Contentful space by its ID.1 param
Retrieve details of a specific Contentful space by its ID.
spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_invoke_ai_action#Execute an AI action with the specified variable values and return the generated result.4 params
Execute an AI action with the specified variable values and return the generated result.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsarrayrequiredNo description.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_list_ai_actions#Retrieve a paginated list of AI actions defined in a Contentful environment.7 params
Retrieve a paginated list of AI actions defined in a Contentful environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.includenumberoptionalNumber of levels of linked entries to resolve and include in the response.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_assets#Retrieve a paginated list of assets in a Contentful environment with optional filters.9 params
Retrieve a paginated list of assets in a Contentful environment with optional filters.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.includenumberoptionalNumber of levels of linked entries to resolve and include in the response.limitnumberoptionalMaximum number of items to return per page (max 1000).links_to_entrystringoptionalReturn only assets or entries that link to the specified entry ID.localestringoptionalThe locale code to filter results by (e.g. 'en-US').orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_concept_schemes#Retrieve taxonomy concept schemes in a Contentful organization.2 params
Retrieve taxonomy concept schemes in a Contentful organization.
organizationIdstringrequiredThe unique identifier of the Contentful organization.querystringoptionalQuery parameters for listing concept schemes, supports either pageUrl for cursor-based pagination. Offset "skip" pagination is not supported.contentfulmcp_list_concepts#Retrieve taxonomy concepts in a Contentful organization with optional ancestor/descendant traversal.9 params
Retrieve taxonomy concepts in a Contentful organization with optional ancestor/descendant traversal.
organizationIdstringrequiredThe unique identifier of the Contentful organization.conceptIdstringoptionalThe unique identifier of the taxonomy concept.getAncestorsbooleanoptionalSet to true to return ancestor concepts of the specified concept.getDescendantsbooleanoptionalSet to true to return descendant concepts of the specified concept.getTotalOnlybooleanoptionalSet to true to return only the total count of concepts.includenumberoptionalNumber of levels of linked entries to resolve and include in the response.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.contentfulmcp_list_content_types#Retrieve a paginated list of content types in a Contentful environment.7 params
Retrieve a paginated list of content types in a Contentful environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.includenumberoptionalNumber of levels of linked entries to resolve and include in the response.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_editor_interfaces#Retrieve editor interface configurations for all content types in an environment.2 params
Retrieve editor interface configurations for all content types in an environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_list_environments#Retrieve a paginated list of environments within a Contentful space.6 params
Retrieve a paginated list of environments within a Contentful space.
spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.environmentIdstringoptionalThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_locales#Retrieve a paginated list of locales configured in a Contentful environment.7 params
Retrieve a paginated list of locales configured in a Contentful environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.includenumberoptionalNumber of levels of linked entries to resolve and include in the response.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_orgs#Retrieve a paginated list of Contentful organizations the user belongs to.4 params
Retrieve a paginated list of Contentful organizations the user belongs to.
limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_spaces#Retrieve a paginated list of Contentful spaces accessible to the authenticated user.4 params
Retrieve a paginated list of Contentful spaces accessible to the authenticated user.
limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_list_tags#Retrieve a paginated list of tags in a Contentful environment.6 params
Retrieve a paginated list of tags in a Contentful environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.limitnumberoptionalMaximum number of items to return per page (max 1000).orderstringoptionalField to order results by (prefix with '-' for descending, e.g. '-sys.updatedAt').selectstringoptionalComma-separated list of fields to include in the response.skipnumberoptionalNumber of items to skip for pagination.contentfulmcp_omit_content_type_field#Mark a single content type field as omitted (or un-omitted) from API responses. Reversible via the same tool with omitted=false. This is a prerequisite for delete_content_type_field: a field must be omitted in the published version before it can be deleted. Takes effect only after the content type is published.5 params
Mark a single content type field as omitted (or un-omitted) from API responses. Reversible via the same tool with omitted=false. This is a prerequisite for delete_content_type_field: a field must be omitted in the published version before it can be deleted. Takes effect only after the content type is published.
contentTypeIdstringrequiredThe ID of the content type containing the field.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldIdstringrequiredThe ID of the field to omit.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.omittedbooleanoptionalWhether the field should be omitted. Defaults to true. Set to false to un-omit a field.contentfulmcp_publish_ai_action#Publish an AI action to make it available for use in the Contentful editor.3 params
Publish an AI action to make it available for use in the Contentful editor.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_publish_asset#Publish one or more assets to make them available via the Content Delivery API.4 params
Publish one or more assets to make them available via the Content Delivery API.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_publish_content_type#Publish a content type to make it available for creating entries.3 params
Publish a content type to make it available for creating entries.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_publish_entry#Publish one or more entries to make them available via the Content Delivery API.4 params
Publish one or more entries to make them available via the Content Delivery API.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_resolve_entry_references#Recursively resolve an entry's references and return the entry plus its descendant entries and linked assets, without issuing one fetch per descendant. Set 'include' (1-10, default 2) to control how many levels deep to walk.4 params
Recursively resolve an entry's references and return the entry plus its descendant entries and linked assets, without issuing one fetch per descendant. Set 'include' (1-10, default 2) to control how many levels deep to walk.
entryIdstringrequiredThe ID of the entry whose references should be resolved.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.includeintegeroptionalHow many levels of linked entries to walk (1-10, default: 2). The CMA caps this at 10.contentfulmcp_search_entries#Search for entries in a Contentful space using flexible query parameters including field filters and full-text search.3 params
Search for entries in a Contentful space using flexible query parameters including field filters and full-text search.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.queryobjectrequiredFlexible search parameters supporting ANY Contentful API query parameter. Use fields.* for field searches, sys.* for system fields, and any other Contentful API parameter.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_semantic_search#Find entries by meaning using semantic (vector) search. Provide a descriptive natural-language query of what you're looking for; phrases resembling entry content work best. Optionally restrict to specific content types. Returns up to 10 matching entry references (unranked); use get_entry to fetch full content. Requires semantic search to be enabled for the environment.4 params
Find entries by meaning using semantic (vector) search. Provide a descriptive natural-language query of what you're looking for; phrases resembling entry content work best. Optionally restrict to specific content types. Returns up to 10 matching entry references (unranked); use get_entry to fetch full content. Requires semantic search to be enabled for the environment.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.querystringrequiredNatural-language description of what you are looking for. Phrases that resemble the content of the entries you want match best; avoid questions or JSON.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentTypeIdsarrayoptionalRestrict the search to entries of these content type IDs.contentfulmcp_unarchive_asset#Restore one or more archived assets to make them available for editing again.4 params
Restore one or more archived assets to make them available for editing again.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_unarchive_entry#Restore one or more archived entries to make them available for editing again.4 params
Restore one or more archived entries to make them available for editing again.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_unpublish_ai_action#Unpublish an AI action, removing it from the available actions in the editor.3 params
Unpublish an AI action, removing it from the available actions in the editor.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_unpublish_asset#Unpublish one or more assets, removing them from the Content Delivery API.4 params
Unpublish one or more assets, removing them from the Content Delivery API.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_unpublish_content_type#Unpublish a content type so it can no longer be used to create new entries.3 params
Unpublish a content type so it can no longer be used to create new entries.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_unpublish_entry#Unpublish one or more entries, removing them from the Content Delivery API.4 params
Unpublish one or more entries, removing them from the Content Delivery API.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.dryRunbooleanoptionalWhen true, returns a preview of the operation without executing it.contentfulmcp_update_ai_action#Update an existing AI action's instruction, configuration, or test cases.8 params
Update an existing AI action's instruction, configuration, or test cases.
aiActionIdstringrequiredThe unique identifier of the AI action.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.configurationobjectoptionalThe configuration for the AI actiondescriptionstringoptionalAn optional description for the resource.instructionobjectoptionalThe instruction for the AI actionnamestringoptionalA human-readable name for the resource.testCasesarrayoptionalTest cases for the AI actioncontentfulmcp_update_asset#Update an existing asset's fields or file metadata.5 params
Update an existing asset's fields or file metadata.
assetIdstringrequiredThe unique identifier of the asset.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsobjectrequiredThe field values to update. Keys should be field IDs and values should be the field content. Will be merged with existing fields.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.metadataobjectoptionalNo description.contentfulmcp_update_concept#Update an existing taxonomy concept's labels, relationships, or metadata.16 params
Update an existing taxonomy concept's labels, relationships, or metadata.
conceptIdstringrequiredThe unique identifier of the taxonomy concept.organizationIdstringrequiredThe unique identifier of the Contentful organization.versionnumberrequiredThe current version number of the resource, used for optimistic concurrency control.altLabelsobjectoptionalAlternative labels for the concept (localized)broaderarrayoptionalLinks to broader conceptsdefinitionobjectoptionalDefinition of the concept (localized)editorialNoteobjectoptionalEditorial note for the concept (localized)exampleobjectoptionalExample for the concept (localized)hiddenLabelsobjectoptionalHidden labels for the concept (localized)historyNoteobjectoptionalHistory note for the concept (localized)notationsarrayoptionalAn array of notation strings for this concept.noteobjectoptionalGeneral note for the concept (localized)prefLabelobjectoptionalThe preferred label for the concept (localized)relatedarrayoptionalAn array of related concept IDs.scopeNoteobjectoptionalScope note for the concept (localized)uristringoptionalA unique URI identifying this concept or concept scheme.contentfulmcp_update_concept_scheme#Update an existing taxonomy concept scheme's labels, definitions, or top-level concepts.13 params
Update an existing taxonomy concept scheme's labels, definitions, or top-level concepts.
conceptSchemeIdstringrequiredThe unique identifier of the taxonomy concept scheme.organizationIdstringrequiredThe unique identifier of the Contentful organization.versionnumberrequiredThe current version number of the resource, used for optimistic concurrency control.addConceptstringoptionalThe ID of the concept to add as a top-level concept in the scheme.definitionobjectoptionalDefinition of the concept scheme (localized)editorialNoteobjectoptionalEditorial note for the concept scheme (localized)exampleobjectoptionalExample for the concept scheme (localized)historyNoteobjectoptionalHistory note for the concept scheme (localized)noteobjectoptionalGeneral note for the concept scheme (localized)prefLabelobjectoptionalThe preferred label for the concept scheme (localized)scopeNoteobjectoptionalScope note for the concept scheme (localized)topConceptsarrayoptionalLinks to top-level concepts in this schemeuristringoptionalA unique URI identifying this concept or concept scheme.contentfulmcp_update_content_type#Update an existing content type's fields or metadata, merging with existing definitions.8 params
Update an existing content type's fields or metadata, merging with existing definitions.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.descriptionstringoptionalAn optional description for the resource.displayFieldstringoptionalThe ID of the field to use as the display field for the content type.fieldsarrayoptionalArray of field definitions for the content type. Will be merged with existing fields.metadataobjectoptionalNo description.namestringoptionalA human-readable name for the resource.contentfulmcp_update_editor_interface#Update the field controls, sidebar widgets, and layout for a content type editor.7 params
Update the field controls, sidebar widgets, and layout for a content type editor.
contentTypeIdstringrequiredThe ID of the content type. Use list_content_types to look up available IDs.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.controlsarrayoptionalArray of control definitions for fields in the content type. Each control defines which widget to use for a field.editorLayoutarrayoptionalEditor layout configuration for organizing fieldsgroupControlsarrayoptionalArray of group control definitions for field groupssidebararrayoptionalArray of sidebar widget configurationscontentfulmcp_update_entry#Update an existing entry by merging the provided field values with the existing ones. Requires the entry's current sys.version (obtained via get_entry) - the update is rejected if the version does not match, indicating the entry changed since it was last read.6 params
Update an existing entry by merging the provided field values with the existing ones. Requires the entry's current sys.version (obtained via get_entry) - the update is rejected if the version does not match, indicating the entry changed since it was last read.
entryIdstringrequiredThe unique identifier of the entry.environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsobjectrequiredThe field values to update. Keys should be field IDs and values should be the field content. Will be merged with existing fields.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.versionnumberrequiredREQUIRED. The entry's sys.version as returned by get_entry. You must call get_entry first to read the current state and version. The update is rejected if this does not match the entry's current version, which means the entry changed since you read it.metadataobjectoptionalNo description.contentfulmcp_update_locale#Update an existing locale's settings such as name, fallback, or API access flags.4 params
Update an existing locale's settings such as name, fallback, or API access flags.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fieldsobjectrequiredNo description.localeIdstringrequiredThe unique identifier of the locale (e.g. 'en-US').spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.contentfulmcp_upload_asset#Upload a new asset to Contentful from a URL or file handle.7 params
Upload a new asset to Contentful from a URL or file handle.
environmentIdstringrequiredThe Contentful environment ID (e.g. 'master', 'staging'). Find it in Settings > Environments.fileobjectrequiredThe file information for the asset. Prefer file.uploadHandle for remote uploads so the client can stage raw bytes to the worker first.spaceIdstringrequiredThe unique identifier of the Contentful space. Find it in your Contentful dashboard under Settings > General.titlestringrequiredThe title of the asset.descriptionstringoptionalAn optional description for the resource.localestringoptionalThe locale code to filter results by (e.g. 'en-US').metadataobjectoptionalNo description.