# @contentstack/mcp 中文文档

规范地址：https://npmcn.com/package/%40contentstack/mcp/

版本：0\.9\.0
npm 元数据更新时间：2026-07-13T11:31:42.060Z
中文译文更新时间：2026-11-11T00:21:37.009Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40contentstack/mcp
原文对照：https://npmcn.com/package/%40contentstack/mcp/?lang=original
项目主页：https://github.com/contentstack/mcp#readme
源码仓库：https://github.com/contentstack/mcp

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：202 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：5 个
- 首次发布：2025-05-12T12:16:54.688Z
- 最新版本发布：2026-07-13T11:31:41.919Z
- 近 30 天下载量：2425（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 18 个）

## 中文简介

一个用于Contactack的模型上下文协议(MCP)服务器. 它揭露了内容管理,内容提供,分析,发布,自动化,BrandKit,个性化,开发者Hub,和Lytics的工具.

## 安装

```sh
npm install @contentstack/mcp
```

也可以使用：`pnpm add @contentstack/mcp`、`yarn add @contentstack/mcp`、`bun add @contentstack/mcp`

## README

# 内容ack MCP 服务器

一个用于Contactack的模型上下文协议(MCP)服务器. 它揭露了内容管理,内容提供,分析,发布,自动化,BrandKit,个性化,开发者Hub,和Lytics的工具.

## 特征

-   **内容管理**:条目,资产,内容类型,分类学,术语,分支,发布,出版,变体,环境,全球域,和条目引用.
-   **内容管理扩展**:审计日志,条目和资产版本历史,全域写作,资产文件夹管理,以及工作流程和发布规则检查.
-   **内容交付**:通过Mineltack的CDN发布条目和资产.
-   **发射**:项目,环境,部署钩子,部署,日志,上传,CDN缓存重新验证.
-   **自动化**:自动化枢纽项目,自动化检查,激活控制,和HTTP-触发工作流程运行.
-   **分析**:API,CDN,缓存,状态码,SDK,设备,以及URL的使用.
-   **BrandKit 大赦国际**:语音简介,知识库内容,和AI生成.
-   **个性化**:属性,受众,体验,事件,分析,地理学帮助者.
-   **开发者枢纽**: 市场应用软件生命周期,OAuth设置,以及应用设备.
-   **语言**: 观众,简介,内容主题,分类,账户,字段,和表格.
-   **灵活查询选项**: PGination,过滤,排序,计数,元数据,发布细节,以及基础API支持的引用包含.

## API 组

MCP服务器支持多个可以独立或一起使用的API组:

-   **医学院** (常务管理API): 核心内容管理——条目,资产,内容类型,全球领域,分支,发布,出版,环境(78个工具)
-   **CMA 扩展**: 审计、版本历史、资产文件夹管理、全局字段写作和工作流程检查——同时加载 `cma` 当代理商需要背景或行政能力时(22个工具)
-   **土发委会** (连续交付API): 通过CDN发布内容
-   **分析**:使用分析、业绩监测和业务见解
-   **布兰克基特**:AI驱动品牌管理和内容生成
-   **发射**: 安装平台,以托管和管理有内幕功能的网站
-   **自动化**:自动化枢纽项目管理、自动化发现和HTTP-触发工作流程执行
-   **开发者Hub**: 采购网应用程序生命周期管理和装置
-   **语言**: 高级分析和观众见解
-   **个性化**: 高级个性化和A/B测试能力
-   **全体**: 启用所有 API 组

> **上下文提示 :** 正在装入 `cma` 仅给代理商提供日常内容操作所需的工具. 添加 `cma-extended` 仅当会议需要审计线索、版本检查或工作流程上下文时。 保持两者的相隔会减少每个回合发送到LLM的工具定义上下文.

## 配置

### 先决条件

