Integration

Contentstack integration

Contentstack is a headless CMS. With its Content Management API you can read content types and global fields, list, read, create, update, delete, publish and unpublish entries, list, read, delete, publish and unpublish assets, publish or unpublish many entries and assets at once, read an entry's references and languages, manage releases (create, add items, deploy, delete), and read environments, languages, labels, workflows, branches, taxonomies and their terms. Not exposed: creating or changing content types, global fields, environments, languages and workflows, asset upload, tokens (delivery and management tokens are secrets), webhooks, extensions, roles, users and stack administration, entry variants, and routes whose answer is undocumented (references of content types and assets, bulk job status, publish queue). Authentication is the stack API key (api_key header) plus a stack management token (authorization header), created under Settings > Tokens; the connection also asks for the region's API host.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Contentstack.Built from the 36 Contentstack tools below, on the connection you add once.

What you can do with Contentstack

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Entry, 5 operations

  • create_entryCreate entryPOSTCreates an entry of a content type from the field values in entry (title plus the content type's fields), in the master language unless locale is given, and returns it.
  • delete_entryDelete entryDELETEDeletes an entry: the master-language entry by default, one localized version with locale, or the master entry and every localized version with delete_all_localized=true.
  • get_entryGet entryGETReturns one entry with all its fields, in the master language unless locale is given, the latest version unless version is given.
  • list_entriesList entriesGETLists the entries of a content type (100 per call by default), in the master language unless locale is given. Filter with a JSON query and page with skip and limit.
  • update_entryUpdate entryPUTUpdates an entry's field values (or localizes it when locale names another language) and returns it. The docs do not say whether fields left out are kept: send every field to keep (get_entry gives them).

Release, 4 operations

  • create_releaseCreate releasePOSTCreates a release (a set of entries and assets to publish or unpublish together) and returns it.
  • delete_releaseDelete releaseDELETEDeletes a release (its entries and assets are not deleted).
  • get_releaseGet releaseGETReturns one release with its name, description and status.
  • list_releasesList releasesGETLists the stack's releases (name, description, locked, archived), with paging (limit, skip); include_items_count adds each release's number of items.

Asset, 3 operations

  • delete_assetDelete assetDELETEDeletes an asset from the stack.
  • get_assetGet assetGETReturns one asset (title, description, tags, folder and its file details and URL), the latest version unless version is given.
  • list_assetsList assetsGETLists the stack's assets (files and images with their title, description, tags and URL), optionally only one folder (folder, or cs_root for the root) and its subfolders (include_folders).

Locale, 3 operations

  • get_languageGet languageGETReturns one language of the stack with its name and fallback language.
  • list_entry_languagesList entry languagesGETLists the stack's languages for an entry and whether the entry is localized in each.
  • list_languagesList languagesGETLists the languages added to the stack (code, name, fallback language).

Publish, 3 operations

  • bulk_publishBulk publishPOSTPublishes several entries and assets at once (10 items per call, 1 call per second) to the given environments and locales, optionally with their referenced entries (publish_with_reference).
  • publish_assetPublish assetPOSTPublishes an asset to the environments and locales given in asset, now or at scheduled_at.
  • publish_entryPublish entryPOSTPublishes an entry to the environments and locales given in entry, now or at scheduled_at. The published content goes live on those environments.

Unpublish, 3 operations

  • bulk_unpublishBulk unpublishPOSTUnpublishes several entries and assets at once (10 items per call, 1 call per second) from the given environments and locales.
  • unpublish_assetUnpublish assetPOSTUnpublishes an asset from the environments and locales given in asset, now or at scheduled_at.
  • unpublish_entryUnpublish entryPOSTUnpublishes an entry from the environments and locales given in entry, now or at scheduled_at.

Content type, 2 operations

  • get_content_typeGet content typeGETReturns one content type with its schema (fields, data types, options), the latest version unless version is given.
  • list_content_typesList content typesGETLists the stack's content types (up to 100 per call) with their schema: fields, their types and options. Pass include_count for the total.

Environment, 2 operations

  • get_environmentGet environmentGETReturns one publishing environment with its URLs per locale.
  • list_environmentsList environmentsGETLists the stack's publishing environments (name, uid, URLs per locale).

Global field, 2 operations

  • get_global_fieldGet global fieldGETReturns one global field with its schema, the latest version unless version is given.
  • list_global_fieldsList global fieldsGETLists the stack's global fields (reusable field groups) with their schema.

Item, 2 operations

  • add_release_itemsAdd release itemsPOSTAdds up to 25 entries or assets to a release, each with the action to take (publish or unpublish). For an asset, content_type_uid is built_io_upload.
  • list_release_itemsList release itemsGETLists the items (entries and assets) of a release with their version, locale and action (publish or unpublish).

Branch, 1 operation

  • list_branchesList branchesGETLists the stack's branches (uid and source branch), with paging (limit, skip).

Deploy, 1 operation

  • deploy_releaseDeploy releasePOSTDeploys a release: publishes or unpublishes all its items on the given environments, now or at scheduled_at.

Label, 1 operation

  • list_labelsList labelsGETLists the labels used to group content types (name, parent labels, content types).

Reference, 1 operation

  • list_entry_referencesList entry referencesGETLists the entries that reference this entry (title, entry UID, locale, content type).

Taxonomy, 1 operation

  • list_taxonomiesList taxonomiesGETLists the stack's taxonomies (classification trees for entries: uid, name, description), with optional counts of terms and referencing entries.

Term, 1 operation

  • list_taxonomy_termsList taxonomy termsGETLists the terms of a taxonomy (uid, name, parent term, order) from the root down to depth, with optional child and entry counts.

Workflow, 1 operation

  • list_workflowsList workflowsGETLists the stack's workflows with their stages and the content types they apply to.

Use Contentstack from Claude Code, Cursor or Codex

Connect Contentstack in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Contentstack operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Contentstack

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Contentstack once

    Add your Contentstack connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Contentstack integration FAQ

What can you do with the Contentstack integration?

LiveContext exposes 36 operations on Contentstack, covering entry, release, asset and locale.

Popular integrations

Browse the whole catalog