@contentful/mcp-server 1.20.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -63,15 +63,15 @@ npm run build
63
63
 
64
64
  ### Environment Variables
65
65
 
66
- | Environment Variable | Required | Default Value | Description |
67
- | ------------------------------------ | -------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
- | `CONTENTFUL_MANAGEMENT_ACCESS_TOKEN` | ✅ Yes | - | Your Contentful Management API personal access token |
69
- | `SPACE_ID` | ✅ Yes | - | Your Contentful Space ID |
70
- | `ENVIRONMENT_ID` | ❌ No | `master` | Target environment within your space |
71
- | `CONTENTFUL_HOST` | ❌ No | `api.contentful.com` | Contentful API host |
72
- | `EXPORT_BASE_DIR` | ❌ No | `process.cwd()` | Server-controlled root directory for `export_space` output. The tool creates a dedicated subdirectory per export. |
73
- | `NODE_ENV` | ❌ No | `production` | Node Environment to run in |
74
- | `MAX_BULK_SIZE` | ❌ No | `10` | Maximum number of IDs allowed in a single bulk-operation tool call (1–100). Caps publish/unpublish/archive/unarchive on entries and assets. Mitigates accidental mass operations from AI hallucinations. |
66
+ | Environment Variable | Required | Default Value | Description |
67
+ | ------------------------------------ | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
68
+ | `CONTENTFUL_MANAGEMENT_ACCESS_TOKEN` | ✅ Yes | - | Your Contentful Management API personal access token |
69
+ | `SPACE_ID` | ✅ Yes | - | Your Contentful Space ID |
70
+ | `ENVIRONMENT_ID` | ❌ No | `master` | Target environment within your space |
71
+ | `CONTENTFUL_HOST` | ❌ No | `api.contentful.com` | Contentful API host |
72
+ | `EXPORT_BASE_DIR` | ❌ No | `process.cwd()` | Server-controlled root directory for `export_space` output. The tool creates a dedicated subdirectory per export. |
73
+ | `NODE_ENV` | ❌ No | `production` | Node Environment to run in |
74
+ | `MAX_BULK_SIZE` | ❌ No | `10` | Maximum number of IDs allowed in a single bulk-operation tool call (1–100). Caps publish/unpublish/archive/unarchive on entries and assets. Mitigates accidental mass operations from AI hallucinations. |
75
75
  | `ENABLE_EXO_TOOLS` | ❌ No | `false` | Opt in to Experience Orchestration (ExO) tools. Set to `true` to register the ExO tool collections (components, data assemblies, design tokens, experiences, experience templates, experience fragments). Also requires the token to hold the `exoM1` entitlement in at least one accessible org — both gates must pass. |
76
76
 
77
77
  ### Configuration
@@ -99,72 +99,82 @@ Below is a sample configuration:
99
99
 
100
100
  ## 🛠️ Available Tools
101
101
 
