Continuity
Private story bible for fiction writers, shared with AI assistants over MCP.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"continuity": {
"url": "https://continuitywriter.com/mcp"
}
}
}Puntos de conexión remotos
https://continuitywriter.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟢list_story_projects(offset)
Find the user’s saved story projects before starting or resuming a story. Use the returned ID; do not guess projects. Page with offset.
Esquema de entrada
{
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_story_project(name, description)
Create a new private story project when the user asks. Does not save canon or scenes.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_continuity_context(projectId, request, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"request": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"default": 20
}
},
"required": [
"projectId",
"request"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_story_canon(projectId, query, offset)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"query": {
"type": "string",
"maxLength": 200,
"default": ""
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴upsert_canon_entry(projectId, kind, title, status, content, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"kind": {
"type": "string",
"enum": [
"CHARACTER",
"RELATIONSHIP",
"APPEARANCE",
"ABILITY",
"LOCATION",
"WORLD_RULE",
"TIMELINE",
"PLOT_THREAD",
"ITEM",
"FACTION",
"OTHER"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"type": "string",
"enum": [
"LOCKED",
"DEVELOPING",
"UNKNOWN",
"RETIRED"
]
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 12000
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 30,
"default": []
},
"revisionReason": {
"type": "string",
"maxLength": 1000
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"projectId",
"kind",
"title",
"status",
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_canon_history(canonEntryId, offset)
Read previous and new content for a saved canon entry, newest first. No changes are made.
Esquema de entrada
{
"type": "object",
"properties": {
"canonEntryId": {
"type": "string",
"format": "uuid"
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"canonEntryId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_approved_scenes(projectId, offset)
Read approved scene summaries in story order. Page with offset to inspect older scenes or verify a scene number before saving.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴record_approved_scene(projectId, sceneNumber, title, summary, continuityNotes, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"sceneNumber": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647
},
"title": {
"type": "string",
"maxLength": 200
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 12000
},
"continuityNotes": {
"type": "string",
"maxLength": 5000
},
"replaceExisting": {
"type": "boolean",
"default": false
}
},
"required": [
"projectId",
"sceneNumber",
"summary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡save_story_checkpoint(projectId, checkpointId, title, storyState, openThreads, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"checkpointId": {
"$ref": "#/properties/projectId"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"storyState": {
"type": "string",
"minLength": 1,
"maxLength": 6000
},
"openThreads": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 20,
"default": []
},
"nextSteps": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 10,
"default": []
}
},
"required": [
"projectId",
"checkpointId",
"title",
"storyState"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_story_checkpoints(projectId, offset)
Retrieve provisional story handoffs to recover progress across chats. These notes never override approved canon. Page with offset for older checkpoints.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"projectId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢continuity_audit(projectId, proposedText, offset)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"projectId": {
"type": "string",
"format": "uuid"
},
"proposedText": {
"type": "string",
"minLength": 1,
"maxLength": 12000
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"projectId",
"proposedText"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia