Continuity by Ouroboros Apps

io.github.LAHutchins91Published by GitHub account LAHutchins91v0.5.2Updated Oct 24, 2026

Story continuity, novel memory, and series bible for fiction writers, shared with AI assistants

VerifiedStreamable HTTPWeb executableProductivity & WorkflowKnowledge & Memory

Overview

AI-generated overview

A remote story-bible server that lets an AI assistant keep a fiction project's canon, approved scenes and checkpoints consistent across chats.

What you can do
List and create private story projects, paging through saved projects by offset and using returned IDs rather than guessing them. Retrieve continuity context for a scene or topic, and search saved canon by literal title or content text, or browse all entries. Create or revise canon entries with revision checks, and read an entry's revision history. List approved scene summaries in story order and record a new approved scene summary. Save and list provisional story checkpoints for handing progress between chats. Run a continuity audit that returns locked canon for the assistant to compare against a proposed scene.
When to use it
Useful for fiction writers and series authors who work with an AI assistant across many chats and want character, place, timeline and plot facts to stay consistent. Also suited to checking a draft scene against established canon before accepting it.
Requirements
A remote Streamable HTTP endpoint; no local install, package or environment variables. A Continuity account signed in through OAuth 2.1 in the browser, with dynamic client registration and PKCE. An MCP client that supports Streamable HTTP and OAuth. Story tools require an active account with a 14-day trial, then a paid subscription.
Before you install
Write tools create projects, save checkpoints, and create or revise canon entries and approved scene summaries; the last two are marked destructive because they can replace saved text. Canon and scene saves are meant to happen only after user approval, and a canon revision must send the expectedRevision it read so stale edits fail. No MCP tool deletes anything; deletion and export happen in the Continuity workspace. Sign-in is by browser OAuth; the README says not to paste an API key or password

Installation

In SourceWeft

  1. Open Continuity by Ouroboros Apps in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.LAHutchins91%2Fcontinuity/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "continuity-by-ouroboros-apps": {
      "type": "http",
      "url": "https://continuitywriter.com/mcp"
    }
  }
}

README

Continuity

[M8ven Verified]

Continuity keeps your project facts across chats. It's a story bible for fiction writers: your characters, places, timelines and plot facts stay consistent while you write in ChatGPT, Claude, Grok or Cursor.