102
- | Category | Tool Name | Description |
103
- | ------------------------- | ---------------------------------- | ------------------------------------------------ |
104
- | **Context & Setup** | `get_initial_context` | Initialize connection and get usage instructions |
105
- | **Content Types** | `list_content_types` | List content types (max 10 per request) |
106
- | | `get_content_type` | Get detailed content type information |
107
- | | `create_content_type` | Create new content types |
108
- | | `update_content_type` | Modify existing content types |
109
- | | `publish_content_type` | Publish content type changes |
110
- | | `unpublish_content_type` | Unpublish content types |
111
- | | `delete_content_type` | Remove content types |
112
- | **Entries** | `search_entries` | Search and filter entries in your space |
113
- | | `get_entry` | Retrieve specific entries |
114
- | | `get_entry_snapshot` | Retrieve entry version history (snapshots) |
115
- | | `create_entry` | Create new content entries with locale support |
116
- | | `update_entry` | Modify existing entries with locale support |
117
- | | `publish_entry` | Publish entries (single or bulk up to 100) |
118
- | | `unpublish_entry` | Unpublish entries (single or bulk up to 100) |
119
- | | `delete_entry` | Remove entries |
120
- | | `resolve_entry_references` | Recursively resolve an entry's references tree |
121
- | **Editor Interfaces** | `list_editor_interfaces` | List all editor interfaces in a space |
122
- | | `get_editor_interface` | Get editor interface for a content type |
123
- | | `update_editor_interface` | Update field controls, sidebars, and layouts |
124
- | **Assets** | `upload_asset` | Upload new assets |
125
- | | `list_assets` | List and browse assets (max 3 per request) |
126
- | | `get_asset` | Retrieve specific assets |
127
- | | `update_asset` | Modify asset metadata |
128
- | | `publish_asset` | Publish assets (single or bulk up to 100) |
129
- | | `unpublish_asset` | Unpublish assets (single or bulk up to 100) |
130
- | | `delete_asset` | Remove assets |
131
- | **Spaces & Environments** | `list_spaces` | List available spaces (max 10 per request) |
132
- | | `get_space` | Get space details |
133
- | | `list_environments` | List environments in a space |
134
- | | `create_environment` | Create new environments |
135
- | | `delete_environment` | Remove environments |
136
- | **Locales** | `list_locales` | List all locales in your environment |
137
- | | `get_locale` | Retrieve specific locale information |
138
- | | `create_locale` | Create new locales for multi-language content |
139
- | | `update_locale` | Modify existing locale settings |
140
- | | `delete_locale` | Remove locales from environment |
141
- | **Tags** | `list_tags` | List all tags in an environment |
142
- | | `create_tag` | Create new tags with public/private visibility |
143
- | **Organizations** | `list_orgs` | List organizations user has access to |
144
- | | `get_org` | Get details of a specific organization |
145
- | **AI Actions** | `create_ai_action` | Create custom AI-powered workflows |
146
- | | `invoke_ai_action` | Invoke AI action with variables (bulk support) |
147
- | | `get_ai_action_invocation` | Get AI action invocation details |
148
- | | `get_ai_action` | Retrieve AI action details and configuration |
149
- | | `list_ai_actions` | List AI actions in a space (max 3 per request) |
150
- | | `update_ai_action` | Update existing AI actions |
151
- | | `publish_ai_action` | Publish AI actions for use |
152
- | | `unpublish_ai_action` | Unpublish AI actions |
153
- | | `delete_ai_action` | Remove AI actions |
154
- | **Taxonomy Concepts** | `create_concept` | Create new taxonomy concepts with localization |
155
- | | `get_concept` | Retrieve specific taxonomy concept |
156
- | | `list_concepts` | List concepts with filtering and hierarchy |
157
- | | `update_concept` | Update taxonomy concept properties |
158
- | | `delete_concept` | Remove taxonomy concepts |
159
- | **Taxonomy Schemes** | `create_concept_scheme` | Create new taxonomy concept schemes |
160
- | | `get_concept_scheme` | Retrieve specific concept scheme |
161
- | | `list_concept_schemes` | List concept schemes with pagination |
162
- | | `update_concept_scheme` | Update concept scheme properties |
163
- | | `delete_concept_scheme` | Remove concept schemes |
164
- | **Space Migration** | `space_to_space_migration_handler` | Enable/disable space migration workflow |
165
- | | `space_to_space_param_collection` | Collect parameters for migration workflow |
166
- | | `export_space` | Export space to file for migration |
167
- | | `import_space` | Import space from exported file |
102
+ | Category | Tool Name | Description |
103
+ | ------------------------- | ---------------------------------- | ----------------------------------------------------------------------------------------- |
104
+ | **Context & Setup** | `get_initial_context` | Initialize connection and get usage instructions |
105
+ | **Content Types** | `list_content_types` | List content types (max 10 per request) |
106
+ | | `get_content_type` | Get detailed content type information |
107
+ | | `create_content_type` | Create new content types |
108
+ | | `update_content_type` | Modify existing content types |
109
+ | | `publish_content_type` | Publish content type changes |
110
+ | | `unpublish_content_type` | Unpublish content types |
111
+ | | `delete_content_type` | Remove content types |
112
+ | **Entries** | `search_entries` | Search and filter entries in your space |
113
+ | | `get_entry` | Retrieve specific entries |
114
+ | | `get_entry_snapshot` | Retrieve entry version history (snapshots) |
115
+ | | `create_entry` | Create new content entries with locale support |
116
+ | | `update_entry` | Modify existing entries with locale support |
117
+ | | `publish_entry` | Publish entries (single or bulk up to 100) |
118
+ | | `unpublish_entry` | Unpublish entries (single or bulk up to 100) |
119
+ | | `delete_entry` | Remove entries |
120
+ | | `resolve_entry_references` | Recursively resolve an entry's references tree |
121
+ | **Editor Interfaces** | `list_editor_interfaces` | List all editor interfaces in a space |
122
+ | | `get_editor_interface` | Get editor interface for a content type |
123
+ | | `update_editor_interface` | Update field controls, sidebars, and layouts |
124
+ | **Assets** | `upload_asset` | Upload new assets |
125
+ | | `list_assets` | List and browse assets (max 3 per request) |
126
+ | | `get_asset` | Retrieve specific assets |
127
+ | | `update_asset` | Modify asset metadata |
128
+ | | `publish_asset` | Publish assets (single or bulk up to 100) |
129
+ | | `unpublish_asset` | Unpublish assets (single or bulk up to 100) |
130
+ | | `delete_asset` | Remove assets |
131
+ | **Spaces & Environments** | `list_spaces` | List available spaces (max 10 per request) |
132
+ | | `get_space` | Get space details |
133
+ | | `list_environments` | List environments in a space |
134
+ | | `create_environment` | Create new environments |
135
+ | | `delete_environment` | Remove environments |
136
+ | **Locales** | `list_locales` | List all locales in your environment |
137
+ | | `get_locale` | Retrieve specific locale information |
138
+ | | `create_locale` | Create new locales for multi-language content |
139
+ | | `update_locale` | Modify existing locale settings |
140
+ | | `delete_locale` | Remove locales from environment |
141
+ | **Tags** | `list_tags` | List all tags in an environment |
142
+ | | `create_tag` | Create new tags with public/private visibility |
143
+ | **Organizations** | `list_orgs` | List organizations user has access to |
144
+ | | `get_org` | Get details of a specific organization |
145
+ | **Releases** | `list_releases` | List releases (max 10 per request) |
146
+ | | `get_release` | Retrieve a release |
147
+ | | `create_release` | Create a release with Entries/Assets |
148
+ | | `update_release` | Modify a release's title and/or contents |
149
+ | | `delete_release` | Remove a release (and its linked release actions) |
150
+ | | `publish_release` | Publish a release (async; check via `get_release_action`) |
151
+ | | `unpublish_release` | Unpublish a release (async; check via `get_release_action`) |
152
+ | | `validate_release` | Validate a release, optionally against publish/unpublish |
153
+ | | `get_release_action` | Check the status of a queued release action |
154
+ | | `list_release_actions` | List release actions (max 10 per request) |
155
+ | **AI Actions** | `create_ai_action` | Create custom AI-powered workflows |
156
+ | | `invoke_ai_action` | Invoke AI action with variables (bulk support) |
157
+ | | `get_ai_action_invocation` | Get AI action invocation details |
158
+ | | `get_ai_action` | Retrieve AI action details and configuration |
159
+ | | `list_ai_actions` | List AI actions in a space (max 3 per request) |
160
+ | | `update_ai_action` | Update existing AI actions |
161
+ | | `publish_ai_action` | Publish AI actions for use |
162
+ | | `unpublish_ai_action` | Unpublish AI actions |
163
+ | | `delete_ai_action` | Remove AI actions |
164
+ | **Taxonomy Concepts** | `create_concept` | Create new taxonomy concepts with localization |
165
+ | | `get_concept` | Retrieve specific taxonomy concept |
166
+ | | `list_concepts` | List concepts with filtering and hierarchy |
167
+ | | `update_concept` | Update taxonomy concept properties |
168
+ | | `delete_concept` | Remove taxonomy concepts |
169
+ | **Taxonomy Schemes** | `create_concept_scheme` | Create new taxonomy concept schemes |
170
+ | | `get_concept_scheme` | Retrieve specific concept scheme |
171
+ | | `list_concept_schemes` | List concept schemes with pagination |
172
+ | | `update_concept_scheme` | Update concept scheme properties |
173
+ | | `delete_concept_scheme` | Remove concept schemes |
174
+ | **Space Migration** | `space_to_space_migration_handler` | Enable/disable space migration workflow |
175
+ | | `space_to_space_param_collection` | Collect parameters for migration workflow |
176
+ | | `export_space` | Export space to file for migration |
177
+ | | `import_space` | Import space from exported file |
168
178
  | **Usage** | `get_usages` | Get aggregated usage metrics for an organization, optionally filtered or grouped by space |
