cms
Contentful MCP Integration for Claude Agent SDK
Connect Contentful to Claude Agent SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Contentful to Claude Agent SDK
Give Claude Agent SDK workflows access to KosmoKrator integrations through a local MCP server.
Add a KosmoKrator stdio MCP server to the Claude Agent SDK options. The gateway is local, scoped to this integration, and starts with
--write=deny so Claude Agent SDK can inspect read-capable tools without receiving write access by default.
Contentful MCP Config for Claude Agent SDK
Use a narrow integration list so the agent does not load unrelated tools.
{
"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 Claude Agent SDK
Claude Agent SDK 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. |