{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fg9ysyak55nn","handle":"narracore-screenplay-formatter","url":"https://wellknown.network/agents/narracore-screenplay-formatter","links":{"self":"https://wellknown.network/agents/narracore-screenplay-formatter/record.json","html":"https://wellknown.network/agents/narracore-screenplay-formatter","markdown":"https://wellknown.network/agents/narracore-screenplay-formatter/record.md","api":"https://wellknown.network/api/v1/agents/narracore-screenplay-formatter","status":"https://wellknown.network/api/v1/agents/narracore-screenplay-formatter/status","claim":"https://wellknown.network/agents/narracore-screenplay-formatter/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/narracore-screenplay-formatter/claim.json","badge":"https://wellknown.network/agents/narracore-screenplay-formatter/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/narracore-screenplay-formatter/history","tools":"https://wellknown.network/api/v1/agents/narracore-screenplay-formatter/tools"},"ard":{"identifier":"urn:air:mcp.narracore.app:server:narracore-screenplay-formatter","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Narracore Screenplay Formatter","summary":"Screenplay, film and story toolkit over MCP: PDF formatting, stats, diagnosis, video prompts.","description":"Screenplay, film and story toolkit over MCP: PDF formatting, stats, diagnosis, video prompts.","publisher":{"name":"cn.narracore","url":null},"homepage":"https://narracore.app","repository":"https://github.com/xiaoanran0602-pixel/narracore-mcp-public","version":"1.4.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.narracore.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-19T15:35:34.03042Z","publishedAt":"2026-09-19T15:35:34.03042Z","registryName":"cn.narracore/screenplay-formatter"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.video-generation","name":"Video Generation","confidence":0.583,"provenance":"derived"},{"slug":"documents.extraction","name":"Data Extraction","confidence":0.554,"provenance":"derived"},{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.525,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"}],"categories":["documents","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 58m ago.","lastOkAt":"2026-10-10T16:33:13.583Z","lastProbedAt":"2026-10-10T16:33:13.583Z","statusComputedAt":"2026-10-10T16:33:56.688Z","reliability30d":{"probes":84,"successRate":1,"p50Ms":247,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":84,"ok":84,"authBoundaryOk":0,"serviceOk":84,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T16:33:13.583Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":260,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:29:35.821Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":242,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:31:45.651Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":245,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:26:26.952Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":243,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:28.980Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":245,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:25:22.803Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":247,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:25:19.312Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":242,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:27:45.778Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":241,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:24:02.788Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":242,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:25:12.251Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":238,"error":null,"detail":{"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"toolCount":14,"toolsHash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","serverName":"narracore-screenplay-formatter","capabilities":["logging","resources","prompts","tools"],"serverVersion":"1.6.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"format_screenplay","description":"Convert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue script"},{"name":"analyze_screenplay","description":"Deterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings "},{"name":"diagnose_scenes","description":"Scene-level \"shootability\" diagnosis for a screenplay, using the same ai-2.0 rules as narracore.cn: YOU (the calling AI) cite the evidence, the server validates"},{"name":"convert_fountain","description":"Convert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction=\"to_fountain\": screenplay (input_format=\"text"},{"name":"build_video_prompts","description":"Turn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scen"},{"name":"check_video_prompts","description":"FREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; fin"},{"name":"get_film_contract","description":"FREE. Return the Narracore Film Contract by section — the protocol that lets ANY vision-capable agent turn its own observation of a film into a stable, comparab"},{"name":"plan_film_analysis","description":"FREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing"},{"name":"validate_film_breakdown","description":"FREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vo"},{"name":"compile_film_breakdown","description":"CHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakd"},{"name":"prepare_story_window","description":"FREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the sto"},{"name":"absorb_story_window","description":"CHARGED (1 credit per story project per 24h; any validation failure is never charged, absorbed-window repeats are free no-ops). Merge YOUR extraction of a prepa"},{"name":"render_story_handoff","description":"FREE. Render a StoryState into a zh/en handoff document (recent-canon window + bible) for a successor writer/AI. The server formats the state you SUPPLY — proje"},{"name":"check_credits","description":"Check the remaining credits for a Narracore license key (NRC-XXXX-XXXX-XXXX-XXXX), plus recent usage and the purchase link. One credit covers one screenplay for"}],"package":null,"toolSurface":{"id":"ts_qcmnkwmc7pyn","endpointId":"ep_mxn2xbrvd6ce","hash":"770d0877b848ba14db6fe8e5a3fa46b041a07ec62f0fca963aead3ab1bc56df8","toolCount":14,"serverName":"narracore-screenplay-formatter","serverVersion":"1.6.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-05T03:25:15.313Z","lastSeenAt":"2026-10-10T16:33:13.587Z","observations":21,"toolNames":["format_screenplay","analyze_screenplay","diagnose_scenes","convert_fountain","build_video_prompts","check_video_prompts","get_film_contract","plan_film_analysis","validate_film_breakdown","compile_film_breakdown","prepare_story_window","absorb_story_window","render_story_handoff","check_credits"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_mxn2xbrvd6ce","url":"https://mcp.narracore.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-06T07:22:48.657Z","auth":{"observedAt":"2026-10-06T07:22:48.889Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-06T07:22:49.361Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.narracore.app","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-16T06:35:57.000Z","validTo":"2026-12-15T06:35:56.000Z","daysToExpiry":65,"sanCount":1,"fingerprint256":"27:10:99:83:45:95:5F:67:73:AA:68:C9:BA:1A:52:CB:FC:19:B8:50:03:04:A8:1F:67:3E:53:2B:66:33:96:B7"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"cn.narracore/screenplay-formatter","url":"https://registry.modelcontextprotocol.io/v0/servers/cn.narracore%2Fscreenplay-formatter","firstSeenAt":"2026-09-18T03:20:24.064Z","fetchedAt":"2026-10-09T02:22:57.850Z","normalizedAt":"2026-10-09T02:22:57.850Z"}]},"firstSeenAt":"2026-09-18T03:20:24.064Z","updatedAt":"2026-10-10T16:35:08.259Z"}