FICTURN
Stories you enter.
FICTURN is a chat-native library of short, finished fiction designed to be read directly inside ChatGPT through an MCP-powered inline reader.
Current library
- The Safehouse Rule — romantic suspense, ~6 min
- Room 713 — uncanny hotel horror, ~5 min
- The Last Reply — near-future digital-twin thriller, ~8 min
The story prose is fixed and versioned in the repository. FICTURN does not generate or rewrite the core story text on the fly.
Reader
The inline reader supports:
- story library and selection
- progress indicator
- Previous / Continue navigation
- return to Library
- mobile reading inside ChatGPT
- no login
- no database
- no payment or advertising
MCP tools
browse_stories— show the current FICTURN catalogstart_story— open one story at part 1next_fragment— retrieve the requested next fixed fragment
All tools are read-only.
Architecture
- TypeScript
- Cloudflare Worker
- stateless MCP endpoint at
/mcp - story content versioned in
src/story.ts - inline reader widget in
src/widget.ts - public website and policy pages served by the same Worker
Public routes:
/— product page/privacy— privacy policy/terms— terms of use/support— support/.well-known/openai-apps-challenge— OpenAI domain-verification token when configured
Deploy
Cloudflare Workers can import this GitHub repository directly. The default deploy command is:
npx wrangler deploy
The production MCP URL is:
https://ficturn.thomas-judes.workers.dev/mcp
For OpenAI plugin-domain verification, set the Worker environment variable OPENAI_APPS_CHALLENGE to the exact token generated by the OpenAI submission portal. The Worker then serves that token as plain text at:
/.well-known/openai-apps-challenge
Development
npm install
npm run typecheck
npm run dev
Deploy manually with:
npm run deploy