1.  在 [目录](https://www.contentstack.com/login/)

### OAuth 设置( CMA、 CMA 扩展、 分析、 自动化、 BrandKit、 启动、 开发者Hub 和个人化 )

**重要**:在使用内容管理API(CMA或CMA扩展),分析,自动化,BrandKit,启动,开发者Hub,或个性化工具之前,必须使用OAuth认证:

```bash
npx @contentstack/mcp --auth
```

此命令打开 OAuth 流量, 并在当地存储生成的符号 。 选定的数据中心(区域)与会话一起保存,并用于所有请求.

#### 管理令牌而非 OAuth( CMA / CMA 扩展 / 仅 CDA)

如果您不能使用 OAuth 并且只需要内容工具, 您可以认证 **医学院** 财务报告和审定财务报表 **CMA 扩展** 带有 [管理符号](https://www.contentstack.com/docs/developers/create-tokens/create-a-management-token/) 换句话说 提供符号加您所居住的区域( 没有保存 OAuth 会话来推断它):

```bash
npx @contentstack/mcp --groups cma \
  --stack-api-key <STACK_API_KEY> \
  --management-token <MANAGEMENT_TOKEN> \
  --region NA
```

CDA同样不需要OAuth——它使用送货符. 管理标志 **无法** 认证分析、自动化、 BrandKit、 启动、 开发者Hub 或个性化; 需要的 `--auth`。 。 。 .

### 所需额外经费

1.  对于 CDA 访问,生成 [发送符](https://www.contentstack.com/docs/developers/create-tokens/create-a-delivery-token/) 目标环境.
2.  为了BrandKit 提供你的Brand Kit身份证.
3.  对于发射,请提供您的发射项目ID和组织UID.
4.  对Lytics来说,生成Lytics [访问令牌](https://docs.lytics.com/docs/access-tokens)。 。 。 .
5.  为了个性化,请提供个人化项目ID.

### 环境变量

这些变量也可以作为CLI参数提供.

-   `CONTENTSTACK_API_KEY` 编号 : `--stack-api-key`: 您的 Stack API 密钥
-   `CONTENTSTACK_DELIVERY_TOKEN` 编号 : `--delivery-token`: 您的 Stack 交付令牌( 仅需使用 CDN/ 交付 API 工具)
-   `CONTENTSTACK_MANAGEMENT_TOKEN` 编号 : `--management-token`: Stack 管理符. CMA / CMA 扩展的 OAuth 替代品(见上文)
-   `CONTENTSTACK_REGION` 编号 : `--region`: 数据中心改为目标 - `NA`, (中文(简体) ), `EU`, (中文(简体) ), `AU`, (中文(简体) ), `AZURE_NA`, (中文(简体) ), `AZURE_EU`, (中文(简体) ), `GCP_NA`, (中文(简体) ), `GCP_EU` (文件上的别名,例如: `us`, (中文(简体) ), `aws-eu` 也参与工作。 默认 : `NA`。与 OAuth 一起,区域从保存的会话中取出,除非在此覆盖
-   `CONTENTSTACK_BRAND_KIT_ID` 编号 : `--brand-kit-id`: 您的 Brand Kit ID( BrandKit 工具必需)
-   `CONTENTSTACK_LAUNCH_PROJECT_ID` 编号 : `--launch-project-id`: 您的发射项目 ID( 发射工具需要)
-   `CONTENTSTACK_ORGANIZATION_UID` 编号 : `--organization-uid`: Your Contack Organization UID (发射工具需要)
-   `LYTICS_ACCESS_TOKEN` 编号 : `--lytics-access-token`: 您的Lytics访问符 (Lytics工具需要)
-   `CONTENTSTACK_PERSONALIZE_PROJECT_ID` 编号 : `--personalize-project-id`: 您的个性化项目 ID( 个人化工具需要)
-   `GROUPS` 编号 : `--groups`: 以逗号分隔的 API 组列表以启用(选项 : `cma`, (中文(简体) ), `cma-extended`, (中文(简体) ), `cda`, (中文(简体) ), `analytics`, (中文(简体) ), `automations`, (中文(简体) ), `brandkit`, (中文(简体) ), `launch`, (中文(简体) ), `developerhub`, (中文(简体) ), `lytics`, (中文(简体) ), `personalize`, (中文(简体) ), `all`默认 : `cma`(中文(简体) )
-   `CONTENTSTACK_ENVIRONMENT`: 可选默认环境名称, 用于堆栈感知 CDA/ CMA 工具浓缩
-   `CONTENTSTACK_BRANCH`: 用于浓缩的可选默认分支(默认为 `main`(中文(简体) )
-   `CONTENTSTACK_LOCALE`: 用于浓缩的可选默认地块代码
-   `CONTENTSTACK_MCP_ENRICH_TOOLS`: 设定为 `false` 以禁用堆栈感知工具浓缩。 在默认情况下进行浓缩

#### 专用基础设施(海关终点)

专用或私人基础设施的客户可以超越单个服务基地URL. 设定时, 覆盖将完全取代该服务的区域生成的 URL( 包含服务所期望的任何路径后缀, 例如 Launch's `/manage`:

-   `CONTENTSTACK_CMA_BASE_URL` - 医学院和医学院扩展
-   `CONTENTSTACK_CDA_BASE_URL` - 发协
-   `CONTENTSTACK_DEVELOPERHUB_BASE_URL` ——开发者枢纽
-   `CONTENTSTACK_PERSONALIZE_BASE_URL` - 个性化
-   `CONTENTSTACK_ANALYTICS_BASE_URL` - 分析
-   `CONTENTSTACK_AUTOMATIONS_BASE_URL` - 自动化
-   `CONTENTSTACK_LAUNCH_BASE_URL` 发射
-   `CONTENTSTACK_BRANDKIT_AI_BASE_URL` 编号 : `CONTENTSTACK_BRANDKIT_API_BASE_URL` - BrandKit(AI和品牌Kits-api主机)
-   `CONTENTSTACK_LYTICS_BASE_URL` - 语言

> 区域终点来源于Contack官方 [`regions.json`](https://artifacts.contentstack.com/regions.json),这样服务器就可以与Contack支持的数据中心保持一致.

### 组群需求汇总表

| 组 | 认证 | 需要的托肯/配置 |
| --- | --- | --- |
| **医学院** | OAuth 或管理键 | 堆叠 API 密钥 |
| **CMA 扩展** | OAuth 或管理键 | 堆叠 API 密钥 |
| **土发委会** | 基于托肯 | 堆栈 API 密钥 + 交付托肯 |
| **分析** | 奥奥特 | —— 说 |
| **自动化** | 奥奥特 | —— 说 |
| **布兰克基特** | 奥奥特 | 品牌 Kit 标识 |
| **发射** | 奥奥特 | 启动项目 ID + 组织 UID |
| **开发者Hub** | 奥奥特 | 堆叠 API 密钥 |
| **语言** | 基于托肯 | 语言访问托肯 |
| **个性化** | 奥奥特 | 个性化项目 ID |

### 堆叠感知工具浓缩

开始于 `0.9.0`,服务器将丰富 `tools/list` 默认使用活堆栈上下文的响应。 浓缩帮助代理通过添加堆栈特定描述,enum值,以及支持的工具计划默认值来选择有效的ID.

支助的浓缩集团 `cda`, (中文(简体) ), `cma`, (中文(简体) ), `cma-extended`, (中文(简体) ), `launch`, (中文(简体) ), `brandkit`, (中文(简体) ), `personalize`,以及 `developerhub`。 。 。 .

-   CDA 使用送出符来装入内容类型, 加上可选内容 `CONTENTSTACK_ENVIRONMENT`, (中文(简体) ), `CONTENTSTACK_BRANCH`,以及 `CONTENTSTACK_LOCALE` 默认值.
-   CMA和CMA扩展使用OAuth或管理符来加载内容类型,环境,地块和分支.
-   OAuth + 发射用途 `CONTENTSTACK_LAUNCH_PROJECT_ID` 财务报告和审定财务报表 `CONTENTSTACK_ORGANIZATION_UID` 以装入项目环境.
-   BrandKit 使用 OAuth 附加软件 `CONTENTSTACK_BRAND_KIT_ID` 以装入语音配置和“知识断层”内容.
-   个性化使用 OAuth 附加 `CONTENTSTACK_PERSONALIZE_PROJECT_ID` 以载入属性、受众、经验和事件.
-   开发者枢纽使用 OAuth + `CONTENTSTACK_API_KEY` 装入市场应用.

设定 `CONTENTSTACK_MCP_ENRICH_TOOLS=false` 关闭浓缩。 Stack 上下文被缓存到每次连接5分钟.

### 使用 Claude 桌面

您可以使用此 MCP 服务器而不克隆寄存器 。 编辑 `~/Library/Application Support/Claude/claude_desktop_config.json` 并添加服务器条目 :

```json
{
  "mcpServers": {
    "contentstack": {
      "command": "npx",
      "args": ["-y", "@contentstack/mcp"],
      "env": {
        "CONTENTSTACK_API_KEY": "<YOUR_STACK_API_KEY>",
        "CONTENTSTACK_DELIVERY_TOKEN": "<YOUR_DELIVERY_TOKEN>",
        "CONTENTSTACK_BRAND_KIT_ID": "<YOUR_BRAND_KIT_ID>",
        "CONTENTSTACK_LAUNCH_PROJECT_ID": "<YOUR_LAUNCH_PROJECT_ID>",
        "CONTENTSTACK_ORGANIZATION_UID": "<YOUR_ORGANIZATION_UID>",
        "CONTENTSTACK_PERSONALIZE_PROJECT_ID": "<YOUR_PERSONALIZE_PROJECT_ID>",
        "LYTICS_ACCESS_TOKEN": "<YOUR_LYTICS_TOKEN>",
        "GROUPS": "<COMMA_SEPARATED_GROUPS>"
      }
    }
  }
}
```

**注释:**

-   这个 `CONTENTSTACK_DELIVERY_TOKEN` 是可选的,只有在计划使用内容交付 API (CDA) 工具时才需要.
-   这个 `CONTENTSTACK_BRAND_KIT_ID` 只需要BrandKit工具.
-   这个 `CONTENTSTACK_LAUNCH_PROJECT_ID` 财务报告和审定财务报表 `CONTENTSTACK_ORGANIZATION_UID` 仅要求用于发射工具.
-   这个 `CONTENTSTACK_PERSONALIZE_PROJECT_ID` 仅用于个性化工具.
-   这个 `LYTICS_ACCESS_TOKEN` 仅需要Lytics工具.
-   在使用 CMA, CMA扩展, 分析, 自动化, BrandKit, 启动, 开发者Hub, 或个性化组之前, 您必须先运行 OAuth 认证 : `npx @contentstack/mcp --auth`

如果您的 MCP 客户端不支持环境变量, 传递与命令行参数相同的值 :

```json
{
  "mcpServers": {
    "contentstack": {
      "command": "npx",
      "args": [
        "-y",
        "@contentstack/mcp",
        "--stack-api-key",
        "<YOUR_STACK_API_KEY>",
        "--delivery-token",
        "<YOUR_DELIVERY_TOKEN>",
        "--brand-kit-id",
        "<YOUR_BRAND_KIT_ID>",
        "--launch-project-id",
        "<YOUR_LAUNCH_PROJECT_ID>",
        "--organization-uid",
        "<YOUR_ORGANIZATION_UID>",
        "--lytics-access-token",
        "<YOUR_LYTICS_TOKEN>",
        "--personalize-project-id",
        "<YOUR_PERSONALIZE_PROJECT_ID>",
        "--groups",
        "<COMMA_SEPARATED_GROUPS>"
      ]
    }
  }
}
```

## 构建自己的 MCP( 工具定义 API)

内容tack发布此服务器在公开,未经认证的HTTPS端点中使用的相同工具定义. 如果您正在构建自己的 MCP 服务器,代理框架,或 API 客户端, 您可以直接获取这些定义, 并将一个工具调用翻译为 Contentack REST/ GraphQL 请求您自己 —— 无需销售此软件包 .

> 这些终点服务 **仅限工具元数据** (名称、说明、输入图和请求绘图)。 他们没有全权证书。 当您执行相应的请求时, 您会带上您自己的签名 .

### 工具定义终点

每个API组发布于 `https://mcp.contentstack.com/<group>/tools`数字 :

| 组 | 终点 |
| --- | --- |
| `cma` | `https://mcp.contentstack.com/cma/tools` |
| `cma-extended` | `https://mcp.contentstack.com/cma-extended/tools` |
| `cda` | `https://mcp.contentstack.com/cda/tools` |
| `brandkit` | `https://mcp.contentstack.com/brandkit/tools` |
| `lytics` | `https://mcp.contentstack.com/lytics/tools` |
| `personalize` | `https://mcp.contentstack.com/personalize/tools` |
| `analytics` | `https://mcp.contentstack.com/analytics/tools` |
| `automations` | `https://mcp.contentstack.com/automations/tools` |
| `launch` | `https://mcp.contentstack.com/launch/tools` |
| `developerhub` | `https://mcp.contentstack.com/developerhub/tools` |

```bash
curl -s https://mcp.contentstack.com/cda/tools | jq 'keys'
```

每个端点返回由工具名键入的JSON对象.

### 工具定义格式

```jsonc
{
  "<tool_name>": {
    "name": "get_all_assets_cdn",
    "description": "Human/LLM-facing description of what the tool does.",
    "group": "cda",
    "subGroup": "ai", // optional; only some groups (e.g. brandkit) use it
    "mapper": {/* how to build the HTTP request — see below */},
    "inputSchema": {/* JSON Schema for the tool's arguments */},
  },
}
```

-   **`inputSchema`** 是标准的 JSON Schema —— 直接将其曝光到您的 LLM / 工具跑取器中作为工具的参数.
-   **`mapper`** 告诉您如何将有效的参数转换成 HTTP 请求 :

| 外地 | 含义 |
| --- | --- |
| `apiUrl` | 路径附在组的基址上 。 可能包含路径参数占位符. |
| `method` | `GET` 编号 : `POST` 编号 : `PUT` 编号 : `PATCH` 编号 : `DELETE`。 。 。 . |
| `type` | `"complex"` (形状为身体)或 `"graphql"`缺席/ `"object"` 简单. |
| `params` | 地图a **占位符在 `apiUrl`** - 填充它的辩论名称. |
| `queryParams` | 地图a **查询字符串密钥** 提供其价值的参数名称. |
| `headers` | 地图a **HTTP 头名** 提供其价值的参数名称. |
| `body` | 对于简单的工具:持有请求正文的参数名. 对于 `complex`:一作子司马. |

图表QL 工具 (`type: "graphql"`额外携带 `query` (查询字符串)和 `variables` (图解每个图形QL变量 ) `{ "type": ..., "x-mapFrom": "<argName>" }`) (中文(简体) ).

### 建立请求

考虑到工具定义和经验证的地图 `args`数字 :

1.  **URL / 路径参数** 从 `mapper.apiUrl`; 用于每个 `mapper.params` 条目(`placeholder → argName`),替换 `placeholder` 与 `encodeURIComponent(args[argName])`。 。 。 .
2.  **查询参数** ——每个 `mapper.queryParams` 条目,如果 `args[argName]` 定义,添加。 结束于 `[]` 序列化为重复的数组参数( e)`key[]=a&key[]=b`); 对象值为 JSON-字符串.
3.  **页眉** ——每个 `mapper.headers` 条目,从 `args[argName]`,然后添加组合的认证头(下方).
4.  **体质** —— 说
    -   _简单_ (单位:千美元)`body` 是字符串 : 如果 `args[body]` 存在是正文的逐字;否则,所有论据都不为 `params`编号 :`queryParams` 被包裹在 `body` 键.
    -   _复杂_ (单位:千美元)`type: "complex"`:行走计划;每片叶子用 `x-mapFrom` 从 `args[x-mapFrom]`。 。 。 .
    -   _图QL_ (单位:千美元)`type: "graphql"`后点: `{ query, variables }`,从 `args[variables[var]["x-mapFrom"]]`。 。 。 .
5.  **组合** —— 说 `<base URL for group + region>` + 键 `<resolved apiUrl>` + 键 `?<query>`,用方法,头,和身体以上.

### 基础 URL

基础 URL 是 `<region endpoint for the service> + <optional path suffix>`区域终点来自区域正式文件: `https://artifacts.contentstack.com/regions.json`。 。 。 .

| 组 | `regions.json` 字段 | 路径后缀 |
| --- | --- | --- |
| `cma`, (中文(简体) ), `cma-extended` | `contentManagement` | —— 说 |
| `cda` | `contentDelivery` | —— 说 |
| `developerhub` | `developerHub` | —— 说 |
| `personalize` | `personalizeManagement` | —— 说 |
| `analytics` | `application` | `/analytics` |
| `automations` | `automate` | —— 说 |
| `launch` | `launch` | `/manage` |
| `brandkit` (分组) `brand-kits-api`(中文(简体) ) | `brandKit` | —— 说 |
| `brandkit` (分组) `ai`(中文(简体) ) | `genAI` 随行 `/brand-kits` 删除 | —— 说 |

例如,针对区域 `NA`, (中文(简体) ), `cma` 决定: `https://api.contentstack.io` 财务报告和审定财务报表 `cda` 改为 `https://cdn.contentstack.io`语言不是区域性的: `https://api.lytics.io`。 。 。 .

### 认证信头

您提供符号值; 定义中从未包含它们 .

| 组 | 需要的标题 |
| --- | --- |
| `cda` | `api_key: <stack api key>`, (中文(简体) ), `access_token: <delivery token>` |
| `cma`, (中文(简体) ), `cma-extended` (托肯认证) | `api_key: <stack api key>`, (中文(简体) ), `authorization: <mgmt token>` |
| `cma`, (中文(简体) ), `cma-extended`, (中文(简体) ), `developerhub`, (中文(简体) ), `brandkit`, (中文(简体) ), `analytics`, (中文(简体) ), `automations`, (中文(简体) ), `launch`, (中文(简体) ), `personalize` (奥) | `api_key` (在适用的情况下) + OAuth无记名头 |
| `lytics` | `Authorization: <lytics access token>` |

特定群体的额外费用: **布兰克基特** `brand_kit_uid`· ; **个性化** `x-project-uid`· ; **发射** `x-project-uid`, (中文(简体) ), `x-organization-uid` (+ 阿波罗客户端头; **分析** a 一个 `orgUid` 查询 OAuth 中的参数。 自动化使用 OAuth 无记名符号加 `organization_uid`; 自动化工程UID是路径参数.

### 示例——CDA:列表资产

```jsonc
{
  "name": "get_all_assets_cdn",
  "group": "cda",
  "mapper": {
    "apiUrl": "/v3/assets",
    "method": "GET",
    "queryParams": { "limit": "limit", "include_count": "include_count" },
    "headers": { "branch": "branch" },
  },
}
```

与 `args = { limit: 10, include_count: true, branch: "main" }`区域 `EU`数字 :

```http
GET https://eu-cdn.contentstack.com/v3/assets?limit=10&include_count=true
api_key: <stack api key>
access_token: <delivery token>
branch: main
```

该寄存器本身是一种参考执行;见 [来源于 GitHub](https://github.com/contentstack/mcp)。 。 。 .

## 工具目录

### 内容管理 API( CMA)

条目,资产,内容类型,分类,术语,分支,发布,环境,出版,变体,全域,以及条目引用.

| 工具 | 说明 |
| --- | --- |
| `publish_an_entry` | 将指定的内容类型条目发布到一个或多个环境和堆栈分支内的地块。 将来可选择安排出版时间. |
| `unpublish_an_entry` | 取消从一个分支内选定的环境和地层中指定的条目,将其从CDN中去除,因此不再由发送API服务. 可选地安排未来一段时间的未出版版本. |
| `publish_variants_of_an_entry` | 在一个分支内,将一个条目的一个或多个变体发布到选定的环境和地方。 使用取出 all variants of a content type工具来解决变体UID. |
| `create_an_entry` | 在指定的 Contentack 堆栈中创建一个新条目,针对一个定义的内容类型和分支,支持地方选择和结构化的条目数据. |
| `delete_an_entry` | 从 Contentack 堆栈中删除一个指定的条目, 瞄准提供的内容类型和条目 UID, 包含分支, 地语的可选参数, 并删除所有本地化的变体 . |
| `get_all_entries` | 在目录堆栈中检索指定内容类型的条目细节,支持分支选择,页码化,版本化,地语过滤,高级查询参数,可选草稿覆盖(`apply_draft`)),以及选择性地包含元数据,工作流程,分支,并发布细节. |
| `get_single_entry` | 获取特定内容类型内指定条目的元数据和字段值,支持分支,版本,以及地语选择,可选择包含工作流程,分支,并发布细节. |
| `update_an_entry` | 通过替换其字段数据来更新给定内容类型、分支和地块中的现有条目. |
| `get_all_content_types` | 检索堆栈中的所有内容类型,包括页码,查询过滤,以及可选择地包含全局域方案. |
| `get_a_single_content_type` | 在堆栈中获取指定内容类型的设置和配置细节,支持可选地包含全局域定义和分支元数据供开发者参考. |
| `create_a_content_type` | 在指定的目录堆栈中创建新内容类型,支持分支选择和可选分支元数据包含. |
| `update_content_type` | 更新指定目录堆栈中的现有内容类型,支持分支选择和可选分支元数据包含. |
| `delete_content_type` | 删除已有的内容类型及其中的所有条目. |
| `get_all_references_of_ct` | 获取引用指定内容类型的内容类型,包括直接和嵌入式引用. |
| `export_content_type` | 输出特定内容类型及其计划。 数据以 JSON 格式导出 . |
| `get_all_taxonomies` | 检索堆栈中所有分类的元数据,并使用由UID或名称进行页码和打字头搜索. |
| `get_a_single_taxonomy` | 获取特定分类学的元数据和配置细节,可选择包括名词,参考名词,以及高级内容建模和报告参考条目数. |
| `export_a_taxonomy` | 从选定格式的指定堆栈中导出一个分类及其所有相关术语,支持分类管理的结构化数据提取. |
| `get_all_languages` | 获取指定堆栈分支内配置的所有语言的元数据,通过限制支持页化并跳过参数. |
| `get_all_assets` | 检索堆栈中所有资产的元数据,并设置了环境和文件夹过滤器,查询过滤器,升入/降出排序器,并加盖页码. |
| `get_all_branches` | 获取指定堆栈内所有分支的元数据,通过限制支持页化并跳过参数. |
| `create_a_branch` | 在指定的目录堆栈中创建新分支. |
| `get_a_single_branch` | 在目录堆栈中获取指定分支的元数据和配置细节,使分支级检查和管理成为可能. |
| `delete_a_branch` | 删除指定目录堆栈中的分支. |
| `compare_branches` | 取出两个分支之间所有差异的列表. |
| `compare_content_types_between_branches` | 获取两个指定分支在内容类型上的所有差异列表. |
| `compare_global_fields_between_branches` | 获取两个指定分支在全球域中的所有差异列表 . |
| `compare_specific_ct_between_branches` | 检索两个指定分支之间指定内容类型的所有差异. |
| `compare_specific_gf_between_branches` | 获取两个指定分支之间指定全局域的所有差异. |
| `get_all_merge_jobs` | 在一个特定时期内获取所有最近合并的工作的列表 . |
| `merge_branch` | 将内容类型和全局字段从比较分行合并为基准分行,每个项目策略的可选性覆盖. |
| `get_a_single_merge_job` | 使用提供的合并 job uid参数,为堆栈内指定的合并任务获取详细信息. |
| `get_a_single_branch_alias` | 在Contentack堆栈中检索指定分支别名的元数据和配置细节,允许分支管理和验证操作. |
| `get_all_branch_aliases` | 获取指定堆栈内所有分支别名的元数据,通过限制支持页化并跳过参数. |
| `assign_a_branch_alias` | 指定(创建或更新)分支别名,从而指向堆栈中的目标分支. |
| `delete_a_branch_alias` | 永久删除所选堆栈中指定的分支别名. |
| `get_all_global_fields` | 获取指定堆栈内配置的所有全局域的元数据,支持可选分支选择和分支元数据包含. |
| `get_all_items_in_a_release` | 获取所有与指定发布 uid相关的项目的元数据和内容细节,如果包含 branch为真,可选择包含分支信息. |
| `get_all_releases` | 检索堆栈中所有释放的元数据,同时将总和项目计数包含在页码和可选内容中. |
| `get_all_terms` | 从堆栈中获取指定分类的所有名词细节,通过限制支持页并跳过参数. |
| `get_all_terms_across_all_taxonomies` | 从堆栈内的所有分类中获取名词细节,支持类型头搜索,通过限制和跳过进行页码化,以及可选的总数包含. |
| `get_all_variants_of_an_entry` | 检索选定内容类型中指定条目的所有变体(个性化变体). |
| `get_all_ancestors_of_a_term` | 在一个分类学中检索一个指定术语的完整祖先等级,通过限制支持页化并跳过参数. |
| `get_a_single_asset` | 获取目录堆栈内特定资产的元数据和属性,支持分支,环境和版本参数,用于精确的资产识别和检索. |
| `get_asset_reference` | 检索选定分支内所有引用指定资产的条目,以便能够进行资产依赖性分析和内容关系管理. |
| `get_all_descendants_of_a_term` | 检索指定分类学名词的所有后人名词,通过限制支持pagination并跳过参数. 适用于分级分类的分层和术语管理. |
| `get_a_single_release` | 为特定分支内指定的发布获取元数据和配置细节,支持可选择地将分支信息纳入开发商参考和审计目的. |
| `get_single_entry_variant` | 从指定的内容类型、分支和地语检索内容条目的具体变体,使用提供的条目和变体标识符。 适合变相管理和本地化工作流程. |
| `get_a_single_global_field` | 在目录堆栈中获取指定全域的元数据和配置细节,支持分支选择和可选包含分支上下文. |
| `get_a_single_variant` | 检索变种组内单变种的细节. |
| `get_a_single_term` | 获取特定分类学术语的详细元数据,支持可选列入子词并引用条目计数. |
| `get_all_variants_of_a_content_type` | 检索所有与指定内容类型相链接的可变定义(变组). |
| `get_publish_queue` | 检索分支的发布队列——发布日志,不发布,并删除条目和资产上的活动——通过批量任务,动作,状态,环境,或地产等进行标注和可选过滤. |
| `get_references_of_an_entry` | 通过引用字段检索所有引用指定条目的条目。 在修改或解出条目之前使用此来理解下游对其他内容的影响. |
| `add_items_to_a_release` | 程序通过接受JSON格式的结构化项目数据,实现自动放行管理和部署工作流程,在Contentack堆栈分支内的指定放行中添加指定的内容项. |
| `clone_a_release` | 创建指定分支中已有释放的复制件,为被复制的释放指定新名称和可选描述. |
| `localize_an_entry` | 通过创建或更新目标地块的内容,将堆栈内指定的条目本地化,确保该条目独立于倒计时地块. 支持分支选择,内容类型,条目识别,以及地语规范. |
| `create_a_release` | 在指定的堆栈分支内创建一个新的空放对象,并初始化其需要的名称和可选描述;支持分支选择和包含参数用于发布管理. |
| `create_a_taxonomy` | 在指定的堆栈内创建新的分类对象,指定所提供的UID、名称和结构化内容分类的可选描述. |
| `create_a_term` | 通过指定一个独特的标识符、名称、顺序和可选父词,在指定的分类法中创建一个新术语. |
| `delete_an_asset` | 从堆栈内选定的分支中永久删除指定资产. |
| `delete_a_taxonomy` | 从堆栈中删除指定的分类和所有相关术语. |
| `delete_a_term` | 使用提供的分类学 uid和术语 uid参数从分类学中删除指定的术语;支持通过强制旗强制删除. |
| `get_all_environments` | 获取堆栈中的环境列表,其中可选择总数报告,并按任何环境字段进行上下排序. |
| `create_an_environment` | 在堆栈中创建新环境,方法是指定其名称和一个或多个特定地方的基址. |
| `get_an_environment` | 获取一个单一环境的全部细节,由它的名称来识别. |
| `update_an_environment` | 更新在 URL 路径中以名称识别的现有环境。 您可以更改环境名称和(或)其区域对URL映射. |
| `delete_an_environment` | 永久删除一个环境, 由它的名称识别 . |
| `deploy_a_release` | 向一个或多个目标环境发布,发布或不发布其所有项目。 支持未来时间的可选调度 . |
| `update_a_taxonomy` | 使用指定的分类实体独特的标识符更新该实体的名称和描述字段. |
| `update_a_term` | 使用所提供的分类学 uid和术语 uid标识符在分类学中重命名指定的术语。 这里只能更改名词; 使用 `move_a_term` 重新排序或重现父母身份. |
| `move_a_term` | 通过专用的移动端点,在其分类中重新排列或重新排列一个名词,设置一个新的父词(或对根位无效)并排列其兄弟姐妹之间的顺序. |
| `delete_items_from_a_release` | 程序上将指定内容项从一个Contentack堆栈分支内的指定放出中去除,要求以JSON格式发布标识符和项目数据,以便精确瞄准和执行. |
| `publish_an_asset` | 在一个堆栈内向一个或多个环境和地块发布指定资产,并有未来时间的可选调度. |
| `unpublish_an_asset` | 在堆栈内取消来自所选环境和地块的指定资产,并有未来时间的可选列表. |
| `unlocalize_an_entry` | 在给定的地块中将指定的条目本地化,恢复到所选分支和内容类型中原非本地化(倒置)状态. |
| `create_an_entry_variant` | 为已存在的碱性条目创建条目变量. |
| `delete_an_entry_variant` | 删除基准条目中指定的条目变量. |

### 内容管理 API 扩展( CMA 扩展)

审计日志,条目和资产版本历史,全域写作,资产文件夹管理,以及工作流程和发布规则检查. 装入 `--groups cma,cma-extended`。需要与 OAuth 认证相同 `cma`。 。 。 .

| 工具 | 说明 |
| --- | --- |
| `get_audit_log` | 获取堆栈的审计日志条目列表。 每个创建,更新,删除,发布,以及未被公布的动作都会被记录. 以此解释最近的变化或重建事件的时间线. |
| `get_audit_log_item` | 检索单个审计日志条目的全部细节,包括字段值前后,更改的用户,以及时间戳. 之后使用 `get_audit_log` 钻入一个特定的改变. |
| `get_all_versions_of_an_entry` | 检索特定条目的完整版本历史. 使用此方法来审计内容如何随时间演变,识别产生问题的版本,或者确定要公布的版本编号. |
| `set_entry_version_name` | 将可人读取的标签指定给特定版本的条目,如"经法律认可"或"发射前草案". 命名版本可见于"Contentack UI". |
| `delete_entry_version_name` | 删除先前分配给特定条目版本的标签。 版本本身没有被删除. |
| `create_a_global_field` | 在堆栈中创建新的全局字段。 全球域是可被嵌入到多内容类型的可重复使用的域组. 全球域的改变向使用它的每一类内容传播. |
| `update_a_global_field` | 更新现有全局域的计划或标题。 变化传播到嵌入这个全球领域的所有内容类型. |
| `delete_a_global_field` | 永久删除一个全局字段,并从每个引用它的内容类型中删除其嵌入的发生. 这一行动是无法取消的. |
| `export_global_field` | 将全局域定义导出为 JSON 对象 。 使用它来备份一个计划或检查完整字段定义,然后更新或删除它 . |
| `update_asset_details` | 更新现有资产的元数据——标题、描述或标记,而不替换基本文件. |
| `get_assets_of_a_specific_folder` | 由它的UID检索特定文件夹中包含的资产,包含可选子文件夹并发布细节过滤. |
| `get_assets_and_subfolders_of_a_parent_folder` | 检索父文件夹中的资产文件和子文件夹条目。 用于在删除前翻转资产等级或确认文件夹内容. |
| `create_asset_folder` | 在资产库中创建新文件夹,可选择在父文件夹下嵌入. |
| `update_asset_folder` | 重命名已有的资产文件夹。 文件夹UID及其内容保持不变. |
| `delete_asset_folder` | 永久删除一个资产文件夹及其包含的所有资产和子文件夹。 这一行动是无法取消的. |
| `get_all_versions_of_an_asset` | 检索特定资产的完整版本历史。 使用此选项可识别当前发布的哪个版本或审查上传历史. |
| `set_asset_version_name` | 将人可读的标签指定给特定版本的资产,如"英雄形象-最终批准". |
| `delete_asset_version_name` | 删除先前分配给特定资产版本的标签。 版本本身没有被删除. |
| `get_all_workflows` | 检索堆栈中定义的所有工作流程。 以此来理解批准程序,并找出在将一个条目移动到各个阶段之前,哪些工作流程适用于某一特定内容类型. |
| `get_a_single_workflow` | 获取单一工作流程的完整定义,包括所有阶段,过渡规则,以及基于角色的权限. |
| `get_publish_rules` | 检索在堆栈中发布工作流程规则,定义哪些工作流程阶段允许或屏蔽发布,以及它们适用于哪些内容类型. |
| `get_publish_queue_activity` | 为整个堆栈的发布队列获取最近的活动摘要。 用于监测总体出版健康。 用于项级过滤, 使用 `get_publish_queue` 输入 `cma` 组取而代之. |

### 内容交付 API( CDA)

公布的条目和资产通过Contack的CDN服务.

| 工具 | 说明 |
| --- | --- |
| `get_all_assets_cdn` | 检索内容交付网络公布的资产. 返回 CDN 元数据,包括 URL、 文件类型、 尺寸和发布状态。 支持 pagination (limit/skip),分支和地语选择,特定版本,以及可选的包含图像维度,发布细节,以及元数据. 建造媒体画廊、取取资产者或大宗资产业务的理想. |
| `get_all_entries_cdn` | 检索从CDN发布的内容类型条目,用于快取,全球快递. 返回带有完整字段值的已标注的条目,并支持过滤(query)、排序(asc/desc)、参考解析(包含/包含 all)、地方选择和倒置。 对列出页面,搜索界面,或数据同步至关重要. 每个请求最多100个条目. |
| `get_a_single_asset_cdn` | 通过CDN独有的识别特征从CDN获取特定的已公布资产. 返回完整的资产元数据,包括CDN URL、文件细节、尺寸和版本信息。 将此用于您的应用程序中的直接资产访问, 确保快速,缓存的交付通过Contack的全球CDN基础设施. |
| `get_a_single_entry_cdn` | 以独有的标识符和内容类型从CDN获取一个特定的已公布条目. 返回所有字段值的完整条目数据,优化后用于快速全球交付。 支持环境和语言选择, 当指定语言不可用时, 自动回落到默认语言 。 适合细节页面,单一资源视图,或实时内容显示. |

### 分析 API

用法,状态代码,缓存,URL,设备,以及SDK分析.

| 工具 | 说明 |
| --- | --- |
| `get_subscription_usage` | 获取贵组织内发射资源消耗的综合汇总,具体日期范围. 返回启动项目、环境和配置域的总数。 此同步操作返回一个必须传递的工作列表以获取 job data以获取实际结果 。 对跟踪发射资源利用情况、遵守许可证和能力规划至关重要. |
| `get_device_usage` | 在指定时期内分析您整个内存服务的设备和 SDK 使用模式 。 返回详细的统计数据,包括设备类型,SDK版本,平台,操作系统,访问计数,以及时间模式等. 此同步操作返回获取 job data 的工作符 。 支持按服务类型进行过滤(CMA,UI,CDN,GraphQL,图像,资产,自动化,启动),命令,平面和日期范围. 对理解客户端分布,SDK采纳,优化相容性测试至关重要. |
| `get_usage_analytics` | 为您的组织在指定时间内获取全面的 API 和 CDN 使用分析 。 返回按服务类型(CMA、UI、CDN、GraphQL、图像、资产、自动化、发射)分列的带宽消耗和请求数。 此同步操作返回获取 job data 的工作符 。 支持以堆栈( apiKey), 启动项目, 以及环境过滤 。 注: apiKey不能同时使用自动化/发射服务;apiKey和环境Uid仅适用于发射服务. 监测交通模式、计费分析和能力规划所必不可少的. |
| `get_top_urls` | 在指定的时间段内分析您 Contentack 服务的 URL 级别流量模式 。 按服务类型(CMA、UI、CDN、GraphQL、图像、资产、自动化、启动)细分的每个访问的 URL 返回请求数。 此同步操作返回获取 job data 的工作符 。 支持通过堆栈过滤,通过请求计数排序,并进行页码化. 对识别高流量终点、发现热点、优化缓存策略和分析内容受欢迎程度至关重要. |
| `get_status_code` | 在指定的时间段内,在您的 Contentack 服务中获取全面的 HTTP 状态代码分布 。 按状态代码(200、404、500等)、服务类型和日期分类的回返请求数。 此同步操作返回获取 job data 的工作符 。 支持通过特定状态代码,堆栈,日期范围,和服务类型来过滤. 对监测API健康、查明出错模式、跟踪成功率、检测停电情况、确保服务可靠性和遵守苏丹解放军至关重要. |
| `get_cache_usage` | 分析缓存性能, 方法是跟踪您在指定时期内的内存服务中的 HIT 和 MISS 率 。 返回按服务类型(CDN、图像、资产等)分类的缓存效率衡量标准,显示HIT(已服务已锁定内容)相对于MISS(需要原始获取)的计数。 此同步操作返回获取 job data 的工作符 。 通过缓存状态、堆栈和日期范围支持过滤。 对优化缓存配置,改善响应时间,减少原产地负载,降低带宽成本至关重要. |
| `get_sdk_usage` | 在指定的时间段内跟踪您内存服务的 SDK 采纳和使用模式 。 按服务类型和日期分类的每个SDK版本的返回请求数。 此同步操作返回获取 job data 的工作符 。 确定哪些SDK版本(JavaScript,iOS,Android,REST等)正在提出请求,帮助跟踪迁移进度,识别被贬损的SDK用法,计划日落时间,并确保客户端在被支持的版本上. SDK生命周期管理和开发者支持的关键. |
| `get_job_data` | 利用工作信息获取完成结果,用于同步分析工作。 所有分析工具( 获取 订阅 usage, 获取 device usage, 获取 us analyst urls, 获取 status code, 获取 cache usage, 获取 sdk usage) 返回必须传递到的工作 `get_job_data` 获取实际数据。 工作得到同步处理,以高效处理大型数据集。 如果工作还在处理中, 它会返回 `200 Job active`; 在短暂延迟后重试。 通过页面参数支持大结果集的 pagination 。 对完成任何分析数据检索工作至关重要. |

### 自动化 API

自动化枢纽项目管理,自动化发现,激活控制,以及确定HTTP-触发工作流程执行.

| 工具 | 说明 |
| --- | --- |
| `list_automation_projects` | 在组织中列出自动化枢纽项目,并附有平分,排序,以及可选的计数支持. |
| `get_automation_project` | 通过项目UID获取单个自动化枢纽项目. |
| `create_automation_project` | 创建带有标题、描述和标签的自动化枢纽项目. |
| `update_automation_project` | 更新自动化枢纽项目的标题,描述,或标签. |
| `delete_automation_project` | 删除自动化枢纽项目。 这一行动是永久性的. |
| `list_automations` | 列出项目中的自动化。 使用 `show_steps: true` 以检查触发和步骤,包括HTTP-触发自动化. |
| `get_automation` | 通过自动化UID获取单个自动化,可选包括触发和步骤细节. |

## 常见问题

### @contentstack/mcp 是什么？

一个用于Contactack的模型上下文协议\(MCP\)服务器\. 它揭露了内容管理,内容提供,分析,发布,自动化,BrandKit,个性化,开发者Hub,和Lytics的工具\.

### 如何安装 @contentstack/mcp？

在项目目录运行 npm install @contentstack/mcp，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 contentstack-mcp-server，可以用 npx contentstack-mcp-server 直接运行。

### @contentstack/mcp 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/contentstack\_\_mcp 是否存在。

### @contentstack/mcp 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @contentstack/mcp 可以商用吗？

@contentstack/mcp 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @contentstack/mcp 的下载量有多少？

根据 npm 官方下载统计，@contentstack/mcp 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,425 次，日均约 81 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @contentstack/mcp 还在维护吗？

最新版本 0\.9\.0 发布于 2026/07/13（3 个月前）；至今共发布 21 个版本，其中过去 12 个月发布了 18 个；首次发布于 2025/05/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