169
179
 
170
180
  ## 🤝 Contributing
package/dist/index.js CHANGED
@@ -4129,7 +4129,7 @@ init_esm_shims();
4129
4129
 
4130
4130
  // src/mcpVersion.ts
4131
4131
  init_esm_shims();
4132
- var MCP_VERSION = "1.19.2";
4132
+ var MCP_VERSION = "1.21.0";
4133
4133
 
4134
4134
  // src/getVersion.ts
4135
4135
  var getVersion = () => {
@@ -4175,6 +4175,7 @@ async function registerAllTools(server) {
4175
4175
  const localeTools = tools.getLocaleTools();
4176
4176
  const orgTools = tools.getOrgTools();
4177
4177
  const spaceTools = tools.getSpaceTools();
4178
+ const releaseTools = tools.getReleaseTools();
4178
4179
  const tagTools = tools.getTagTools();
4179
4180
  const taxonomyTools = tools.getTaxonomyTools();
4180
4181
  const usageTools = tools.getUsageTools();
@@ -4190,6 +4191,7 @@ async function registerAllTools(server) {
4190
4191
  localeTools,
4191
4192
  orgTools,
4192
4193
  spaceTools,
4194
+ releaseTools,
4193
4195
  tagTools,
4194
4196
  taxonomyTools,
4195
4197
  usageTools,