CodexからCMSの記事を作成・公開するには、MCPサーバーを設定し、OAuthでログインします。genko.meでは接続先がhttps://genko.me/mcp、下書き作成がcreate_draft、公開がpublish_entryです。下書きを保存し、人が内容と対象を確認してから公開を依頼します。

CodexのMCP設定を追加する

Codex CLIを利用でき、genko.meで対象ワークスペースに所属していることを前提にします。OpenAI公式MCPドキュメントでは、CodexのStreamable HTTP接続とOAuth認証、ユーザー設定の~/.codex/config.tomlを案内しています。genko.meのMCP仕様に従い、このファイルへ次を追加します。既存の設定全体を置き換えないでください。

toml
[mcp_servers.genko-me]url = "https://genko.me/mcp"

同じ名前のテーブルがある場合は、その設定を編集します。genko.meの旧名genko.me、genko、genko-docsで登録していた場合は、旧登録を整理して二重接続を避けます。旧URLのhttps://docs.genko.me/mcpは廃止されています。

CLIで登録する場合は次の形でも設定できます。手動編集と両方行う必要はありません。なお、genko.meのCLI(npx @genko-me/cli@latest mcp --codex)でも同じ設定を追加でき、旧名の設定は置き換えられます。

bash
codex mcp add genko-me --url https://genko.me/mcp

ここで登録するのは配信APIのURLではなくMCPのURLです。

初回ログインと読み取り確認

OpenAI公式のOAuthログイン手順に従い、次を実行します。

bash
codex mcp login genko-me

genko.meのログイン・許可画面でアカウントと要求権限を確認します。続いてCodexの接続を再読み込みし、対話画面の/mcpでツールを確認します。まずは「genko.meのAPIキー管理方法をsearch_docsで検索し、該当ページをget_docで取得してください。コンテンツは変更しないでください」と依頼します。

ツールが見えない場合は、設定先、再読み込み、URL末尾の/mcpを確認します。ドキュメント取得が成功しても、記事を更新・公開できる証明にはなりません。genko.meでは読み取りにワークスペースへの所属、更新に編集者以上のロールとmcp:write、公開・予約にさらにmcp:publishが必要です。権限不足ならロールとOAuthの許可を確認し、追加権限が必要な場合は認証をやり直します。

下書きから公開までを分けて進める

以下は操作例です。your-workspaceやAPI名、記事IDは実際の応答で確認した値に置き換えます。プロンプト内の禁止事項は運用上の指示です。権限設定の代わりにはなりません。

1. 対象とフィールドを確認する

最初に次のように依頼します。

text
list_workspacesで所属先と役割を確認してください。your-workspaceのlist_apisでAPIとフィールド定義を取得し、記事を保存するAPI、必須項目、言語設定を提示してください。この段階では読み取りだけにしてください。

API名や本文フィールドIDを推測して保存しないことが重要です。list_apisはAPI・フィールド定義とワークスペースの言語、各APIの多言語設定を返します。既存記事を参考にする場合は、list_entriesで対象を探し、get_entryで内容を取得します。

2. 原稿を確認してから下書き保存する

まず会話内にタイトル、本文、根拠リンクを出してもらい、直したい点を反映します。その後で保存を依頼します。

text
確認済みのAPIとフィールド定義に合わせて、原稿をcreate_draftで下書き保存してください。公開・予約はしないでください。返された記事IDを示し、get_entryで保存内容を読み直して、タイトル・本文・言語・公開状態を報告してください。

create_draftの必須引数はworkspace、api、valuesです。次は、titleだけで保存できるスキーマを仮定した最小の引数例です。実際の記事では、取得したフィールド定義とツールの入力仕様に合わせて本文と必須項目を追加します。

json
{  "workspace": "your-workspace",  "api": "blog",  "values": { "title": "記事タイトルの例" }}

新規記事にはcreate_draft、修正にはupdate_draftを使います。公開中の記事をupdate_draftで直すと、指定フィールドが未公開の変更として保存され、サイトと通常の配信APIは公開中の内容を表示し続けます。これはgenko.me公式仕様で説明されている挙動です。

3. 人が差分をレビューする

