StoryCanon
MCP serverDev toolsstorycanon gives your AI a structured story bible for long-form fiction, so details stay consistent while you draft or revise. It organizes your scenes, characters, world, plot, and foreshadowing into one record your AI can consult at any point in the writing.
Use StoryCanon in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add StoryCanon and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use StoryCanon
Needs your own account with this service. Keys stay in your vault.
Details
Available today. Use it from your connected AI after setup.
After adding storycanon, set up your story bible with your scenes, characters, world, plot, and foreshadowing, then ask your AI to consult it as you write.
What your AI can do with it
- Look up character details while drafting
- Check foreshadowing that has been set up earlier in the story
- Reference world details while writing
- Follow plot threads across scenes
- Keep scenes, characters, world, plot, and foreshadowing in one organized record
Install StoryCanon
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user storycanon 'https://storycanon.softglow.jp/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://storycanon.softglow.jp/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=storycanon&config=eyJ1cmwiOiJodHRwczovL3N0b3J5Y2Fub24uc29mdGdsb3cuanAvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://storycanon.softglow.jp/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add storycanon --url 'https://storycanon.softglow.jp/mcp'Run it once, then sign in with codex mcp login storycanon if the server asks for an account.
From the project's README
As published by exp3/storycanon in README.md.
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 が
開発用の値のまま本番に乗る。
Signals
- Last commit
- Sep 2026
Advanced
- Delivery
- storycanon MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
jp-softglow-storycanon- Source
- github.com/exp3/storycanon
- Hosted endpoint
https://storycanon.softglow.jp/mcp