cms
Contentful MCP Integration for Codex
Connect Contentful to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Contentful to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
Contentful MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"mcpServers": {
"kosmokrator-contentful": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=contentful",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=contentful --write=deny Why Use KosmoKrator Here
Expose only Contentful instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Contentful Tools Visible to Codex
Codex sees stable MCP tool names generated from the Contentful integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__contentful__contentful_list_content_types | contentful.contentful_list_content_types | Read | List all content types defined in the connected Contentful space. Returns each content type's ID, name, description, and field count. Optionally limit the number of results. |
integration__contentful__contentful_get_content_type | contentful.contentful_get_content_type | Read | Get detailed information about a specific content type by its ID. Returns the content type name, description, display field, and full field definitions. |
integration__contentful__contentful_create_content_type | contentful.contentful_create_content_type | Write | Create a new content type in Contentful with a name, display name, optional description, and field definitions. Fields are provided as a JSON array of objects with id, name, and type. Common field types: Symbol, Text, Integer, Number, Boolean, Date, Location, RichText, Array, Link. |
integration__contentful__contentful_list_entries | contentful.contentful_list_entries | Read | List entries in the Contentful space. Optionally filter by content type, control pagination with limit and skip, order results, or search with a text query. Returns entry IDs, content types, and localized field values. |
integration__contentful__contentful_get_entry | contentful.contentful_get_entry | Read | Get detailed information about a specific entry by its ID. Returns all localized field values, content type, version, and timestamps. |
integration__contentful__contentful_create_entry | contentful.contentful_create_entry | Write | Create a new entry in Contentful. Specify the content type ID and provide field values as a JSON object. Fields must be localized, e.g. {"title": {"en-US": "My Title"}}. The entry is created as a draft; use the publish tool to publish it. |
integration__contentful__contentful_update_entry | contentful.contentful_update_entry | Write | Update an existing entry's field values. Requires the current version number for optimistic locking. Fields must be localized, e.g. {"title": {"en-US": "Updated Title"}}. The version is sent as the X-Contentful-Version header. |
integration__contentful__contentful_publish_entry | contentful.contentful_publish_entry | Write | Publish a draft or updated entry. Requires the current version number for optimistic locking, sent as the X-Contentful-Version header. After publishing, the entry becomes publicly visible via the Content Delivery API. |
integration__contentful__contentful_unpublish_entry | contentful.contentful_unpublish_entry | Write | Unpublish a published entry, reverting it to draft status. Requires the current version number for optimistic locking, sent as the X-Contentful-Version header. The entry will no longer be visible via the Content Delivery API. |
integration__contentful__contentful_delete_entry | contentful.contentful_delete_entry | Write | Permanently delete an entry from the Contentful space. The entry must be unpublished before it can be deleted. This action is irreversible. |
integration__contentful__contentful_list_assets | contentful.contentful_list_assets | Read | List assets (images, files, videos) in the Contentful space. Supports pagination with limit and skip parameters. Returns asset IDs, titles, file details, and URLs. |
integration__contentful__contentful_get_space | contentful.contentful_get_space | Read | Get details about the connected Contentful space, including name, locales, organization, and space type. |