公開中の記事に未公開の変更がある場合、get_entryのhasPendingChangesがtrueになります。valuesとmarkdownが未公開内容、published.valuesとpublished.markdownが公開中の内容です。この2つを比較するように依頼します。新規記事には公開版がないため、確認済み原稿と保存後の値を比べます。

確認項目

人が確認する内容

操作対象

ワークスペース、API、記事ID、言語が意図どおりか

本文

数字、仕様、引用元、削除された段落に誤りがないか

表示

見出し、リンク先、コード、画像と代替テキストが適切か

他のフィールド

タイトル、参照、カテゴリなどに意図しない変更がないか

公開範囲

新規公開か、既存記事の差し替えか

管理画面とサイト側のプレビューでも表示を確認します。エージェントの「修正しました」という要約だけで判断せず、保存済みの本文とフィールドを読みます。レビュー後に誰かが編集した場合は、公開前に再取得して承認した内容と一致するか確認します。

4. 承認した記事だけを公開する

対象と差分を確認した後で、別の指示を出します。

text
レビューしたworkspace、api、記事ID、対象言語を再提示し、get_entryで内容が承認時と変わっていないことを確認してください。一致する場合だけ、その記事をpublish_entryで公開してください。ほかの記事の公開・予約・削除はしないでください。

publish_entryは下書き・公開予定の版を即時公開し、公開中の記事なら未公開の変更を公開します。予約公開と即時公開を取り違えないようにします。公開後はget_entryの状態に加え、実際のサイトにも意図した内容が反映されたか確認してください。CMS側の公開成功と、サイト側の表示確認は分けて扱います。

公開中の記事の未公開変更を取り消す場合はdiscard_changesを使います。公開済み内容を過去へ戻す操作とは異なります。多言語APIではlist_apisで言語を確認し、対象ツールのlangを指定します。省略時はメイン言語を操作するため、言語も公開対象に含めて承認します。

ClaudeなどのMCPクライアントでも使えるか

genko.meのサーバーはCodex専用ではありません。OAuth対応のStreamable HTTP MCPクライアントから同じURLへ接続できます。ただし設定ファイルとキーはクライアントごとに異なり、CodexのTOMLをそのままコピーするものではありません。

Claudeでの接続はClaudeからMCPでCMSを操作する方法、Claude CodeとCodexからCMSへ連携する実装はAIエージェントでCMS連携を実装する:Claude CodeとCodexを参照してください。ここではCodexの設定と公開前レビューに絞っています。

公式MCPサーバーがあるほかのCMS

既存CMSが要件に合うなら、MCPのためだけに移行する必要はありません。

CMS

公式ドキュメントで確認できる操作

選ぶ場面

Contentful

記事の読み書き・公開、コンテンツモデル管理。リモート版はOAuthと環境別の許可設定を使用

既存のContentfulスペース・環境で運用を続けたい場合

Sanity

GROQクエリ、文書の作成・変更・公開、スキーマの参照

既存のSanityスキーマとGROQを使う開発作業も行いたい場合

Contentfulのリモート版は対象スペース・環境へのMCPアプリの導入が必要です。SanityはOAuthを標準とし、APIトークン認証も案内しています。ツールや入力形式、権限は製品ごとに異なるため、genko.meの引数例を流用しないでください。

よくある質問

CodexからCMSの記事を直接公開できますか?

公開ツールを提供するMCPサーバーと必要な権限があれば可能です。genko.meではpublish_entryを使います。下書き保存と公開を別の依頼にして、人が対象と内容を確認します。

genko.meのAPIキーをCodexの設定に書きますか?

この記事の接続方法ではOAuthでログインします。TOMLにはMCPのURLを設定し、配信APIキーを埋め込む手順ではありません。

公開中の記事を更新すると、すぐサイトに出ますか?

genko.meのupdate_draftは未公開の変更として保存します。publish_entryを呼ぶまで公開中の内容は変わりません。公開前には公開版との差分を確認してください。

Claudeで使うMCPサーバーをCodexにも使えますか?

genko.meでは同じMCPサーバーを使えます。クライアントがOAuthとStreamable HTTPに対応している必要があり、設定方法はクライアント別に確認します。