
こんにちは。
株式会社スプール ディレクターの高橋です。
今回は、よりデザインシミュレーターシステムを便利にするために、デザインシミュレーターシステムのMCP化を検討してみました。
MCPサーバーを用いることで、これまで複雑だった業務や実務処理を効率化することが可能です。
MCPとは
MCP(Model Context Protocol) は、AIエージェント(ChatGPT、Claudeなど)が外部のツールやデータソースと対話するための標準化されたプロトコルです。
AIが様々なシステムを操作できるようにする「共通言語」で、USBのように一度対応すれば、どのAIツールからも使える統一規格です。
Anthropic(Claudeの開発元)が2024年11月に発表した、比較的新しい技術標準です。
MCP化の狙い
1. AI エージェント(Claude等)が、デザイン候補の参照・カスタム生成・見積・受注・決済確認までを 実行できるようにする。
2. 最終的な構成
- 既WordPress: デザインシミュレーター + 管理画面 +データベース
- MCPサーバー: 注文・決済・データ処理
- 連携: WordPress API ↔ MCPサーバー
具体的なユースケース
- AIチャット(Claudeなどの外部サービス)で、「人気のあるデザインやカラーを分析したい」→自動で処理
- 受注データをMCP経由で生産管理システムに自動送信
- 在庫状況を確認しながら、納期を自動算出
現在の主要機能
1.商品カタログ管理
- 管理画面での商品設定
- アイテム商品表示 (シャツ・パンツ・ストッキング)
2.注文処理システム
- 注文フォーム
- 注文確認
- 注文完了
- メール送信機能
3.キャンペーン機能
- キャンペーンコード検証API
- 期限付きキャンペーン管理
4.管理機能
- 注文管理画面
- デザイン管理画面
- CSV出力
- サイト設定管理
システムを安定させる準備作業
初めに、MCP化する前に壊れにくいシステムに変更し、システムの安定化を行います。
- コードを理解しやすくする(重要なファイルにはコメント追加、システムの流れを図解、外部サービス連携を明確化など)
- 自動テストの導入(注文までの流れ、追加注文、データ形式)
- エラー監視の強化(エラーログを整理、決済・メール送信の成功/失敗の監視)
読み取り系API整備
次に、WordPressにAPIを追加して、MCPサーバーがデータを取得できるようにする準備を行います。
1. WordPressプラグイン作成
mycos-mcp-bridge
プラグインを新規作成- REST API処理をテーマから分離
2. APIエンドポイント追加
/catalog
– デザイン候補データ- /pricing – 価格情報
/campaigns
– キャンペーン情報
3. セキュリティ対策
- 管理者のみアクセス可能な機密情報(Stripe鍵など)
- 専用APIキーでMCPサーバー用アクセス制御
書き込み系・決済API
次に、注文・決済・ファイル処理をAPI化して、MCPサーバーから操作できるようにします。
1. 注文API作成
- /orders (POST) エンドポイントで注文作成
- WordPressのカスタムフィールド依存を排除
- 注文データをJSON形式で返却
2. Stripe決済の整理
- 決済処理をStripeServiceクラスに分離
- Composerでライブラリ管理
- APIから呼び出し可能に
3. ファイル処理の分離
- 画像保存: /design-files/upload
- ロゴ生成: /design-files/render
- セキュリティ: WordPress nonce → アプリケーションキー署名
4. エラー管理
- エラーコードをerror-catalog.mdに整理
- MCPサーバー側でエラー → ユーザー向けメッセージに変換
MCPサーバー骨格
次に、MCPサーバーの基盤を作って、WordPress APIと連携できるようにします。
1. MCPサーバー環境構築
- mcp-server/ ディレクトリを新設
- Node.js 18+ + pnpm で初期化
- 必要なライブラリをインストール
2. ディレクトリ構造
mcp-server/
src/
index.ts # MCPサーバーの起点
transport.ts # 通信ラッパー
tools/ # 機能別ツール
design.ts # カタログ・プレビュー
order.ts # 見積・注文・決済
admin.ts # 管理機能
services/ # 外部連携
wordpress-client.ts # WordPress API連携
stripe-service.ts # Stripe決済
render-service.ts # 画像生成
3. WordPress連携
- Phase1とPhase2で作ったAPIを呼び出し
- 認証トークンでセキュア接続
- エラー時は503を返却してリトライ
MCPツールを定義して実装
MCPサーバーの機能を定義して、ユーザーが使えるツールとして実装します。
デザイン関連
- design.list_catalog – デザイン候補一覧(カテゴリ・ブランドフィルタ対応)
- design.generate_preview – プレビュー画像生成
価格・注文関連
- pricing.estimate – 見積もり計算(価格テーブル + キャンペーン適用)
- order.create_draft – 注文下書き作成(注文ID・Stripe Intent ID返却)
- payment.capture_intent – 決済実行(メール送信ON/OFF切り替え可能)
管理機能
- admin.refresh_cache – 設定データ再生成
クライアント統合と移行
新旧システムを並行稼働させながら、段階的にMCP化を完了させます。
1. 既存システムとの並行稼働
- AIエージェント・外部クライアントがMCP経由で操作可能
- 使用例をdocs/api-usage-samples/に整備
2. フロントエンド刷新
- 描画処理スクリプトをTypeScript化
- MCP API呼び出しでデータ取得
3. 決済整合性監視
- Stripe webhookでMCPサーバーも支払い完了を監視
- 失敗時のリカバリ手順を文書化
データ連携
WordPressのDBをそのまま使用し、MCP経由でAPI呼び出しするシンプルな構成にします。
- WordPress DBを単一の正とする(コピーは作らない)
- MCP経由でAPI呼び出し(オンデマンド取得)
セキュリティ・運用考慮
セキュリティ
- API認証: アプリケーションパスワード + IP制限
- 機密情報: Stripe鍵・メール設定をSecrets Managerに移動
- ファイル: 画像をオブジェクトストレージに移行
ログ・監視
- ログ: MCPサーバー、WordPress
- 保管: 監査ログ90日保存
- 監視: API呼び出し・セキュリティイベント
テストとリリースチェックリスト
Phase別テスト
- Phase1: API動作・負荷テスト
- Phase2: Stripe決済テスト
- Phase3/4: MCP動作テスト
- Phase5: 並行稼働テスト(誤差±3%以内)
ロールバック
- MCP呼び出し無効化
- APIプラグイン停止
- 旧構成復帰確認
まとめ
今回は、弊社のデザインシミュレーターシステム「MyCOS」をMCP化して、AIエージェント経由での注文・分析を可能にするための検討を行いました。
想定していたよりも工数がかかる印象ですが、既存システムを壊さずに、AIエージェント経由での注文・分析を実現する現実的なアプローチとなっています。