cms
Contentful MCP Integration for Vercel AI SDK
Connect Contentful to Vercel AI SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Contentful to Vercel AI SDK
Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts.
Create an MCP client that starts or connects to the KosmoKrator gateway for the selected integration. The gateway is local, scoped to this integration, and starts with
--write=deny so Vercel AI SDK can inspect read-capable tools without receiving write access by default.
Contentful MCP Config for Vercel AI SDK
Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
{
"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 Vercel AI SDK
Vercel AI 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. |