Odel
FICTURN — Short Fiction Inside ChatGPT

FICTURN — Short Fiction Inside ChatGPT

@thomasjudes-delTypeScriptUpdated 1w ago

Short, finished fiction to discover by mood, genre or reading time inside ChatGPT.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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 catalog
  • start_story — open one story at part 1
  • next_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