DatoCMS MCP server
DatoCMS in any MCP client, through Memtro: DatoCMS does not publish this server. Memtro's DatoCMS connector reads DatoCMS 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
DatoCMS: the project's models, records (drafts or published) with their fields, one record in full, and the media library; syncs changed records hourly; can create, update, publish, unpublish, schedule, duplicate and delete records and edit or delete media assets.
Reads
datocms_list_modelsThe DatoCMS project's models (content types): name, api_key, id, and whether a singleton.datocms_list_recordsDatoCMS records: model, title, status (draft, updated or published), dates and a preview of each field.datocms_get_recordOne DatoCMS record by id, with every field (each cut to 1,500 characters): model, status, dates, and the field values.datocms_list_uploadsThe DatoCMS media library: file name, address, type, size, dimensions, alt and title, author, copyright, tags and dates.
Acts, when you ask
These change something in DatoCMS. 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.
datocms_create_recordCreate a DatoCMS record of one model, as a draft where the model uses drafts (publish it with datocms_publish_record).datocms_update_recordChange fields on a DatoCMS record.datocms_publish_recordPublish a DatoCMS record so it goes live on the delivery API and the site, and fires any publish webhooks or builds the project has.datocms_unpublish_recordUnpublish a DatoCMS record so it leaves the delivery API and the live site (it stays as a draft).datocms_delete_recordPermanently delete a DatoCMS record, published or not.datocms_duplicate_recordDuplicate a DatoCMS record as a new draft record of the same model.datocms_schedule_publicationSchedule a DatoCMS record to publish at a future time, when it goes live on the site.datocms_schedule_unpublishingSchedule a DatoCMS record to be unpublished at a future time, when it leaves the live site.datocms_bulk_publish_recordsPublish up to 200 named DatoCMS records at once, as a background job; each goes live on the site.datocms_update_uploadEdit a DatoCMS media asset's metadata: author, copyright, notes, tags, file basename, and the default alt text and title per locale.datocms_delete_uploadPermanently delete a DatoCMS media asset.
Connect it
First connect DatoCMS on Dashboard → Connections, then add Memtro to your client once. The DatoCMS 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 DatoCMS 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 have unpublished changes?
- › What changed in the product catalogue this week?
- › Which images in the media library have no alt text?
- › Show me the published version of record 81234.
- › Publish the three blog posts Sarah updated today.
Questions
- Is this an official DatoCMS MCP server?
- No. It is Memtro's MCP server with Memtro's DatoCMS connector behind it: the connector reads DatoCMS through its API with the credentials you connect on Dashboard → Connections, and DatoCMS 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 DatoCMS?
- Only when you ask, and only what it has been granted: create a DatoCMS record (as a draft); update a DatoCMS record's fields; publish a DatoCMS record (live on the site); unpublish a DatoCMS record (taken off the site); delete a DatoCMS record (permanent); duplicate a DatoCMS record; schedule a DatoCMS record to publish; schedule a DatoCMS record to unpublish; publish up to 200 named DatoCMS records at once; edit a DatoCMS media asset's metadata; delete a DatoCMS media asset (permanent). 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.