A Model Context Protocol (MCP) server that provides AI assistants with comprehensive tools to interact with Contentful APIs.
This MCP server provides a comprehensive set of tools for content management, allowing AI to help you create, edit, organize, and publish content directly within Contentful. Once configured, you can use natural language in your AI assistant of choice to manage and interact with your Contentful spaces, including:
- Content Creation: "Create a new blog post for our fall product launch"
- Content Management: "Update all product entries to include the new pricing structure"
- Asset Organization: "Upload and organize these marketing images by campaign"
- Workflow Automation: "Create an AI action that translates content to Spanish"
- Content Modeling: "Add a new field to the product content type for customer ratings"
- βοΈ Getting Started
- π οΈ Available Tools
- π Development
- π¦ Releases
- π€ Contributing
- π Documentation
- β Help & Support
- π License and Notices
- π‘οΈ Code of Conduct
- Node.js
- npm
- A Contentful account with a Space ID
- Contentful Management API personal access token
git clone https://github.com/contentful/contentful-mcp-server.git
cd contentful-mcp-server
npm install
npm run build
Environment Variable | Required | Default Value | Description |
---|---|---|---|
CONTENTFUL_MANAGEMENT_ACCESS_TOKEN |
β Yes | - | Your Contentful Management API personal access token |
SPACE_ID |
β Yes | - | Your Contentful Space ID |
ENVIRONMENT_ID |
β No | master |
Target environment within your space |
CONTENTFUL_HOST |
β No | api.contentful.com |
Contentful API host |
Refer to the documentation for your AI tool of choice for how to configure MCP servers. For example, see the documentation for Cursor, VS Code, or Claude Desktop.
Below is a sample configuration for Cursor:
{
"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",
"CONTENTFUL_HOST": "api.contentful.com"
}
}
}
}
Category | Tool Name | Description |
---|---|---|
Context & Setup | get_initial_context |
Initialize connection and get usage instructions |
Content Types | list_content_types |
List all content types |
get_content_type |
Get detailed content type information | |
create_content_type |
Create new content types | |
update_content_type |
Modify existing content types | |
publish_content_type |
Publish content type changes | |
unpublish_content_type |
Unpublish content types | |
delete_content_type |
Remove content types | |
Entries | search_entries |
Search and filter entries |
get_entry |
Retrieve specific entries | |
create_entry |
Create new content entries | |
update_entry |
Modify existing entries | |
publish_entry |
Publish entries (single or bulk) | |
unpublish_entry |
Unpublish entries (single or bulk) | |
delete_entry |
Remove entries | |
Assets | upload_asset |
Upload new assets |
list_assets |
List and browse assets | |
get_asset |
Retrieve specific assets | |
update_asset |
Modify asset metadata | |
publish_asset |
Publish assets (single or bulk) | |
unpublish_asset |
Unpublish assets (single or bulk) | |
delete_asset |
Remove assets | |
Spaces & Environments | list_spaces |
List available spaces |
get_space |
Get space details | |
list_environments |
List environments | |
create_environment |
Create new environments | |
delete_environment |
Remove environments | |
Locales | list_locales |
List all locales in your environment |
get_locale |
Retrieve specific locale information | |
create_locale |
Create new locales for multi-language content | |
update_locale |
Modify existing locale settings | |
delete_locale |
Remove locales from environment | |
Tags | list_tags |
List all tags |
create_tag |
Create new tags | |
AI Actions | create_ai_action |
Create custom AI-powered workflows |
invoke_ai_action |
Invoke an AI action with variables | |
get_ai_action_invocation |
Get AI action invocation details | |
get_ai_action |
Retrieve AI action details and configuration | |
list_ai_actions |
List AI actions in a space | |
update_ai_action |
Update existing AI actions | |
publish_ai_action |
Publish AI actions for use | |
unpublish_ai_action |
Unpublish AI actions | |
delete_ai_action |
Remove AI actions |
We welcome contributions! Please see our Contributing Guide for local development setup and contribution guidelines.
This project uses Nx Release for automated versioning and publishing. Releases are automatically generated based on Conventional Commits. See Contributing Guide for more information on release process.
This project is licensed under the MIT License. See LICENSE for details.
It also includes open-source components licensed under MIT, BSD-2-Clause, and Apache-2.0. For details, see the NOTICE file.
This project includes an automated license management system that keeps track of all dependencies and their licenses. See the AUTOMATION-FOR-LICENSES file for more information.
We want to provide a safe, inclusive, welcoming, and harassment-free space and experience for all participants, regardless of gender identity and expression, sexual orientation, disability, physical appearance, socioeconomic status, body size, ethnicity, nationality, level of experience, age, religion (or lack thereof), or other identity markers.