Continuity

Private story bible for fiction writers, shared with AI assistants over MCP.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
79%
命名の品質
96%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,212トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.73%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

https://continuitywriter.com/mcpstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100000,
      "default": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "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.

入力スキーマ

{
  "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#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 11 件