SuperAPI AI Directory

mcp-server

Create, manage, and explore your content and content model using natural language in any MCP-compatible AI tool.

Open website

About this tool

Kontent.ai MCP Server is the official MCP (Model Context Protocol) server provided by Kontent.ai. Through natural language conversation, it connects Kontent.ai projects with AI tools, allowing you to create, manage, and explore structured content in your commonly used AI editors. The server implements the MCP protocol, enabling AI models to understand your content structure and perform operations through natural language instructions.

Purpose The server is aimed at content operations scenarios and emphasizes two values: first, rapid prototyping, which can turn diagrams into usable content models in seconds; second, data visualization, which can visualize content models in any format. It exposes Kontent.ai's content management capabilities as a set of tools that AI can call, making it suitable for users who want to operate Kontent.ai content models and content with the help of an AI assistant.

Main capabilities The tools provided by the server are divided by object type and cover multiple aspects of content management:

  • Patch operation guide: get-patch-guide, officially marked as required before any patch operation, used to obtain patch operation guidance by entity type.
  • Content type management: get, list, list usage locations, create, patch update, delete content types.
  • Content type snippet management: get, list, create, patch update, delete content type snippets.
  • Taxonomy management: get, list, create, patch update, delete taxonomy groups.
  • Content item management: get content items; get content item variants (language versions/translations), returning the current version—if a draft exists, return the draft; otherwise, return the published version; get published content item variant versions; get all translations of a content item; list, filter, search content item variants; create content items (only creates the container; use the create variant tool to add language versions/translations); update content items by ID; delete content items by ID; create content item variants (sets the current user as a contributor); update content item variants; create new content item variant versions; delete content item variants; batch get content item variants; semantic-based AI search for content item variants.
  • Asset management: get a specified asset, list all assets, update assets by ID.
  • Asset folder management: list asset folders, modify asset folders through patch operations (addInto to add, rename to rename, remove to delete).
  • Language management: list all languages (including active and inactive; check the is_active property), create languages (always createFor activities), update the language via replace (only active languages can be modified; activation/deactivation must be done using the Kontent.ai Web UI).
  • Collection management: list collections, update collections via patch operations (addInto to add, move to reorder, remove to delete empty collections, replace to rename).
  • Space management: list, create, patch update, delete spaces.
  • Role management: list roles, requires an Enterprise or Flex plan and the "Manage custom roles" permission.
  • Workflow management: list, create, update, delete workflows; change the workflow step of a content item variant; publish or schedule publishing of a content item variant; unpublish or schedule unpublishing of a content item variant; cancel scheduled publishing.

Usage Before use, you need to prepare: a Kontent.ai account (register if you do not have one), a project, a Management API key with the appropriate permissions, and an environment ID. The server can be run via npx.

The server supports two modes, corresponding to the transport methods:

  1. Single-tenant mode (STDIO): configure credentials via environment variables.
  2. Multi-tenant mode (Streamable HTTP): credentials are provided per request—the environment ID is passed as the URL path parameter /{environmentId}/mcp, and the API key is passed via the Authorization request header as a Bearer token (Authorization: Bearer <api-key>). This mode allows a single server instance to handle requests for multiple Kontent.ai environments without credential environment variables. Under this transport method, even if KONTENT_API_KEY and KONTENT_ENVIRONMENT_ID are set in the server environment, they will be ignored; each request must carry its own credentials, and requests missing credentials will be rejected rather than using the server's own credentials.

For configuration, it can be configured separately per client. VS Code can be configured in the workspace's .vscode/mcp.json file (supports secure configuration with input prompts); the configuration file locations for Claude Desktop are: macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json, Linux ~/.config/Claude/claude_desktop_config.json, and mcp-remote can be used as a proxy to add authentication request headers; Claude Code can add the server via the CLI, or configure it in the settings JSON using the url and headers properties. During configuration, replace <environment-id> with the Kontent.ai environment ID (GUID), and replace <management-api-key> with the Management API key. Under the Streamable HTTP transport method, start the server first.

Project structure In the source code, src/ is the source code, tools/ is the MCP tool implementation, clients/ is the Kontent.ai API client setup, schemas/ is the data validation schema, utils/ is utility functions (errorHandler.ts provides standardized error handling for MCP tools, throwError.ts is a general error throwing utility), app.ts is the Express app factory for the Streamable HTTP transport, server.ts is the main server setup and tool registration, and bin.ts is the single entry point that handles both transport types.

Debugging and publishing For debugging, you can use MCP inspector, or use MCP inspector against a running Streamable HTTP server, which provides a web interface for inspecting and testing available tools. The process for publishing a new version is: use npm version [patch|minor|major] to update the version (this updates package.json, package-lock.json, and syncs to server.json); push the commit to a branch and create a pull request; merge the pull request; create a new GitHub release with the version number as the name and tag and use the auto-generated release notes; publishing the release triggers an automated workflow that publishes the package to npm and the GitHub MCP registry.

Security and limitations Official explicit warning about indirect prompt injection risk: content returned by the server (e.g., edited authored elements)May contain text that a connected LLM interprets as instructions. A hijacked agent may be induced to perform destructive tool calls (delete, unpublish, overwrite) or leak unpublished drafts. This is an industry-wide unsolved problem, and the server cannot reliably fix it by transforming returned content, so layered defenses are adopted: use least-privilege Management API keys (a read-only key can directly make destructive calls fail at the API boundary); keep a human in the loop, with each tool carrying MCP annotations—read operations as readOnlyHint, create-only tools as additive, and tools that overwrite or delete data as destructiveHint—so compliant clients automatically approve reads and prompt before destructive calls; avoid headless auto-approval configurations with writable keys; if the client supports it, add client-side gating (for example, Claude Code hooks) to deterministically prompt before destructive tools run. The official guidance emphasizes that these are only hints, not guarantees, and security issues should be reported privately to security@kontent.ai.

Other limitations: language activation/deactivation must be done in the Kontent.ai Web UI; the server can only modify active languages. A workflow cannot be deleted before it is used by any content item, and steps in use cannot be removed when updating a workflow. The role list feature requires an Enterprise or Flex plan and the "Manage custom roles" permission.