Contentrain AI
👁 npm: @contentrain/mcp
👁 npm: contentrain
👁 npm: @contentrain/query
👁 Agent Skills
👁 Docs
👁 License: MIT
ウェブサイト · ドキュメント · Discord · Twitter · LinkedIn
コードベースから構造化されたコンテンツを抽出し、管理し、デプロイします。
Contentrainは、チームがハードコードされたUIテキスト、ドキュメント、構造化コンテンツを、管理可能でレビュー可能なコンテンツレイヤーに変換するのを支援します。AIエージェントはコンテンツの抽出、作成、翻訳、更新を行うことができ、Contentrainはスキーマ、Gitレビュー、ポータブルなファイル出力を強制します。
Agent extracts or updates content → Contentrain standardizes → Human reviews → Any platform consumes30秒で試す
npx contentrain init # create .contentrain/ workspace
npx contentrain serve # open the local review UI以上です。これで、モデル、検証、レビューブランチ、ローカルUIを備えた管理されたコンテンツワークスペースが完成しました。アカウントもクラウドも、独自のコンテンツ形式も必要ありません。
ここから始めましょう:
Related MCP server: scan-your-ai-toolkit
Contentrainの目的
既存アプリからハードコードされた文字列を救出し、構造化された翻訳可能なコンテンツに変換する
コンポーネント全体にコピーを散乱させるのではなく、真のコンテンツレイヤーを備えた新しいプロジェクトを開始する
Git上のプレーンなJSONとMarkdownから、ウェブ、ドキュメント、モバイル、バックエンドシステム全体で同じコンテンツを提供する
Contentrainの目的外
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 (17 tools) │────▶│ .contentrain/│
│ (decides) │ │ (enforces) │ │ (stores) │
└─────────────┘ └──────────────────┘ └──────┬───────┘
│
┌──────────────────┐ │
│ Review UI / Git │◀─────────────┘
│ (human approves)│
└──────────────────┘エージェントは、どのようなコンテンツが存在すべきか、どこから来るべきかを決定します
Contentrainは、スキーマ、検証、正規化されたシリアル化、およびgitワークフローを強制します
人間は、ブランチ、PR、またはローカルのServe UIを通じてレビューします
出力は、あらゆる言語やフレームワークが消費できるプレーンなJSON + Markdownです
4つのコンテンツタイプ
種類 | 保存内容 | ストレージ | 例 |
Collection | 複数の型付きエントリ | JSONオブジェクトマップ | ブログ記事、製品、チーム |
Singleton | ロケールごとの単一エントリ | JSONオブジェクト | ヒーローセクション、サイト設定 |
Document | Markdown + フロントマター |
| ドキュメント、記事、変更履歴 |
Dictionary | フラットなキーと値の文字列 | JSONフラットマップ | i18n翻訳、UIラベル |
27種類のフィールド型(string, email, url, image, relation, array, object, markdownなど)と組み込みの検証機能があります。
コンテンツをどこでも利用可能に
コンテンツはプレーンなJSONとMarkdownです。あらゆる言語が直接読み取ることができます。
TypeScriptプロジェクトの場合は、型付きSDKを生成します:
npx contentrain generateimport { 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エンジン — stdioまたはHTTPトランスポート経由の17のツール。Claude Code、Cursor、Windsurf、または任意のMCPクライアントで動作します
プロバイダー非依存エンジン — ローカルワークツリー、GitHub、GitLab(セルフホスト含む)上で、ツールコードを変更することなく同じツールインターフェースが動作します。Studioなどのリモートドライバー向けにHTTPトランスポートも利用可能です。
正規化されたシリアル化 — ソートされたキー、決定論的な出力、クリーンなgit diff、競合のない並列編集
エージェントルールとスキル — 行動ポリシーとステップバイステップのワークフローをnpmパッケージとして提供
Serve UI — モデル、コンテンツ、検証、正規化ステータスを閲覧するためのローカルウェブダッシュボード
フレームワーク非依存 — MCPはフレームワークを認識しません。エージェントとスキルがスタック固有のロジックを処理します
エージェントスキル
このリポジトリには15のエージェントスキルが含まれています。これは、AIコーディングエージェントが必要に応じて読み込める再利用可能なワークフロー手順です。
エージェントにすべてのスキルをインストールします:
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以上のエージェントで動作します。
スキルカタログとエージェントガイダンスの全リストについては、AGENTS.mdを参照してください。
パッケージ
パッケージ | npm | 役割 |
17のMCPツール + stdio / HTTPトランスポート + ローカル / GitHub / GitLabプロバイダー | ||
CLI + Serve UI + MCP stdioエントリーポイント | ||
生成されたTypeScriptクエリSDK | ||
共有型定義 + 定数 | ||
IDE統合のためのエージェント品質ルール | ||
ワークフロー手順 + フレームワークガイド |
スターターテンプレート
Contentrainコンテンツモデル、生成されたSDKクライアント、フレームワーク固有のパターンを備えた本番環境対応テンプレート:
テンプレート | フレームワーク | ユースケース |
Astro | ブログ / エディトリアル | |
Astro | ランディングページ | |
Next.js | Eコマースのストーリーテリング | |
Next.js | マーケティング + アプリ + ドキュメントの統合 | |
Next.js | SaaSダッシュボードUIコピー | |
Next.js | ホワイトラベル / マルチテナント | |
Nuxt | 管理コンソール / オペレーション | |
Nuxt | SaaSマーケティングサイト | |
SvelteKit | エディトリアル / 出版 | |
VitePress | ドキュメントサイト |
各テンプレートはGitHubテンプレートリポジトリです。「Use this template」をクリックして開始してください。
クイックリファレンス
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 studio login # authenticate with Studio
npx contentrain studio connect # connect repo to Studio projectドキュメント
2分間のデモ — 製品を理解するための最速の方法
はじめに — インストール、エージェントの接続、最初のワークフローの実行
正規化ガイド — 主なハードコード文字列救出フロー
エコシステムマップ — AIとStudioにまたがるパッケージから製品へのブリッジ
Contentrain Studio — Gitネイティブな構造化コンテンツのためのオープンコアチームオペレーション。セルフホスト可能、またはマネージドなPro/Enterpriseプランとして利用可能
完全なドキュメント — ガイド、パッケージリファレンス、フレームワーク統合
開発
pnpm install && pnpm build && pnpm testバージョニングと公開ワークフローについては、RELEASING.mdを参照してください。
コミュニティ
Discord — チームやコミュニティとのチャット
GitHub Discussions — 質問やアイデア
Twitter / X — 製品のアップデートや発表
LinkedIn — 会社のニュース
YouTube — チュートリアルやデモ
GitHub Issues — バグ報告や機能リクエスト
Contentrain AIが役に立った場合は、スターを付けることを検討してください。他の人がプロジェクトを見つける助けになります。
ライセンス
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Contentrain/ai'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
