StoryCanon について
StoryCanonは、小説の設定、本文、キャラクター、世界観、伏線、TODO、現在の物語の状態を作品ごとに整理するMVPのWebアプリです。ChatGPTで長編小説を執筆する人を対象とし、READMEにはアプリ構成とデプロイ方法が記載されていますが、MCP機能の説明はありません。
主な機能
- 01作品ごとのストーリー記録
- 02設定と本文の保存
- 03キャラクターと世界観の整理
- 04伏線とTODOの管理
- 05現在の物語状態の記録
活用シーン
- 01作品内でキャラクターと世界観を整理
- 02未解決の筋書きやTODOを追跡
- 03ChatGPTでの執筆中に物語の進行状況を保持
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://storycanon.softglow.jp/mcpclaude mcp add --transport http jp-softglow-storycanon https://storycanon.softglow.jp/mcp{"mcpServers":{"jp-softglow-storycanon":{"type":"http","url":"https://storycanon.softglow.jp/mcp"}}}Cursor で開く{"servers":{"jp-softglow-storycanon":{"type":"http","url":"https://storycanon.softglow.jp/mcp"}}}VS Code で開く{"mcpServers":{"jp-softglow-storycanon":{"type":"http","url":"https://storycanon.softglow.jp/mcp"}}}{"mcpServers":{"jp-softglow-storycanon":{"serverUrl":"https://storycanon.softglow.jp/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://storycanon.softglow.jp/mcp認証が必要ツール
詳細
プロジェクトの README よりStoryCanon
StoryCanon は、ChatGPT で生成・相談した小説の設定、本文、キャラクター、世界観、伏線、TODO、現在の物語状態を作品ごとに保存するための MVP 実装です。
構成
apps/web: Next.js + TypeScript + Prisma + PostgreSQL の Web/API アプリpackages/db: Prisma クライアント。Node と Cloudflare Workers で別の生成物が要るため独立したパッケージにしてある(後述)docs: 内部仕様、外部仕様、移行の記録tests/integration: ローカル結合テスト
デプロイ先
本番は Cloudflare Workers + Supabase PostgreSQL(東京) で稼働している。
main への push で .github/workflows/deploy-workers.yml がマイグレーションとデプロイを行う。
2026-08-30 までは AWS(ALB + ECS Fargate + RDS)だった。移行の経緯と当時ハマった点は
docs/cloudflare-cutover.md に残してある。AWS 側の資源は撤去済みで、
CDK のブートストラップも消してあるため、AWS へ戻すには cdk bootstrap からやり直しになる。
ローカル開発
npm install
Copy-Item .env.example apps/web/.env
docker compose up -d postgres
npm run prisma:migrate -w apps/web
npm run dev -w apps/web
テスト
npm run test -w apps/web # ユニット
npm run test:integration # 結合(外部リソースは作らない)
Prisma クライアント
Prisma 7 は TypeScript しか出力しないため、クライアントは packages/db でコンパイルしてから使う。
Node と workerd では必要な生成物が違うので両方を作り、package.json の conditional export で
振り分けている。呼び出し側は @storycanon/db を import するだけでよい。
生成物は git 管理外で、npm run dev / build / test / lint が必要な方を自動で作る。
tsc を単体で走らせる場合だけ、先に npm run db:node -w apps/web が要る。
Cloudflare へのデプロイ
通常は main への push で CI が行う。手元から出す場合は apps/web で:
npm run deploy:worker
npx opennextjs-cloudflare build を直接叩かないこと。 deploy:worker は
scripts/build-worker.mjs 経由でローカルの .env 類を退避してからビルドする。
これを飛ばすと next build がローカルの値をバンドルに焼き込み、NEXTAUTH_SECRET が
開発用の値のまま本番に乗る。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。