ワンクリックで
deploy-cms-remote
mcp-cms-remote (Cloudflare Workers) のデプロイ手順ガイド。「cms-remoteをデプロイ」「Workersをデプロイ」「MCPリモートサーバーをデプロイ」「cms-remoteを更新」などの指示で使用する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
mcp-cms-remote (Cloudflare Workers) のデプロイ手順ガイド。「cms-remoteをデプロイ」「Workersをデプロイ」「MCPリモートサーバーをデプロイ」「cms-remoteを更新」などの指示で使用する。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
/Shared/anytime-markdown-docs 配下のドキュメントを新規作成・執筆する時に、type(spec/tech/test/manual/proposal/plan/review/report)ごとの記載内容(何を書くか)・フォルダ構成・索引 index.[lang].md の自動生成運用を定義する。設計書(spec)の書き方・component spec の 2 ファイル分離・E2E シナリオ表・技術解説記事(tech。「技術記事を書いて」「ブログ記事を作成」「解説記事を書いて」等)の構成テンプレート・執筆ガイドライン・文体・生成ワークフロー・試験設計書(「試験設計書」「テスト設計書」「テストケースを設計」「テスト観点で洗い出し」「テスト計画」「QA 設計」等。7 ペルソナ観点・技法・自動化判定)・プランファイルの「変更対象ファイル」節・索引再生成が必要な時に使用する。構文・フロントマター・整形は anytime-markdown-output、既存設計書の読み方・辿り方は anytime-spec-lookup を使う。
develop マージ前に Claude(pr-review-toolkit:code-reviewer subagent)と Codex(codex exec review)が同一 diff を独立レビューし、互いの指摘を検証(adversarial cross-check)して合意指摘を採用する相互レビュー。指摘は review doc + trail memory_reviews に記録する。「相互レビュー」「cross review」「/anytime-cross-review」「Claude Codex レビュー」「二者レビュー」の指示で使用する。
コードレビュー結果を出力する際の Markdown 書式(memory-core ingest パーサ対応)。### N. タイトル+重大度/カテゴリ/対象の3メタデータ+行頭の問題:/提案: マーカーで指摘を構造化する。レビュードキュメント・code-reviewer subagent 出力・requesting-code-review/security-review の指摘を書く時に使用する。
develop マージ前に Claude(pr-review-toolkit:code-reviewer subagent)と Codex(codex exec review)が同一 diff を独立レビューし、互いの指摘を検証(adversarial cross-check)して合意指摘を採用する相互レビュー。指摘は review doc + trail memory_reviews に記録する。「相互レビュー」「cross review」「/anytime-cross-review」「Claude Codex レビュー」「二者レビュー」の指示で使用する。
Markdown ドキュメント(spec/tech/test/manual/proposal/plan/review/report)を出力・編集する際の構文・フロントマター・整形規約。/Shared/anytime-markdown-docs/ 配下に .md を作成/更新する時、見出し・テーブル・コードブロック・脚注・アドモニション・図表・フロントマター(type/c4Scope 等)を書く時、Markdown 出力仕様を確認する時に使用する。
anytime-markdown の設計書(/Shared/anytime-markdown-docs/spec)を低トークンで辿るためのナビゲーション手順。索引(index.ja.md) → 対象 frontmatter → 型付き related を必要な深さだけ辿る progressive disclosure。設計書の調査・参照・関連ドキュメント探索・「どの spec を読むべきか」を判断する時に使用する。
| name | deploy-cms-remote |
| description | mcp-cms-remote (Cloudflare Workers) のデプロイ手順ガイド。「cms-remoteをデプロイ」「Workersをデプロイ」「MCPリモートサーバーをデプロイ」「cms-remoteを更新」などの指示で使用する。 |
更新日: 2026-06-29
Cloudflare Workers 上の MCP リモートサーバー(mcp-cms-remote)のデプロイ手順。 GitHub Actions 経由でデプロイする。
対象パッケージ: packages/mcp-cms-remote
依存パッケージ: packages/cms-core
デプロイ先: https://mcp-cms-remote.<subdomain>.workers.dev(wrangler.jsonc の name フィールドで決定)
ワークフロー: .github/workflows/deploy-mcp-cms-remote.yml
git branch --show-current # develop ブランチであること
git status # 未コミット変更がないこと
git pull origin develop # 最新化
未コミット変更がある場合はユーザーに確認する。 develop 以外のブランチの場合は警告する。
# 2-1: 型チェック
npx tsc --noEmit
# 2-2: lint
npm run lint
失敗時: 型エラー・lint エラーを修正してから次のステップに進む。
# 3-1: mcp-cms-remote のユニットテスト
cd packages/mcp-cms-remote && npx jest --maxWorkers=1
# 3-2: cms-core のテスト(依存パッケージ)
cd packages/cms-core && npx jest --maxWorkers=1
# 3-3: セキュリティ監査
npm audit
# 3-4: wrangler バンドル検証
cd packages/mcp-cms-remote && npx wrangler deploy --dry-run --outdir=dist
全て通過してから次のステップに進む。
npm audit で critical/high の脆弱性がある場合は、該当パッケージを更新してから次のステップに進むこと。
失敗時: テスト失敗はエラーメッセージから原因を特定して修正。
バンドル失敗は依存パッケージの問題が多い。
npm ci を再実行してから再試行。
変更がある場合のみコミットする。
git add packages/mcp-cms-remote/ packages/cms-core/
git commit -m "feat(mcp-cms-remote): <変更内容>"
git push origin develop
コミットメッセージ規約:
feat(mcp-cms-remote): — 新機能・機能変更fix(mcp-cms-remote): — バグ修正refactor(mcp-cms-remote): — リファクタリングci(mcp-cms-remote): — ワークフロー変更失敗時: push が rejected された場合は git pull --rebase origin develop で最新を取り込んでから再 push。
develop push 後、GitHub Actions の CI 完了を待つ。
# CI の実行状況を確認(GitHub Actions の ci ジョブで判断)
gh run list --branch develop --limit 3
develop → master の PR を作成する。
gh pr create --base master --head develop \
--title "feat(mcp-cms-remote): <変更内容>" \
--body "## Summary
- <変更内容の要約>
## Test plan
- [x] 型チェック・lint 通過
- [x] ユニットテスト通過(mcp-cms-remote)
- [x] ユニットテスト通過(cms-core)
- [x] npm audit で critical/high なし
- [x] wrangler dry-run バンドル成功
- [ ] デプロイ後のヘルスチェック確認"
PR の CI が全通過したらマージする。
# CI 状況を確認
gh pr checks <PR番号>
# マージ
gh pr merge <PR番号> --merge
失敗時: CI が失敗した場合は原因を修正し、Step 2 に戻る。
マージコンフリクトが発生した場合は develop 上で git merge master して解決 → 再 push。
master マージ後、deploy-mcp-cms-remote ワークフローが自動で発火する。
ワークフローには concurrency 設定(cancel-in-progress: true)が有効で、同時デプロイは自動的にキャンセルされる。
# デプロイワークフローの状況を確認
gh run list --workflow=deploy-mcp-cms-remote.yml --limit 3
ワークフローの処理内容:
test ジョブ: cms-core テスト + mcp-cms-remote テスト + バンドル検証deploy ジョブ: Workers Secrets 設定 + wrangler deploy失敗時: gh run view --log-failed でエラーログを確認。
よくある原因:
CLOUDFLARE_API_TOKEN の期限切れ → GitHub Secrets を更新して再実行(Settings → Secrets and variables → Actions で該当 Secret を Update)wrangler deploy 失敗 → バンドルエラーの詳細を確認手動再実行:
gh workflow run deploy-mcp-cms-remote.yml --ref master
デプロイ完了後、エンドポイントの動作を確認する。 API キーはコマンド履歴への露出を防ぐため、環境変数経由で渡す。
# API キーを環境変数に設定(コマンド履歴に残さない)
read -s MCP_API_KEY
# 8-1: ヘルスチェック
curl -s https://mcp-cms-remote.kiyotaka-ueda.workers.dev/health
# Expected: {"status":"ok"}
# 8-2: 認証テスト(キーなし → 401)
curl -s -o /dev/null -w "%{http_code}" -X POST \
https://mcp-cms-remote.kiyotaka-ueda.workers.dev/mcp \
-H "Content-Type: application/json" -d '{}'
# Expected: 401
# 8-3: MCP initialize(Bearer トークン認証)
curl -s -X POST https://mcp-cms-remote.kiyotaka-ueda.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $MCP_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
# Expected: serverInfo を含む JSON-RPC レスポンス
# 8-4: tools/list
curl -s -X POST https://mcp-cms-remote.kiyotaka-ueda.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $MCP_API_KEY" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
# Expected: 5ツール(upload_report, list_reports, upload_doc, list_docs, delete_doc)
# 8-5: S3 接続テスト(list_reports)
curl -s -X POST https://mcp-cms-remote.kiyotaka-ueda.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $MCP_API_KEY" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_reports","arguments":{}}}'
# Expected: S3 レポート一覧の JSON
MCP_API_KEYは GitHub Secrets のMCP_CMS_REMOTE_API_KEYと同じ値。 クエリパラメータ認証の場合は URL に?token=$MCP_API_KEYを付与する。
Step 2 通過後、Step 6(PR マージ)までの間にコード修正が発生した場合は、修正規模に関わらず必ず Step 2 に戻って全検証を再実行する。
デプロイ後の動作確認(Step 8)で問題が発覚した場合、以下の手順でロールバックする。
cd packages/mcp-cms-remote
CLOUDFLARE_API_TOKEN=<token> npx wrangler rollback
直前のデプロイバージョンに戻る。 ロールバック後、ヘルスチェック(Step 8-1)で復旧を確認する。
mcp-cms-remote[ ] develop ブランチが最新
[ ] 型チェック通過(tsc --noEmit)
[ ] lint 通過
[ ] ユニットテスト通過(mcp-cms-remote)
[ ] ユニットテスト通過(cms-core)
[ ] npm audit で critical/high なし
[ ] wrangler dry-run バンドル成功
[ ] コミット・push 済み
[ ] CI 検証ゲート通過
[ ] develop → master PR マージ済み
[ ] deploy-mcp-cms-remote ワークフロー成功
[ ] ヘルスチェック OK
[ ] 認証テスト OK(401)
[ ] MCP initialize OK
[ ] tools/list OK(5ツール)
[ ] S3 接続テスト OK(list_reports)
ワークフロー: .github/workflows/deploy-mcp-cms-remote.yml
packages/mcp-cms-remote/**, packages/cms-core/**, .github/workflows/deploy-mcp-cms-remote.yml)、PR、workflow_dispatchconcurrency で同一 ref の重複実行を自動キャンセルwrangler deploy必要な GitHub Secrets:
| Secret | 用途 |
|---|---|
CLOUDFLARE_API_TOKEN | wrangler 認証 |
MCP_CMS_REMOTE_API_KEY | MCP エンドポイントの Bearer トークン |
ANYTIME_AWS_ACCESS_KEY_ID | S3 アクセス |
ANYTIME_AWS_SECRET_ACCESS_KEY | S3 アクセス |
S3_DOCS_BUCKET | S3 バケット名 |
Secrets の更新手順:
gh workflow run deploy-mcp-cms-remote.yml --ref master で再デプロイ