mcpField
S
StoryCanon

StoryCanon

Remote
storycanon.softglow.jpMemory & Knowledge0Updated 1w ago

About StoryCanon

StoryCanon is an MVP web application for organizing a novel’s settings, text, characters, world, plot threads, TODOs and current story state by project. It is aimed at writers developing long-form fiction with ChatGPT; the README describes its application stack and deployment rather than MCP features.

Key features

  1. 01Per-project story records
  2. 02Storage for settings and manuscript text
  3. 03Character and world organization
  4. 04Foreshadowing and TODO tracking
  5. 05Current story-state records

Use cases

  1. 01Keep a novel’s characters and world in one project
  2. 02Track unresolved plot threads and TODOs
  3. 03Preserve story state while developing fiction with ChatGPT

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://storycanon.softglow.jp/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://storycanon.softglow.jp/mcpAuth required

Tools

Details

From the project 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 が 開発用の値のまま本番に乗る。

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.