mcpField
C
Contentrain Ai

Contentrain Ai

ローカル
ai.contentrain.io開発ツール6今日更新

Contentrain Ai について

Contentrain AIは、チームやAIエージェントがコードベースからコンテンツを抽出、構造化、レビュー、公開するためのGitネイティブなコンテンツレイヤーです。MCPツールでスキーマと検証を適用し、Gitのレビュー可能なワークフローを経て、JSONとMarkdownで保存します。

主な機能

  1. 01ハードコード文字列を構造化コンテンツに変換
  2. 024種類のコンテンツとフィールド検証
  3. 03Gitブランチによる変更レビュー
  4. 04stdioまたはHTTP経由のMCPツール
  5. 05コンテンツと検証を確認するローカルUI
  6. 06型付きTypeScript SDKの生成

活用シーン

  1. 01アプリのUI文字列を翻訳可能なコンテンツに変換
  2. 02Gitでエージェントによる変更をレビュー
  3. 03アプリとドキュメント間で構造化コンテンツを共有
  4. 04公開前のコンテンツ検証

MCP 対応

stdioまたはHTTP経由で27のMCPツールを提供し、ローカルworktree、GitHub、GitLabに対応します。エージェントは構造化コンテンツ、検証、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 Docs License: MIT

ウェブサイト · ドキュメント · Discord · Twitter · LinkedIn

コードベースから構造化コンテンツを抽出、管理し、公開します。

Contentrain は、チームがハードコードされた UI テキスト、ドキュメント、構造化コンテンツを、管理・レビュー可能なコンテンツレイヤーに変換できるよう支援します。エージェントはコンテンツを抽出、作成、翻訳、更新でき、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 を使って、ウェブ、ドキュメント、モバイル、バックエンドシステムで同じコンテンツを提供する

対象ではないもの

  • 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)│
                    └──────────────────┘
  • エージェントは、どのコンテンツを作成し、どこから取得するかを判断します
  • Contentrainは、スキーマ、検証、正規シリアル化、Git ワークフローを適用します
  • 人間は、ブランチ、PR、またはローカルの Serve UI を通じてレビューします
  • 出力は、どの言語やフレームワークからも利用できるプレーンな JSON + Markdown です

4 種類のコンテンツ

種類保存する内容保存形式例
コレクション型付きの複数のエントリーJSON オブジェクトマップブログ記事、製品、チーム
シングルトンロケールごとに 1 つのエントリーJSON オブジェクトヒーローセクション、サイト設定
ドキュメントMarkdown + フロントマター.md ファイルドキュメント、記事、変更履歴
辞書フラットなキーと値の文字列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 エンジン — stdio または HTTP トランスポートで 27 個のツール(コア 22 個+メディア 5 個)を提供し、Claude Code、Cursor、Windsurf、その他あらゆる MCP クライアントで動作します
  • プロバイダーに依存しないエンジン — 同じツール群を、ローカルのワークツリー、GitHub、GitLab(セルフホスト環境を含む)で、ツールコードを一切変更せずに実行できます。Studio などのリモートドライバー向けに HTTP トランスポートも利用できます。
  • 標準化されたシリアライズ — キーをソートし、決定論的な出力を実現します。Git の差分が明確になり、並行編集時の競合を防ぎます
  • エージェントのルールとスキル — 動作ポリシーと手順ごとのワークフローを npm パッケージとして提供します
  • UI の提供 — モデル、コンテンツ、検証、標準化のステータスを確認できるローカルのウェブダッシュボードです
  • フレームワークに依存しない — MCP は使用しているフレームワークを認識しません。エージェントとスキルがスタック固有のロジックを処理します

エージェントスキル

このリポジトリには 16 個の エージェントスキル が含まれています。あらゆる 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役割
@contentrain/mcpnpm27 個の MCP ツール+stdio / HTTP トランスポート+Local / GitHub / GitLab プロバイダー
contentrainnpmCLI+Serve UI+MCP stdio エントリーポイント
@contentrain/querynpm生成済みの TypeScript クエリ SDK
@contentrain/typesnpm共通の型定義+定数
@contentrain/rulesnpmIDE 連携用のエージェント品質ルール
@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ストーリーテリングを取り入れた E コマース
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-Minute Demo — 製品を理解する最も手早い方法
  • Getting Started — インストールしてエージェントを接続し、最初のワークフローを実行します
  • Normalize Guide — ハードコードされた文字列を整理する主な手順
  • Ecosystem Map — AI と Studio におけるパッケージから製品への橋渡しを紹介します
  • Contentrain Studio — Git ネイティブな構造化コンテンツを扱う、オープンコアのチーム運用環境です。セルフホスト可能、またはマネージドプラン(Starter/Pro/Enterprise)で利用できます
  • Full Docs — ガイド、パッケージリファレンス、フレームワーク連携

開発

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 の実行が必要な、2 つのガードを実行します。

  • facts — MCP ツール、スキル、フィールド型、機能キーの数を、それらを所有するパッケージから取得し、ドキュメント、この README、AGENTS.md で記載されている数と照合します。
  • examples — ドキュメント内のサンプルにある @contentrain/* のインポートはすべて実在するエクスポートを指定する必要があります。また、どのサンプルも CommonJS とトップレベルの await を混在させてはいけません(この形式はどのモジュールシステムでも実行できません)。

両方のガードは実行前に、このリポジトリの過去に実際に起きた不具合を使ってセルフテストします。そのため、検出できなくなったガードは、黙って合格するのではなく、明確に失敗します。

バージョン管理と公開ワークフローについては、RELEASING.md をご覧ください。

コミュニティ

Contentrain AIが役に立った場合は、スターを付けていただけると幸いです。ほかの人がこのプロジェクトを見つけやすくなります。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。