Narrative Context Protocol

Take your story
context with you.

Export your work. Connect your tools. Keep the structure,
Storytelling, and development context together.

The tools

A practical way
to carry the work forward.

Import and export inside Dramatica. Open validation tools for your integrations.

Export a Storyform.

Take your story structure and its Storytelling into another workflow, or keep a snapshot before a new round of development.

Storyform Builder menu → Save NCP

See the export workflow

Export a Project.

Choose the saved Stories, Storyforms, and Ideas you want to carry together in a Project NCP document.

Project manager → Export NCP

See the Project export workflow

Import a document.

Restore a snapshot or bring outside context into Dramatica. Review the destination and import options before applying it.

Storyform Builder menu → Import NCP

See the import workflow

Validate a file.

Use the open schema tools to check a document’s format. Dramatica checks Storyform meaning separately.

NCP repository → Command-line validation tools

Open the validation guide
Storyform Builder, where writers can export their story structure as an NCP document.
Develop in Dramatica. Export when your story context needs to travel.

One connected workflow

Start with your story.
Choose where it goes next.

  1. 01

    Export your context.

    Open a Storyform or Project and export an NCP document. Keep a copy as a checkpoint for the work.

  2. 02

    Put it to work.

    Inspect the JSON, share it with a collaborator, or use it in a tool that supports the document’s profiles and extensions.

  3. 03

    Review what comes back.

    Use the import workflow for a deliberate return. Discuss consequential story changes with Narrova or review them in a Storyform workspace.

See what travels.

Download an illustrative NCP document with a Dramatica Storyform Profile and Development History. Its empty Storyform fields are a format example, not a completed or certified Storyform.

Download an example

What NCP makes possible

Your context travels.
Your story stays yours to shape.

NCP is an open, application-independent format for exchanging narrative context. Keep developing your story in Dramatica. Use NCP when you want to carry your work into another tool or workflow.

Portable snapshots

Export versioned JSON for archives, brainstorming, format conversion, and tools that need structured context plus an optional contribution history.

Live access

Use Dramatica MCP for current, authorized queries and operations. Its results can be structured too, but remain scoped to the request.

Guided changes

Bring consequential changes through Narrova or a Storyform surface so Dramatica remains the authoritative structural record.

For developers

Build on an
open protocol.

Start with the protocol, example documents, and schema tools. Declare the profiles and extensions your integration supports, and preserve unknown payloads without reinterpreting them.

How Core, profiles, and Dramatica fit together
  • NCP Core provides a narrative-system-neutral envelope for portable context, authorship, provenance, and extensions.
  • Profiles carry information from Dramatica and other narrative systems without making any one profile mandatory.
  • The Dramatica Semantic Model remains the separate intelligence that creates, resolves, and validates Storyforms.
NCP carries profiles and extensions; Dramatica validates Storyform meaning separately.
NCP carries the profile. Dramatica validates the Storyform.

NCP Core

The neutral document envelope carries story identity, authorship, provenance, profile declarations, extensions, and certification metadata.

Profiles

A profile carries narrative-system-specific information. The Dramatica Storyform Profile is foundational, but an NCP document does not require it.

Semantic intelligence

NCP schema validation checks document structure. Licensed Dramatica intelligence separately creates, resolves, diagnoses, and validates Storyforms.

Development history

Authenticated Dramatica exports can carry contributor, turn, revision, and supersession evidence in a separate extension. This is useful provenance, not automatic legal proof of authorship.

NCP document with a Dramatica profile

NCP Core owns the document envelope. The declared dramatica: profile owns the Storyform representation inside the payload.

{
    "ncp_version": "3.0.0-rc.1",
    "document": {
        "id": "ncp_document_001",
        "created_at": "2026-08-15T12:00:00Z",
        "authorship": [
            {
                "id": "author_001",
                "name": "Writer One",
                "role": "author"
            }
        ],
        "provenance": [
            {
                "at": "2026-08-15T12:00:00Z",
                "action": "exported",
                "actor_id": "author_001"
            }
        ]
    },
    "story": {
        "id": "story_001",
        "title": "A Portable Story"
    },
    "profiles": [
        {
            "namespace": "dramatica:",
            "profile_version": "1.0.0-rc.1",
            "schema": "https://narrativecontextprotocol.com/profiles/dramatica/1.0.0-rc.1/profile-schema.json"
        }
    ],
    "extensions": [
        {
            "namespace": "dramatica-development-history:",
            "version": "1.0.0",
            "schema": "https://dramatica.com/schemas/ncp/dramatica-development-history-1.0.0.json"
        }
    ],
    "storytelling_moments": [],
    "contributions": [
        {
            "id": "development-entry:001",
            "contributor_id": "author_001",
            "at": "2026-08-15T11:45:00Z"
        }
    ],
    "certifications": [],
    "payloads": {
        "dramatica:": {
            "namespace": "dramatica:",
            "profile_version": "1.0.0-rc.1",
            "dsm_version": "declared-by-authorized-producer",
            "storyform": {
                "id": "storyform_001",
                "fields": {
                    "narrative": {
                        "id": "narrative_001",
                        "title": "The Reservoir",
                        "subtext": {
                            "perspectives": [],
                            "players": [],
                            "dynamics": [],
                            "storypoints": [],
                            "storybeats": []
                        },
                        "storytelling": {
                            "overviews": []
                        }
                    },
                    "ideation": {
                        "character": [],
                        "theme": [],
                        "plot": [],
                        "genre": []
                    },
                    "moments": []
                }
            }
        },
        "dramatica-development-history:": {
            "namespace": "dramatica-development-history:",
            "version": "1.0.0",
            "history": [
                {
                    "id": "development-entry:001",
                    "contribution_id": "development-entry:001",
                    "at": "2026-08-15T11:45:00Z",
                    "source": "user",
                    "status": "confirmed"
                }
            ]
        }
    }
}

Passing the NCP schema confirms that the document is structurally well-formed. It does not certify that the Storyform is complete or semantically valid.

Keep the story connected.

Find the right export, understand an import,
or build NCP into your own workflow.

Read NCP docs