这是一个与Contentful内容管理API集成的MCP服务器实现,提供全面的内容管理功能。
为防止LLM上下文窗口溢出,列表操作(如search_entries和list_assets)每次请求限制为3个项目。每个响应包含:
此分页系统允许LLM高效处理大型数据集,同时保持上下文窗口限制。
批量操作功能提供高效的同时管理多个内容项:
这些批量操作工具非常适合内容迁移、批量更新或批量发布工作流。
该项目包含一个MCP检查器工具,有助于开发和调试:
npm run inspect
启动检查器,可通过http://localhost:5173访问npm run inspect:watch
在文件更改时自动重启检查器项目还包含npm run dev
命令,每次更改时重新构建并重新加载MCP服务器。
这些变量也可以作为参数设置
CONTENTFUL_HOST
/ --host
:Contentful管理API端点(默认为https://api.contentful.com)CONTENTFUL_MANAGEMENT_ACCESS_TOKEN
/ --management-token
:您的内容管理API令牌ENABLE_HTTP_SERVER
/ --http
:设置为"true"以启用HTTP/SSE模式HTTP_PORT
/ --port
:HTTP服务器端口(默认:3000)HTTP_HOST
/ --http-host
:HTTP服务器主机(默认:localhost)您可以限定spaceId和EnvironmentId,确保LLM只对定义的空间/环境ID执行操作。
这主要是为了支持在特定空间内操作的代理。如果同时设置了SPACE_ID
和ENVIRONMENT_ID
环境变量,
工具将不会报告需要这些值,处理程序将使用环境变量执行CMA操作。
您还将失去空间处理程序中的工具访问权限,因为这些工具是跨空间的。
您也可以使用--space-id
和--environment-id
参数添加SPACE_ID
和ENVIRONMENT_ID
除了提供管理令牌外,您还可以利用应用身份
进行身份验证。您需要设置和安装Contentful应用,并在调用MCP服务器时设置以下参数:
--app-id
= 提供Apptoken的应用ID--private-key
= 您在用户界面中为应用创建的与app_id
关联的私钥--space-id
= 应用安装的空间ID--environment-id
= 应用安装的环境ID(在空间内)使用这些值,MCP服务器将请求临时AppToken以在定义的空间/环境ID中执行内容操作。这在将此MCP服务器用作MCP客户端(如聊天代理)的后端系统中特别有用。
您不需要克隆此仓库来使用此MCP,只需将其添加到您的claude_desktop_config.json
:
编辑~/Library/Application Support/Claude/claude_desktop_config.json
并添加以下行:
{
"mcpServers": {
"contentful": {
"command": "npx",
"args": ["-y", "@ivotoby/contentful-management-mcp-server"],
"env": {
"CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "<您的CMA令牌>"
}
}
}
}

如果您的MCPClient不支持设置环境变量,您也可以使用参数设置管理令牌,例如:
{
"mcpServers": {
"contentful": {
"command": "npx",
"args": [
"-y",
"@ivotoby/contentful-management-mcp-server",
"--management-token",
"<您的令牌>",
"--host",
"http://api.contentful.com"
]
}
}
}

要通过Smithery自动为Claude Desktop安装Contentful管理服务器:
npx -y @smithery/cli install @ivotoby/contentful-management-mcp-server --client claude
如果您想贡献代码并测试Claude对您的贡献的处理:
npm run dev
,这将启动监视器,在每次更改时重新构建MCP服务器claude_desktop_config.json
直接引用项目,例如:{ "mcpServers": { "contentful": { "command": "node", "args": ["/Users/ivo/workspace/contentful-mcp/bin/mcp-server.js"], "env": { "CONTENTFUL_MANAGEMENT_ACCESS_TOKEN": "<您的CMA令牌>" } } } }
这将允许您直接在Claude中测试MCP服务器的任何修改,但是;如果您添加新工具/资源,您需要重启Claude Desktop
MCP服务器支持两种传输模式:
默认传输模式使用标准输入/输出流进行通信。这非常适合与支持stdio传输的MCP客户端集成,如Claude Desktop。
要使用stdio模式,只需在不带--http
标志的情况下运行服务器:
npx -y contentful-mcp --management-token YOUR_TOKEN
# 或者
npx -y @ivotoby/contentful-management-mcp-server --management-token YOUR_TOKEN

服务器还支持MCP协议中定义的StreamableHTTP传输。此模式适用于基于Web的集成或作为独立服务运行服务器时。
要使用StreamableHTTP模式,使用--http
标志运行:
npx -y contentful-mcp --management-token YOUR_TOKEN --http --port 3000
# 或者
npx -y @ivotoby/contentful-management-mcp-server --management-token YOUR_TOKEN --http --port 3000

该实现遵循标准MCP协议规范,允许任何MCP客户端连接到服务器而无需特殊处理。
服务器实现了全面的错误处理,包括:
MIT许可证
此MCP服务器使Claude(或其他可以消费MCP资源的代理)能够更新、删除内容、空间和内容模型。因此,请确保您允许Claude对您的Contentful空间执行的操作!
此MCP服务器尚未得到Contentful的官方支持