Skip to main content
Glama

optimizely-test-data-mcp

一个 MCP 服务器,将内容计划转换为可导入的 Optimizely CMS 12 .episerverdata 包。

生成器从不接触 CMS。它读取内容类型导出并写入文件;由人工导出架构,并在 管理 → 导入数据 下导入结果。

使用

{
  "mcpServers": {
    "optimizely-testdata": {
      "command": "bunx",
      "args": ["optimizely-test-data-mcp@0.1.0"]
    }
  }
}

固定版本。未固定的规范会在每次会话启动时重新解析,而不是从缓存中提供——在 Windows 上,这测得每次启动约 ~11 秒,而固定后约 ~0.7 秒。

如果你不想使用 Bun,npx 的工作方式相同。

Related MCP server: PBIP Builder MCP Server

工具

工具

用途

load_schema

从 管理 → 导出数据 导出中加载站点的内容类型(仅内容类型)。在其他工具成功之前,所有其他工具都会失败。

list_content_types

查找站点实际拥有的类型,按种类或名称过滤。

describe_content_type

一个类型的属性、哪些是必需的,以及一个可编辑的计划骨架。

validate_plan

检查计划而不写入任何内容。错误会指出它们期望的形状。

build_package

写入 .episerverdata 文件。

inspect_package

总结现有包中的内容树。

限制

媒体、内联块属性、未发布内容、多种语言、Category 和未类型化的 Json 不会生成。任何没有经过验证的序列化的属性类型都会留空并发出警告,而不是猜测——错误的猜测会产生看起来正确但微妙错误的内容。

可用:页面、块、嵌套页面树、文本、HTML、ContentArea、内容引用,以及 {{date:±Nd}} / {{date:±Nh}} / {{date:±Nm}} 标记。

发布

  1. 在 package.json 中提升 version。

  2. 提交,然后打标签并推送:

    git tag v0.2.0
    git push origin v0.2.0

工作流会检查标签与 package.json 是否匹配,运行测试,构建 dist/,并通过 OIDC 可信发布进行发布——无需存储令牌。

发布是 CI 的工作。 没有 prepublishOnly 钩子,因此单独的 npm publish 不会构建:dist/ 被 git 忽略,没有它发布会提供一个 files: ["dist"] 不匹配任何内容的包。npm 接受这一点并退出 0,因此没有任何东西报告失败——损坏的版本只会到达消费者手中。如果你确实需要手动发布,请先运行 bun run build。

这种手动发布只需要一次:npm 只能信任它已经知道的包。手动发布 0.1.0(先运行 bun run build,然后在 npm login 后运行 npm publish),然后在 npmjs.com 上包的 设置 → 可信发布者 下添加可信发布者,指向此仓库和 publish.yml。之后的每次发布都来自标签。

消费者固定他们使用的版本——请参阅上面的配置。在这里提升版本不会改变他们,直到他们更新该固定版本。

Related MCP Connectors

Related MCP Servers