MCP Server

Continuity

io.github.LAHutchins91/continuity
Knowledge & Documentation Media & Content Public & reachable MCP 2025-11-25

What this MCP does

Stores and retrieves private fiction story canon, approved scenes, continuity context, revisions, and session checkpoints.

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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId', 'proposedText'], 'properties': {'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid'}, 'proposedText': {'type': 'string', 'maxLength': 12000, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
create_story_project
create story project
Create a new private story project when the user asks. Does not save canon or scenes.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'type': 'string', 'maxLength': 5000}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
get_canon_history
get canon history
Read previous and new content for a saved canon entry, newest first. No changes are made.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['canonEntryId'], 'properties': {'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'canonEntryId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId', 'request'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 40, 'minimum': 1}, 'request': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId'], 'properties': {'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId'], 'properties': {'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'offset': {'type': 'integer', 'default': 0, 'maximum': 100000, 'minimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Destructive Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId', 'sceneNumber', 'summary'], 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'summary': {'type': 'string', 'maxLength': 12000, 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid'}, 'sceneNumber': {'type': 'integer', 'maximum': 2147483647, 'exclusiveMinimum': 0}, 'continuityNotes': {'type': 'string', 'maxLength': 5000}, 'replaceExisting': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId', 'checkpointId', 'title', 'storyState'], 'properties': {'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'nextSteps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500}, 'default': [], 'maxItems': 10}, 'projectId': {'type': 'string', 'format': 'uuid'}, 'storyState': {'type': 'string', 'maxLength': 6000, 'minLength': 1}, 'openThreads': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500}, 'default': [], 'maxItems': 20}, 'checkpointId': {'$ref': '#/properties/projectId'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId'], 'properties': {'query': {'type': 'string', 'default': '', 'maxLength': 200}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 100000, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
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.
Destructive Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['projectId', 'kind', 'title', 'status', 'content'], 'properties': {'kind': {'enum': ['CHARACTER', 'RELATIONSHIP', 'APPEARANCE', 'ABILITY', 'LOCATION', 'WORLD_RULE', 'TIMELINE', 'PLOT_THREAD', 'ITEM', 'FACTION', 'OTHER'], 'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'default': [], 'maxItems': 30}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['LOCKED', 'DEVELOPING', 'UNKNOWN', 'RETIRED'], 'type': 'string'}, 'content': {'type': 'string', 'maxLength': 12000, 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid'}, 'revisionReason': {'type': 'string', 'maxLength': 1000}, 'expectedRevision': {'type': 'integer', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {}}, 'additionalProperties': False}
Added
continuity_audit
Oct. 2, 2026, 2:40 a.m.
Added
list_story_checkpoints
Oct. 2, 2026, 2:40 a.m.
Added
save_story_checkpoint
Oct. 2, 2026, 2:40 a.m.
Added
record_approved_scene
Oct. 2, 2026, 2:40 a.m.
Added
list_approved_scenes
Oct. 2, 2026, 2:40 a.m.
Added
get_canon_history
Oct. 2, 2026, 2:40 a.m.
Added
upsert_canon_entry
Oct. 2, 2026, 2:40 a.m.
Added
search_story_canon
Oct. 2, 2026, 2:40 a.m.
Added
get_continuity_context
Oct. 2, 2026, 2:40 a.m.
Added
create_story_project
Oct. 2, 2026, 2:40 a.m.
Added
list_story_projects
Oct. 2, 2026, 2:40 a.m.