It also works with Gemini and any other MCP client that supports Streamable HTTP and OAuth. Made by Ouroboros (https://ouroborosapps.com).

Sign in with your Continuity account when the assistant opens OAuth. Do not paste an API key or password into a header. Story tools need an active Continuity account; see https://continuitywriter.com for details.

What the assistant can do

After you approve the connection, the server exposes these tools:

  • list_story_projects
  • create_story_project
  • get_continuity_context
  • search_story_canon
  • upsert_canon_entry
  • get_canon_history
  • list_approved_scenes
  • record_approved_scene
  • save_story_checkpoint
  • list_story_checkpoints
  • continuity_audit

Locked facts stay locked until you revise them. Checkpoints are provisional and are not canon. The assistant only calls these tools when you and the host allow it.

Permissions, data, and limits

OAuth scope. Sign-in is OAuth 2.1 with dynamic client registration and PKCE. The scopes are email and offline_access (refresh tokens). A token reaches only the signed-in user's own story projects; database ownership rules keep one account from reading another's projects.

Read operations. list_story_projects, get_continuity_context, search_story_canon, get_canon_history, list_approved_scenes, list_story_checkpoints, and continuity_audit only read (readOnlyHint: true).

Write operations. create_story_project creates a project. save_story_checkpoint saves a provisional session note. upsert_canon_entry creates or revises a canon entry, and record_approved_scene saves an approved scene summary. The last two are marked destructiveHint: true because they can replace saved text.

Delete operations. No MCP tool deletes anything. Projects are exported or deleted by the user in the Continuity workspace at https://continuitywriter.com.

Confirmations and safeguards. Tool descriptions tell the assistant to save canon and scenes only after the user approves them; brainstorming is not approval. The destructive hints let hosts ask before running those two tools. A canon revision must send the expectedRevision it read, so a stale edit fails instead of overwriting, and every revision is kept in get_canon_history. An occupied scene number is kept unless replaceExisting is true and the user asked for the replacement. Identical retries of the canon, scene, and checkpoint tools do not create duplicates.

Data stored. Account id and sign-in email, subscription status and Stripe references, and the story content the user saves: projects, canon entries and their revisions, approved scene summaries, and provisional checkpoints. Tools receive only their own arguments; Continuity does not receive whole conversations. Supabase hosts authentication and the database, Vercel hosts the server, and Stripe handles payments (Continuity never stores full card numbers).

Retention and privacy. Saved stories stay until the user deletes the project or asks for account deletion. Deleting a project removes its live canon, revisions, scenes, and checkpoints; provider backups follow the provider's retention schedule. Story content is not sold and is not used to train models. Full policy: https://continuitywriter.com/privacy

Free limits. Tool discovery (initialize, tools/list) is open. Story tools need a Continuity account with a 14-day trial, then a monthly or yearly subscription through Stripe Checkout. Stripe shows the amount; this repository does not list one. Text fields are capped (canon content 12,000 characters, checkpoint state 6,000) and list tools page 50 rows at a time.

How it is used. A writer creates a project, approves character, place, and timeline facts as canon, and records each approved scene. In a new chat, the assistant calls get_continuity_context to pick up where the story left off, and runs continuity_audit on a draft scene to catch contradictions with locked canon before the writer accepts it.

Connect

Cursor, in ~/.cursor/mcp.json or a project .cursor/mcp.json:

json
{  "mcpServers": {    "continuity": {      "url": "https://continuitywriter.com/mcp"    }  }}

Claude Code:

bash
claude mcp add --transport http continuity https://continuitywriter.com/mcp

Other clients: add the same URL, choose OAuth, and leave client id and secret empty. Continuity supports dynamic client registration. Full steps for each assistant are on the connect page.

Grok Build: install the ouroboros-continuity plugin from the plugin marketplace, then sign in when the browser opens.

Registry metadata for this remote server is in server.json (io.github.LAHutchins91/continuity).

Plugin contents

This repo is a plugin for Grok Build and Cursor, published by Ouroboros Apps:

  • Grok Build: .grok-plugin/plugin.json plus .mcp.json
  • Cursor: .cursor-plugin/plugin.json plus mcp.json
  • One skill: skills/story-bible/SKILL.md (instructions only, no scripts)
  • One remote MCP server, continuity, over Streamable HTTP

The plugin has no hooks, commands, agents, or LSP servers, and it runs no code on your machine. The src/ folder and Dockerfile are MCP server source, published for reference and registry container checks. When someone runs that code as a server, it reads its own server settings (database and billing keys) from that server's environment. The plugin does not build, install, or run it, and nothing in this repo runs on install (no postinstall or other lifecycle scripts).

Network endpoints and credentials

  • https://continuitywriter.com/mcp is the only MCP endpoint. Story tools read and write the story projects in your own Continuity account.
  • Sign-in uses OAuth 2.1 with dynamic client registration. Protected resource metadata is at https://continuitywriter.com/.well-known/oauth-protected-resource. The authorization server it lists is Continuity's account service, hosted on Supabase (https://kufinkiktgnnhusuenjq.supabase.co/auth/v1). Your browser opens it when you sign in.
  • Credentials: your Continuity account, through that browser sign-in. The plugin needs no API key, environment variables, or local files, and it does not read any.
  • Requests without a valid token get 401 Unauthorized.
  • Privacy: https://continuitywriter.com/privacy. Support: https://continuitywriter.com/support. Contact: [email protected].

More from Ouroboros: https://ouroborosapps.com

Source: README.md at commit fda75ab

Tools

11

list_story_projects

list story projects

Find the user’s saved story projects before starting or resuming a story. Use the returned ID; do not guess projects. Page with offset.

Parametersoffset

create_story_project

create story project

Create a new private story project when the user asks. Does not save canon or scenes.

Parametersnamerequireddescription

get_continuity_context

get continuity context

Retrieve relevant canon, recent approved scenes, and the latest provisional checkpoint before continuing a saved story or recovering it in a new chat. request is a brief scene/topic query, never a chat transcript. Results are a selection; use search_story_canon for specific missing facts.

ParameterslimitrequestrequiredprojectIdrequired

search_story_canon

search story canon

Search saved canon by literal title/content text, or browse every entry with an empty query and offset. Use to verify details before revising an entry or when context retrieval omits something.

ParametersqueryoffsetprojectIdrequired

upsert_canon_entry

upsert canon entry

Save a fact or revise canon only after the user approves it. Preserve the existing title/kind. LOCKED requires approval as established fact; brainstorming is not approval. Existing entries require expectedRevision from retrieval; conflicting edits fail without overwriting. Identical retries leave revision history unchanged.

ParameterskindrequiredtagscanontitlerequiredstatusrequiredcontentrequiredexpiresAtprojectIdrequiredrevisionReasonexpectedRevision

get_canon_history

get canon history

Read previous and new content for a saved canon entry, newest first. No changes are made.

ParametersoffsetcanonEntryIdrequired

list_approved_scenes

list approved scenes

Read approved scene summaries in story order. Page with offset to inspect older scenes or verify a scene number before saving.

ParametersoffsetprojectIdrequired

record_approved_scene

record approved scene

Store a concise summary of a scene the user has approved. Never record an unapproved draft. An occupied scene number is preserved unless replaceExisting is true and the user requested replacement. Identical retries return the saved scene.

ParameterstitlesummaryrequiredprojectIdrequiredsceneNumberrequiredcontinuityNotesreplaceExisting

save_story_checkpoint

save story checkpoint

Preserve a concise story-session handoff when the user asks to save progress or has authorized ongoing checkpoints for this story. Stores provisional notes, not canon or an approved scene. Separate established progress from unresolved ideas. Send only focused story state, never a full transcript, credentials, or unrelated personal details. Reuse checkpointId on retries.

ParameterstitlerequirednextStepsprojectIdrequiredstoryStaterequiredopenThreadscheckpointIdrequired

list_story_checkpoints

list story checkpoints

Retrieve provisional story handoffs to recover progress across chats. These notes never override approved canon. Page with offset for older checkpoints.

ParametersoffsetprojectIdrequired

continuity_audit

continuity audit

Retrieve locked canon for the assistant to compare against a short proposed scene. This tool supplies evidence; the assistant must identify contradictions. Does not save or approve the scene.

ParametersoffsetprojectIdrequiredproposedTextrequired

Version history

3
  1. v0.5.2LatestOct 9, 2026
  2. v0.5.1Oct 7, 2026
  3. v0.5.0Oct 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts