Contentstack MCP server
Contentstack in any MCP client, through Memtro: Contentstack does not publish this server. Memtro's Contentstack connector reads Contentstack through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Contentstack headless CMS: content types, entries by content type with locale, version, workflow stage and where each is published, an entry's fields, assets, environments, releases, workflows and the audit log of who changed what; when you ask, can create, update and delete entries, publish or unpublish entries and assets to environments (now or scheduled), update and delete assets, set an entry's workflow stage, create releases, add items to them and deploy them.
Reads
contentstack_list_content_typesContent types in the Contentstack stack (blog post, landing page, product…): uid, title, description, whether single or multiple…contentstack_list_entriesEntries of one content type: uid, title, URL, locale, version, tags, workflow stage, where and when each is published, created and updated.contentstack_get_entryOne Contentstack entry: its metadata, workflow stage and publish details, and its own fields (each cut to a few hundred characters…contentstack_list_assetsAssets (images, video, files) in the stack: uid, title, file name, type, size, URL, description, tags, folder, version and where each is published.contentstack_list_environmentsPublishing environments (development, staging, production…) with their uid and base URLs per locale; publish and release tools take environment names.contentstack_list_releasesReleases (sets of entries and assets published together): uid, name, description, locked, archived, number of items, created and updated.contentstack_list_workflowsWorkflows and their stages (uid and name), and the content types each applies to; contentstack_set_workflow_stage takes a stage uid from here.contentstack_audit_logThe stack's audit log for the last 30 days: what was created, updated, published, unpublished or deleted, in which module…
Acts, when you ask
These change something in Contentstack. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
contentstack_create_entryCreates an entry of the content type given, as an unpublished draft (nothing goes live until it is published).contentstack_update_entryUpdates an entry's title or fields and saves it as a new version (earlier versions stay in its history).contentstack_delete_entryPermanently deletes an entry (the master-locale entry, one localized version, or with all_locales the entry and every localization).contentstack_publish_entryPublishes an entry to the environments and locales given, now or at scheduled_at…contentstack_unpublish_entryUnpublishes an entry from the environments and locales given, now or at scheduled_at; it comes off those environments' sites.contentstack_publish_assetPublishes an asset to the environments and locales given, now or at scheduled_at, making the file live there.contentstack_unpublish_assetUnpublishes an asset from the environments and locales given, now or at scheduled_at; pages that use it there lose the file.contentstack_update_assetChanges an asset's title or description (its metadata; the file itself is not replaced).contentstack_delete_assetPermanently deletes an asset from the stack; entries that reference it lose the file.contentstack_set_workflow_stageMoves an entry to a workflow stage, with an optional comment, due date and assignees (user uids).contentstack_create_releaseCreates an empty release (a named set of entries and assets to publish together).contentstack_add_release_itemAdds an entry to a release, to be published or unpublished when the release is deployed.contentstack_deploy_releaseDeploys a release to the environments given, now or at scheduled_at: every item in it is published…
Connect it
First connect Contentstack on Dashboard → Connections, then add Memtro to your client once. The Contentstack tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Contentstack connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which blog posts changed this week and are not yet published?
- › Where is the pricing page entry published, and in which locales?
- › What is in the spring launch release?
- › Who deleted entries in the last week, according to the audit log?
- › Publish the spring launch post to production.
Questions
- Is this an official Contentstack MCP server?
- No. It is Memtro's MCP server with Memtro's Contentstack connector behind it: the connector reads Contentstack through its API with the credentials you connect on Dashboard → Connections, and Contentstack publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Contentstack?
- Only when you ask, and only what it has been granted: create a draft entry; update an entry (saves a new version); delete an entry (permanent); publish an entry to environments; unpublish an entry from environments; publish an asset to environments; unpublish an asset from environments; update an asset's title or description; delete an asset (permanent); move an entry to a workflow stage; create a release; add an entry to a release; deploy a release to environments. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.