mcpField
C
Contentrain Ai

Contentrain Ai

本地服务
ai.contentrain.io开发工具6今天更新

关于 Contentrain Ai

Contentrain AI 为团队和 AI Agent 提供基于 Git 的内容层,用于从代码库提取、整理、审核和交付内容。其 MCP 工具执行模式与验证规则,内容变更经 Git 工作流审核,并以可移植的 JSON 和 Markdown 存储。

主要功能

  1. 01将硬编码文本提取为结构化内容
  2. 02四种内容类型及字段验证
  3. 03通过 Git 分支审核变更
  4. 04通过 stdio 或 HTTP 提供 MCP 工具
  5. 05本地界面浏览内容与验证结果
  6. 06生成类型化 TypeScript SDK

适用场景

  1. 01将应用界面文本转换为可翻译内容
  2. 02通过 Git 审核 Agent 修改的内容
  3. 03在应用与文档间共享结构化内容
  4. 04交付前验证内容

MCP 相关

项目通过 stdio 或 HTTP 提供 27 个 MCP 工具,支持本地 worktree、GitHub 和 GitLab。Agent 可用这些工具管理结构化内容、验证及基于 Git 的审核流程。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ai-contentrain": {
"command": "npx",
"args": [
"-y",
"contentrain"
]
}
}
}
启动命令npx -y contentrain

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcontentrain

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Contentrain AI

npm: @contentrain/mcp npm: contentrain npm: @contentrain/query Agent Skills 文档 许可证:MIT

网站 · 文档 · Discord · Twitter · LinkedIn

从代码库中提取、管理并交付结构化内容。

Contentrain 帮助团队将硬编码的 UI 文本、文档和结构化内容转化为可管理、可审核的内容层。Agent 可以提取、创建、翻译和更新内容,而 Contentrain 会强制执行架构、Git 审核和可移植的文件输出。

Agent extracts or updates content → Contentrain standardizes → Human reviews → Any platform consumes

30 秒快速上手

npx contentrain init        # create .contentrain/ workspace
npx contentrain serve       # open the local review UI

就这么简单。现在,你已经拥有一个包含模型、验证、审核分支和本地 UI 的内容工作区,无需账户、云服务或专有内容格式。

从这里开始:

Contentrain 的用途

  • 从现有应用中挽救硬编码字符串,并将其转化为结构化、可翻译的内容
  • 为新项目构建真正的内容层,而不是把文案散落在各个组件中
  • 通过 Git 中的纯 JSON 和 Markdown,在 Web、文档、移动端和后端系统中提供相同的内容

它不是什么

  • 不是 AI 写作应用
  • 不是适用于所有团队的数据库优先或仪表板优先的 CMS 替代品
  • 不是会将你的应用锁定在某个平台上的专有内容运行时

效果展示

之前: 硬编码字符串散落在整个代码库中——没有结构、没有翻译、没有审核。

export default function Hero() {
  return (
    <section>
      <h1>Welcome to our platform</h1>
      <p>Start your free trial today</p>
      <button>Get Started</button>
    </section>
  )
}

之后: 内容存放在 .contentrain/ 中,具有类型和结构。源文件使用 i18n 键。

export default function Hero() {
  const t = useTranslations()
  return (
    <section>
      <h1>{t('hero.title')}</h1>
      <p>{t('hero.subtitle')}</p>
      <button>{t('hero.cta')}</button>
    </section>
  )
}
// .contentrain/content/marketing/hero/en.json
{
  "cta": "Get Started",
  "subtitle": "Start your free trial today",
  "title": "Welcome to our platform"
}

规范化流程会提取字符串、创建模型并修补源文件——整个过程都通过可审核的 Git 分支完成。

这是了解产品最直接的方式:

将代码库中已有的内容混乱局面,转化为可管理、可审核的内容层。

工作原理

