MCPとは
Model Context Protocolの概要、BluePeriodの「Deep MCP」アプローチ、WebView Bridge Pattern
MCP(Model Context Protocol) は、AIエージェントが外部アプリケーションと通信するための標準プロトコルです。BluePeriod では、Claude Code や Cursor などの外部AIエージェントから、プロジェクトのプロット・原稿・キャラクターなどのデータを直接操作できる MCP サーバーを提供しています(Desktop版)。
Shallow MCP と Deep MCP
AI統合には2つの段階があります。
Shallow MCP(浅い統合)
AIに「生成ボタンを押させる」だけの統合です。AIはアプリのUIを通じて間接的にデータに触れるのみで、構造や文脈を深く理解することはできません。
Deep MCP(深い統合)
AIに「生データへのアクセス権」を与え、自らデータを読み取り、再構築させる統合です。BluePeriod が目指すのはこちらのアプローチです。
- 外部エージェントは GUI を介さず、APIレベルでデータにアクセス します
- プロット構造、原稿テキスト、キャラクター設定など、アプリ内のあらゆるデータを直接読み書き可能
- 内部エージェントと外部エージェントが 同じツール定義 を共有する Gapless Development を実現
WebView Bridge Pattern
BluePeriod の MCP 実装は、Desktop版(Tauri V2)において WebView Bridge Pattern を採用しています。
外部AIエージェント(Claude Code等)
│
│ STDIO
↓
mcp-stdio-server.ts
│
│ HTTP (Hono Broker)
↓
/api/mcp/* → WebView Bridge
│
│ Jotai Atoms(グローバルステート)
↓
BluePeriod アプリ(ブラウザ内)各層の役割
| 層 | 役割 |
|---|---|
| STDIO サーバー | 標準入出力で外部クライアントと通信する MCP プロトコルのエンドポイント |
| Hono Broker | STDIO を HTTP リクエストに変換し、アプリ内の WebView に橋渡し |
| WebView Bridge | ブラウザ内で Jotai Atoms を通じて実際のデータ操作を実行 |
この構成により、外部エージェントはブラウザの IndexedDB に直接アクセスしつつ、アプリの状態管理システム(Jotai)と完全に統合されます。
Human-in-the-Loop(HITL)
外部エージェントがデータを変更する際、確認ダイアログ がアプリ内に表示されます。
- エージェントがツールを呼び出す
- アプリがツールの内容を確認ダイアログで表示
- ユーザーが 承認 / 拒否 / 編集 を選択
- 承認された場合のみ、変更が適用される
ユーザーが明示的に許可しない限り、いかなる変更も行われません。ツールごとに確認の要否を設定することも可能です。
三層の整合性
BluePeriod では、GUI、内製エージェント、外部MCPエージェントの 3つのアクセス経路 が同じツール定義を共有しています。
GUI操作(ユーザー) → Jotai Atom → IndexedDB
内製エージェント → 同じツール → IndexedDB
外部MCPエージェント → 同じツール → IndexedDBこれにより、どのアクセス経路で操作しても、同じデータモデル・同じバリデーション・同じ副作用が保証されます。
次のステップ
- setup — MCPクライアントからの接続設定
- tool-reference — 利用可能なツール一覧