
Kontent Ai
io.github.kontent-ai由 GitHub 账号 kontent-ai 发布v0.39.0更新于 Oct 24, 2026
Connect to Kontent.ai to manage content, types, taxonomies, and workflows via natural language
概览
让助手用自然语言管理 Kontent.ai 内容:内容类型、内容项、语言变体、分类法、资产、语言、空间和工作流。
- 可以做什么
- 连接 Kontent.ai 管理 API,让助手读取并修改结构化内容。工具覆盖内容类型与片段、分类法组、内容项及其语言变体(含批量获取和语义搜索)、资产与资产文件夹、语言、集合、空间、角色和工作流。工作流工具可将变体移动到不同步骤、发布或定时发布、取消发布以及取消定时发布;执行补丁操作前必须先调用补丁指南工具。
- 适用场景
- 适合在 Claude、Cursor 或 VS Code 等 AI 编辑器中建模、填充、翻译或发布 Kontent.ai 内容,而不必在网页界面中逐项操作。也适合查看现有内容模型或快速原型设计新的内容类型。
- 运行要求
- 通过 npx(Node.js)以 stdio 在本地运行,或作为 Streamable HTTP 服务器在端口上运行(PORT,默认 3001)。需要 Kontent.ai 账户、项目、管理 API 密钥和环境 ID。stdio 模式下通过 KONTENT_API_KEY 和 KONTENT_ENVIRONMENT_ID 设置;HTTP 模式下每个请求在 URL 路径中提供环境 ID,并在 Authorization 头中以 Bearer 令牌提供密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Kontent Ai,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Kontent.ai MCP Server
[NPM Version] [Contributors] [Forks] [Stargazers] [Issues] [MIT License] [Discord]
Transform your content operations with AI-powered tools for Kontent.ai. Create, manage, and explore your structured content through natural language conversations in your favorite AI-enabled editor.
Kontent.ai MCP Server implements the Model Context Protocol to connect your Kontent.ai projects with AI tools like Claude, Cursor, and VS Code. It enables AI models to understand your content structure and perform operations through natural language instructions.
✨ Key Features
- 🚀 Rapid prototyping: Transform your diagrams into live content models in seconds
- 📈 Data Visualisation: Visualise your content model in any format you want
Table of Contents
- ✨ Key Features
- 🔌 Quickstart
- 🛠️ Available Tools
- ⚙️ Configuration
- 🔒 Security
- 🚀 Transport Options
- 💻 Development
- License
🔌 Quickstart
🔑 Prerequisites
Before you can use the MCP server, you need:
- A Kontent.ai account - Sign up if you don't have an account.
- A project - Create a project to work with.
- Management API key - Create a key with appropriate permissions.
- Environment ID - Get your environment ID.
🛠 Setup Options
You can run the Kontent.ai MCP Server with npx:
STDIO Transport
Streamable HTTP Transport
🛠️ Available Tools
Patch Operations Guide
- get-patch-guide – 🚨 REQUIRED before any patch operation. Get patch operations guide for Kontent.ai by entity type
Content Type Management
- get-content-type – Get Kontent.ai content type by ID
- list-content-types – Get all Kontent.ai content types
- list-content-type-usages – List where a Kontent.ai content type is used
- create-content-type – Create new Kontent.ai content type
- patch-content-type – Update an existing Kontent.ai content type by codename using patch operations (move, addInto, remove, replace)
- delete-content-type – Delete a Kontent.ai content type by ID
Content Type Snippet Management
- get-content-type-snippet – Get Kontent.ai content type snippet by ID
- list-content-type-snippets – Get all Kontent.ai content type snippets
- create-content-type-snippet – Create new Kontent.ai content type snippet
- patch-content-type-snippet – Update an existing Kontent.ai content type snippet by ID using patch operations (move, addInto, remove, replace)
- delete-content-type-snippet – Delete a Kontent.ai content type snippet by ID
Taxonomy Management
- get-taxonomy-group – Get Kontent.ai taxonomy group by ID
- list-taxonomy-groups – Get all Kontent.ai taxonomy groups
- create-taxonomy-group – Create new Kontent.ai taxonomy group
- patch-taxonomy-group – Update Kontent.ai taxonomy group using patch operations (addInto, move, remove, replace)
- delete-taxonomy-group – Delete Kontent.ai taxonomy group by ID
Content Item Management
- get-content-item – Get Kontent.ai content item by ID
- get-content-item-variant – Retrieve Kontent.ai content item variant (language version/translation). Returns the current version — draft if one exists, otherwise published
- get-published-content-item-variant-version – Retrieve the published version of a Kontent.ai content item variant. Use when a newer draft version exists but you need the currently published (live) content
- get-content-item-translations – Get all Kontent.ai content item translations — every language version (variant) of a specific content item
- list-content-item-variants – List, filter, search Kontent.ai content items with content item variants (language versions/translations)
- create-content-item – Create new Kontent.ai content item (creates the container only, use create-content-item-variant to add language versions/translations)
- update-content-item – Update existing Kontent.ai content item by ID. The content item must already exist - this tool will not create new items
- delete-content-item – Delete Kontent.ai content item by ID
- create-content-item-variant – Create Kontent.ai content item variant assigning current user as contributor. Element values must fulfill limitations and guidelines defined in content type. Send only the elements you want to set; omitted ones initialize empty
- update-content-item-variant – Update Kontent.ai content item variant of a content item. Element values must fulfill limitations and guidelines defined in content type. Send only the elements you want to change — omitted elements are left untouched. For rich-text elements with components, submit the full element (value plus the complete components array, including components that are left untouched)
- create-new-content-item-variant-version – Create new version of Kontent.ai content item variant. This operation creates a new version of an existing content item variant, useful for content versioning and creating new drafts from published content
- delete-content-item-variant – Delete Kontent.ai content item variant
- bulk-get-content-item-variants – Bulk get Kontent.ai content items with their content item variants by item and language reference pairs. Use after list-content-item-variants to retrieve full content data for specific item+language pairs. Items without a variant in the requested language return the item without the variant property. Returns paginated results with continuation token
- search-content-item-variants – AI-powered semantic search for finding content by meaning and concepts in a specific content item variant. Use for: conceptual searches when you don't know exact keywords. Limited filtering options (variant ID only)
Asset Management
- get-asset – Get a specific Kontent.ai asset by ID
- list-assets – Get all Kontent.ai assets
- update-asset – Update Kontent.ai asset by ID
Asset Folder Management
- list-asset-folders – List all Kontent.ai asset folders
- patch-asset-folders – Modify Kontent.ai asset folders using patch operations (addInto to add new folders, rename to change names, remove to delete folders)
Language Management
- list-languages – Get all Kontent.ai languages (includes both active and inactive - check is_active property)
- create-language – Create new Kontent.ai language (languages are always created as active)
- patch-language – Update Kontent.ai language using replace operations (only active languages can be modified - to activate/deactivate, use the Kontent.ai web UI)
Collection Management
- list-collections – Get all Kontent.ai collections. Collections set boundaries for content items in your environment and help organize content by team, brand, or project
- patch-collections – Update Kontent.ai collections using patch operations (addInto to add new collections, move to reorder, remove to delete empty collections, replace to rename)
Space Management
- list-spaces – Get all Kontent.ai spaces
- create-space – Create new Kontent.ai space for managing a website or channel
- patch-space – Patch Kontent.ai space using replace operations
- delete-space – Delete Kontent.ai space
Role Management
- list-roles – Get all Kontent.ai roles. Requires Enterprise or Flex plan with "Manage custom roles" permission
Workflow Management
- list-workflows – Get all Kontent.ai workflows. Workflows define the content lifecycle stages and transitions between them
- create-workflow – Create new Kontent.ai workflow with custom steps, transitions, scopes, and role permissions
- update-workflow – Update an existing Kontent.ai workflow by ID. Modify steps, transitions, scopes, and role permissions. Cannot remove steps that are in use
- delete-workflow – Delete a Kontent.ai workflow by ID. The workflow must not be in use by any content items
- change-content-item-variant-workflow-step – Change the workflow step of a content item variant in Kontent.ai. This operation moves a content item variant to a different step in the workflow, enabling content lifecycle management such as moving content from draft to review, review to published, etc.
- publish-content-item-variant – Publish or schedule a content item variant of a content item in Kontent.ai. This operation can either immediately publish the variant or schedule it for publication at a specific future date and time with optional timezone specification
- unpublish-content-item-variant – Unpublish or schedule unpublishing of a content item variant of a content item in Kontent.ai. This operation can either immediately unpublish the variant (making it unavailable through the Delivery API) or schedule it for unpublishing at a specific future date and time with optional timezone specification
- cancel-scheduled-publishing-content-item-variant – Cancel scheduled publishing of a content item variant in Kontent.ai. This operation reverts a variant that was scheduled for publishing back to its previous workflow step, enabling further edits
⚙️ Configuration
The server supports two modes, each tied to its transport:
Single-Tenant Mode (STDIO)
Configure credentials via environment variables:
Multi-Tenant Mode (Streamable HTTP)
For the Streamable HTTP transport, credentials are provided per request:
- Environment ID as a URL path parameter:
/{environmentId}/mcp - API Key via Bearer token in the Authorization header:
Authorization: Bearer <api-key>
This allows a single server instance to handle requests for multiple Kontent.ai environments without requiring credential environment variables.
KONTENT_API_KEY and KONTENT_ENVIRONMENT_ID are ignored on this transport, even if they happen to be set in the server's environment. Every request must carry its own credentials; one that doesn't is rejected rather than served with the server's.
🔒 Security
Indirect prompt injection
Content returned by this server (for example, an element written by an editor) can contain text that a connected LLM interprets as instructions — indirect prompt injection. A hijacked agent could be steered into destructive tool calls (delete / unpublish / overwrite) or into leaking unpublished drafts. This is an industry-wide, unsolved problem that the server cannot reliably fix by transforming the content it returns, so defense is layered:
- Use a least-privilege Management API key. The server acts with whatever key it is given. With a read-only key, a hijacked agent's destructive call simply fails at the API boundary — the strongest control, since it holds regardless of model behaviour.
- Keep a human in the loop. Every tool carries MCP annotations — reads are
readOnlyHint, create-only tools are additive, and tools that overwrite or remove data aredestructiveHint— which compliant clients use to auto-approve reads and prompt before destructive calls. Run the server with such a client and avoid headless auto-approve setups against a write-capable key. - Add a client-side gate if your client supports one. Some clients (for example, Claude Code hooks) let you deterministically prompt before a destructive tool runs, independent of the model. This is configured locally; a server cannot enforce it.
These are hints, not guarantees. Report security issues privately to [email protected].
🚀 Transport Options
📟 STDIO Transport
To run the server with STDIO transport, configure your MCP client with:
🌊 Streamable HTTP Transport (Multi-Tenant)
Streamable HTTP transport serves multiple Kontent.ai environments from a single server instance. Each request provides credentials via URL path parameters and Bearer authentication.
First start the server:
VS Code
Create a .vscode/mcp.json file in your workspace:
For secure configuration with input prompts:
Claude Desktop
Update your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Use mcp-remote as a proxy to add authentication headers:
Claude Code
Add the server using the CLI:
Note: You can also configure this in your Claude Code settings JSON with the
urlandheadersproperties.
[!IMPORTANT] Replace
<environment-id>with your Kontent.ai environment ID (GUID) and<management-api-key>with your key.
💻 Development
🛠 Local Installation
📂 Project Structure
src/- Source codetools/- MCP tool implementationsclients/- Kontent.ai API client setupschemas/- Data validation schemasutils/- Utility functionserrorHandler.ts- Standardized error handling for MCP toolsthrowError.ts- Generic error throwing utility
app.ts- Express app factory for the Streamable HTTP transportserver.ts- Main server setup and tool registrationbin.ts- Single entry point that handles both transport types
🔍 Debugging
For debugging, you can use the MCP inspector:
Or use the MCP inspector on a running streamable HTTP server:
This provides a web interface for inspecting and testing the available tools.
📦 Release Process
To release a new version:
- Bump the version using
npm version [patch|minor|major]- this updatespackage.json,package-lock.json, and syncs toserver.json - Push the commit to your branch and create a pull request
- Merge the pull request
- Create a new GitHub release with the version number as both name and tag, using auto-generated release notes
- Publishing the release triggers an automated workflow that publishes to npm and GitHub MCP registry
License
MIT
来源:README.md,提交 6f48a40
工具
0版本历史
1- v0.39.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分