┌─────────────┐     ┌──────────────────┐     ┌──────────────┐
│  AI Agent    │────▶│  MCP (27 tools)  │────▶│ .contentrain/│
│  (decides)   │     │  (enforces)      │     │ (stores)     │
└─────────────┘     └──────────────────┘     └──────┬───────┘
                                                     │
                    ┌──────────────────┐              │
                    │  Review UI / Git │◀─────────────┘
                    │  (human approves)│
                    └──────────────────┘
  • Agent 决定应有哪些内容,以及内容应从何处获取
  • Contentrain 强制执行架构、验证、规范化序列化和 Git 工作流
  • 人工 通过分支、PR 或本地 Serve UI 进行审核
  • 输出 是纯 JSON 和 Markdown,任何语言或框架都可以使用

4 种内容类型

类型存储内容存储方式示例
Collection多条有类型的条目JSON 对象映射博客文章、产品、团队
Singleton每种语言环境一条条目JSON 对象Hero 区块、网站配置
DocumentMarkdown + frontmatter.md 文件文档、文章、更新日志
Dictionary扁平的键值字符串JSON 扁平映射i18n 翻译、UI 标签

提供 27 种字段类型(string、email、url、image、relation、array、object、markdown 等),并内置验证功能。

随处使用你的内容

内容是纯 JSON 和 Markdown。任何语言都可以直接读取。

对于 TypeScript 项目,可以生成类型化 SDK:

npx contentrain generate
import { query, singleton, dictionary, document } from '#contentrain'

const hero    = singleton('hero').locale('en').get()
const posts   = query('blog-post').locale('en').include('author').all()
const labels  = dictionary('ui-labels').locale('tr').get('auth.login')
const article = document('docs').locale('en').bySlug('getting-started')

兼容 Nuxt、Next.js、Astro、SvelteKit、Vue、React、Node、Go、Python、Swift、Flutter 及 20 多种技术栈。

团队选择它的原因

  • Git 原生 — 每次写入都会经过工作树隔离和评审分支
  • 标准化流程 — 扫描代码库中的硬编码字符串 → 提取 → 创建可用于 i18n 的内容 → 修补源文件
  • MCP 引擎 — 提供 27 个工具(22 个核心工具 + 5 个媒体工具),支持 stdio 或 HTTP 传输,可与 Claude Code、Cursor、Windsurf 或任何 MCP 客户端配合使用
  • 与提供方无关的引擎 — 同一套工具接口可通过本地工作树、GitHub 或 GitLab(包括可自托管版本)运行,无需更改任何工具代码。HTTP 传输可用于 Studio 等远程驱动程序。
  • 规范化序列化 — 键已排序,输出具确定性,Git 差异清晰,支持无冲突的并行编辑
  • Agent 规则与技能 — 行为策略和分步工作流以 npm 包的形式发布
  • 服务界面 — 本地 Web 仪表板,可浏览模型、内容、验证结果和标准化状态
  • 与框架无关 — MCP 不会感知你使用的框架。Agent 和技能负责处理特定技术栈的逻辑

Agent Skills

本仓库提供 16 个 Agent Skills — 可按需加载的可复用工作流流程,适用于任何 AI 编码 Agent。

将所有技能安装到你的 Agent:

npx skills add Contentrain/ai/packages/skills

或安装指定技能:

npx skills add Contentrain/ai/packages/skills --skill contentrain-normalize

这些技能适用于 Claude Code、Cursor、Windsurf、GitHub Copilot、OpenAI Codex、Gemini CLI 以及其他 40 多种 Agent。

完整的技能目录和 Agent 使用指南请参阅 AGENTS.md。

软件包

