Contentful MCP Server for Claude
Create, update, publish, and manage content in Contentful from Claude — entries, assets, content types, locales, spaces, environments, and AI actions — with the official Contentful Management API MCP server supporting semantic search and vector-based content discovery.
Open the source and read safety notes before installing.
Safety notes
- This server uses the Contentful Management API — it can create, update, publish, unpublish, and delete entries, assets, content types, and environments.
- Use `PROTECTED_ENVIRONMENTS` (comma-separated list) to block write/delete operations on specific environments like `master` or `staging`.
- Creating or deleting Contentful environments is irreversible for the deleted environment; confirm before executing destructive operations.
Privacy notes
- Content entries, asset metadata, content type schemas, locale settings, and AI action configurations from your Contentful space are surfaced in Claude's context.
- Your `CONTENTFUL_MANAGEMENT_ACCESS_TOKEN` grants full read/write access to the space — treat it as a secret and do not commit it to version control.
Prerequisites
- A Contentful account with a Space ID (Dashboard → Settings → General Settings).
- A Contentful Management API (CMA) personal access token (Dashboard → Settings → API Keys → Personal Access Tokens).
- Node.js with `npx` available.
- An MCP client such as Claude Code or Claude Desktop.
Schema details
- Install type
- cli
- Troubleshooting
- No
- Scope
- Source repo
- Estimated setup
- 10 minutes
- Difficulty
- intermediate
- Website
- https://www.contentful.com
- Disclosure
- Contentful is a commercial headless CMS. The MCP server is officially maintained by Contentful.
Full copyable content
{
"mcpServers": {
"contentful-mcp": {
"command": "npx",
"args": ["-y", "@contentful/mcp-server"],
"env": {
"CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "your-cma-token",
"SPACE_ID": "your-space-id",
"ENVIRONMENT_ID": "master"
}
}
}
}About this resource
Overview
The Contentful MCP Server is the official Model Context Protocol server from
Contentful, the leading headless CMS. It gives Claude full
access to the Contentful Management API — creating, updating, publishing, and deleting entries,
assets, content types, locales, spaces, and environments using natural language. Also supports
Contentful AI Actions for custom AI-powered workflows and vector-based semantic_search for
meaning-based content discovery. Licensed under MIT.
Key capabilities
- Entries — create, search, get, update, publish, unpublish, delete; semantic vector search.
- Assets — upload, list, get, update, publish, unpublish, delete marketing images and files.
- Content types — create, update, publish, unpublish, delete content models.
- Spaces & environments — list spaces, create/delete environments, manage locales.
- AI Actions — create, invoke, and manage Contentful's built-in AI workflow actions.
- Protected environments — block writes to specified environments (e.g.
master) to prevent accidental changes.
Tools (40+)
| Category | Tools |
|---|---|
| Entries | search_entries, semantic_search, get_entry, create_entry, update_entry, publish_entry, unpublish_entry, delete_entry |
| Assets | upload_asset, list_assets, get_asset, update_asset, publish_asset, unpublish_asset, delete_asset |
| Content Types | list_content_types, get_content_type, create_content_type, update_content_type, publish_content_type, delete_content_type |
| Spaces | list_spaces, get_space, list_environments, create_environment, delete_environment |
| Locales | list_locales, create_locale, update_locale, delete_locale |
| AI Actions | create_ai_action, invoke_ai_action, list_ai_actions, publish_ai_action, delete_ai_action |
How it compares
| Server | Entries CRUD | Asset mgmt | Semantic search | AI Actions | Auth |
|---|---|---|---|---|---|
| Contentful MCP | Yes | Yes | Yes | Yes | CMA token |
| Strapi MCP | Yes | Yes | No | No | API key |
| Sanity MCP | Yes | Yes | No | No | OAuth |
| Ghost MCP | Yes | Limited | No | No | API key |
Contentful's semantic_search tool enables vector-based meaning search over entries — not just
keyword filtering — making it the only headless CMS MCP server with native AI-powered content
discovery.
Installation
Claude Code
claude mcp add contentful \
-e CONTENTFUL_MANAGEMENT_ACCESS_TOKEN=your-cma-token \
-e SPACE_ID=your-space-id \
-- npx -y @contentful/mcp-server
Claude Desktop
{
"mcpServers": {
"contentful-mcp": {
"command": "npx",
"args": ["-y", "@contentful/mcp-server"],
"env": {
"CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "your-cma-token",
"SPACE_ID": "your-space-id",
"ENVIRONMENT_ID": "master"
}
}
}
}
Protecting environments
Add PROTECTED_ENVIRONMENTS=master,staging to block write/delete operations on those environments.
Requirements
- A Contentful account with Space ID and CMA personal access token.
- Node.js with
npx. - An MCP client (Claude Code or Claude Desktop).
Security
- Use
PROTECTED_ENVIRONMENTSto prevent accidental writes tomasteror other sensitive environments. - CMA tokens have full read/write access — scope to least privilege if possible.
Source Verification Notes
Verified on 2026-06-18:
- Official GitHub repository
contentful/contentful-mcp-server(MIT, 58 stars) documents the@contentful/mcp-servernpm package, theCONTENTFUL_MANAGEMENT_ACCESS_TOKEN,SPACE_ID,ENVIRONMENT_ID, andPROTECTED_ENVIRONMENTSconfig, all 40+ tools across entries/assets/content-types/spaces/locales/AI-actions, and the Claude Desktop.dxtrelease artifact. - Claude Code MCP documentation at
code.claude.com/docs/en/mcpdescribes the stdio connector setup pattern used above.
Source citations
Add this badge to your README
How it compares
Contentful MCP Server for Claude side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
| Field | Contentful MCP Server for Claude Create, update, publish, and manage content in Contentful from Claude — entries, assets, content types, locales, spaces, environments, and AI actions — with the official Contentful Management API MCP server supporting semantic search and vector-based content discovery. Open dossier | Sanity MCP Server for Claude Manage Sanity content from Claude — query documents with GROQ, create and publish content, deploy schemas and studios, manage releases, search documentation, and generate images — with the official Sanity remote MCP server hosted at mcp.sanity.io. Open dossier | Webflow MCP Server for Claude Manage Webflow sites, pages, CMS collections, collection items, assets, and forms from Claude — with the official Webflow MCP server that connects AI agents to the Webflow Data API via OAuth. Open dossier | Adyen MCP Server for Claude Integrate with Adyen's payment platform from Claude — create payment sessions and links, cancel/refund payments, manage terminals, webhooks, API credentials, and merchant accounts — with the official Adyen Model Context Protocol server covering Checkout and Management APIs. Open dossier |
|---|---|---|---|---|
| Trust | ||||
| Install risk | Review first | Review first | Review first | Review first |
| Notes | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ |
| Category | mcp | mcp | mcp | mcp |
| Source | source-backed | source-backed | source-backed | source-backed |
| Author | Contentful | Sanity | Webflow | Adyen |
| Added | 2026-06-18 | 2026-06-18 | 2026-06-18 | 2026-06-18 |
| Platforms | Claude CodeCodexCursorClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop |
| Source repo | — | — | — | — |
| Safety notes | ✓This server uses the Contentful Management API — it can create, update, publish, unpublish, and delete entries, assets, content types, and environments. Use `PROTECTED_ENVIRONMENTS` (comma-separated list) to block write/delete operations on specific environments like `master` or `staging`. Creating or deleting Contentful environments is irreversible for the deleted environment; confirm before executing destructive operations. | ✓Content creation, publishing, schema deployment, and studio operations are live — changes affect your Sanity project immediately. The `deploy_schema` and `deploy_studio` tools push changes to production; review carefully before executing. | ✓CMS collection item create, update, and delete operations write directly to your Webflow project — confirm before applying changes to live sites. Publishing operations make content publicly visible immediately; review changes before asking Claude to publish. The remote server requires OAuth authorization — you control which sites Claude can access during the OAuth flow. | ✓This server can create payment sessions, generate payment links, cancel authorized payments, and initiate refunds — these are live financial operations. Use `--env=TEST` during development with Adyen's test API keys to avoid live transactions. Restrict enabled tools to only what is needed via the `--tools` parameter (e.g., `--tools=create_session,list_merchants`). |
| Privacy notes | ✓Content entries, asset metadata, content type schemas, locale settings, and AI action configurations from your Contentful space are surfaced in Claude's context. Your `CONTENTFUL_MANAGEMENT_ACCESS_TOKEN` grants full read/write access to the space — treat it as a secret and do not commit it to version control. | ✓Document content, schema definitions, dataset configurations, release metadata, and embedding index data from your Sanity project are surfaced in Claude's context. Authentication uses your Sanity account via OAuth — no API tokens are stored in the MCP configuration. | ✓Site structure, page content, CMS collection schemas, collection items, form submissions, and asset metadata from your Webflow workspace are surfaced in Claude's context. OAuth authentication scopes access to specific sites you authorize — no credentials are stored in your MCP config when using the remote server. | ✓Payment session data, merchant account details, terminal configurations, and webhook payloads from your Adyen instance are surfaced in Claude's context. Your Adyen API key is passed as a CLI argument — use environment variable substitution (e.g., `--adyenApiKey=${ADYEN_API_KEY}`) to avoid exposing it in config files. |
| Prerequisites |
|
|
|
|
| Install | | | | |
| Config | | | | |
| Citations | ||||
| Claim | Unclaimed | Unclaimed | Unclaimed | Unclaimed |
Signals
Loading live community signals…
A short, calm digest of reviewed Claude resources. Unsubscribe any time.