软件包npm作用
@contentrain/mcpnpm27 个 MCP 工具 + stdio / HTTP 传输 + Local / GitHub / GitLab 提供方
contentrainnpmCLI + 服务界面 + MCP stdio 入口
@contentrain/querynpm生成的 TypeScript 查询 SDK
@contentrain/typesnpm共享类型定义 + 常量
@contentrain/rulesnpm用于 IDE 集成的 Agent 质量规则
@contentrain/skillsnpm工作流流程 + 框架指南
@contentrain/wp-importnpmWordPress WXR / REST → RawIR → .contentrain 存储
@contentrain/emitter-astronpmProjectIR → 完整的 Astro 项目
@contentrain/verifynpm针对已构建网站的 SEO、索引、链接和资源检查
@contentrain/astro-kitnpm可复制到项目中的 Astro 组件 + 目录 + 构建器映射表
@contentrain/decidenpm类型化决策 — 优先使用规则,其次是 Jev,然后是 Claude Haiku — 支持缓存、预算控制和审计

入门模板

可用于生产的模板,包含 Contentrain 内容模型、生成的 SDK 客户端和针对特定框架的模式:

模板框架用途
astro-blogAstro博客 / 编辑内容
astro-landingAstro落地页
next-commerceNext.js电商内容叙事
next-multi-surface-saasNext.js统一营销站点 + 应用 + 文档
next-saas-dashboardNext.jsSaaS 仪表板 UI 文案
next-white-label-portalNext.js白标 / 多租户
nuxt-admin-consoleNuxt管理控制台 / 运维
nuxt-saasNuxtSaaS 营销网站
sveltekit-editorialSvelteKit编辑内容 / 出版物
vitepress-docsVitePress文档网站

每个模板都是 GitHub 模板仓库——点击“Use this template”即可开始。

templates/astro-starter 位于此仓库中:它是 WordPress 迁移的起点,包含文章、页面、归档和永久链接、SEO、RSS、站点地图、搜索、Studio 表单和评论、Gutenberg 区块样式;即使没有内容,也能通过自身的检查关卡(astro check、knip、构建、已构建网站检查、Lighthouse)。node scripts/starter-gates.mjs 会在独立副本上运行这些检查;CI 则会在 SDK 处于 HEAD 状态时,分别使用空内容和 templates/fixtures/wp-demo 运行检查。

快速参考

npx contentrain init         # initialize project
npx contentrain serve        # local review UI (port 3333)
npx contentrain serve --stdio # MCP over stdio for IDE agents
npx contentrain validate     # check content health
npx contentrain generate     # generate typed SDK client
npx contentrain status       # project overview
npx contentrain doctor       # setup health check
npx contentrain reconcile    # merge a diverged base branch, content-aware
npx contentrain studio login   # authenticate with Studio
npx contentrain studio connect # connect repo to Studio project

文档

  • 2 分钟演示 — 了解产品最快的方式
  • 开始使用 — 安装、连接 Agent 并运行第一个工作流
  • Normalize 指南 — 救援硬编码字符串的主要工作流
  • 生态系统地图 — AI 和 Studio 之间从软件包到产品的桥梁
  • Contentrain Studio — 面向 Git 原生结构化内容的开放核心团队运营平台,可自托管,也可选择托管方案(Starter/Pro/Enterprise)
  • 完整文档 — 指南、软件包参考和框架集成

开发

pnpm install && pnpm build && pnpm test
pnpm lint          # oxlint, warnings treated as errors
pnpm docs:check    # the docs must not state a number the code disagrees with

pnpm docs:check 会运行两项检查,运行前都需要先执行 pnpm build:

  • 事实 — 从负责维护相关数据的软件包中解析数量(MCP 工具、技能、字段类型、能力键),并与文档、本 README 和 AGENTS.md 中所有提及该数量的位置进行比较。
  • 示例 — 文档示例中的每个 @contentrain/* 导入都必须指向真实导出;示例也不得将 CommonJS 与顶层 await 混用(这种结构在任何模块系统中都无法运行)。

两项检查运行前都会用本仓库历史中的真实缺陷进行自测,因此,如果检查不再能捕获问题,就会明确报错,而不是静默通过。

版本管理和发布工作流请参阅 RELEASING.md。

社区

如果 Contentrain AI 对你有帮助,不妨给它点个星——这能帮助其他人发现这个项目。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。