cn.narracore/screenplay-formatter

Narracore Screenplay Formatter

Screenplay, film and story toolkit over MCP: PDF formatting, stats, diagnosis, video prompts.

Endpointhttps://mcp.narracore.app/mcp (streamable-http)
Registry version1.4.0
Now15 tools · grade D (53) · pin ts_41bc77620e623857cbd238ba50f73b9e · protocol 2025-06-18
First / last listed2026-10-25 06:04 UTC / 2026-10-25 06:04 UTC
Grade over time2026-10-25: D (53), 15 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 06:04 UTC
15 tools, grade D (53)

Tools: format_screenplay analyze_screenplay diagnose_scenes convert_fountain render_bilingual_pdf 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

Current tools (15)

format_screenplayConvert raw or loosely formatted screenplay text (Chinese, English, or mixed — including Japanese broadcast-drama format and Chinese colon-style dialogue scripts) into professionally structured screenplay blocks and a print-ready PDF on a fixed typewriter character grid identical to narracore.cn. Use it for screenplay formatting, import, or producing a shareable screenplay PDF — NOT for general pr
params: input_format, text, blocks, license_key, request_id, content_language, output, include, cover, header, footer, style, paper, dialogue_breaks
analyze_screenplayDeterministic screenplay statistics from the Narracore analyzer (analyzer_version 1.0, same rules as narracore.cn): a scene list with structured scene headings (scene number / location / time of day / INT-EXT parsed from each heading), per-scene word count, dialogue ratio and action density, a character table (cue count, scenes present, dialogue lines, dialogue chars, share of dialogue), and total
params: input_format, text, blocks, license_key, request_id
diagnose_scenesScene-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 it and computes the score — no LLM on the server. Two steps: (1) mode="material" (FREE) returns each scene as a numbered block list ([n] [type] text), the strict findings JSON schema, and 6 problem types (abstract_psychology, literary_summ
params: input_format, text, blocks, mode, scenes, findings, license_key, request_id
convert_fountainConvert between Narracore screenplay blocks and Fountain (the plain-text screenplay interchange format). direction="to_fountain": screenplay (input_format="text" or "blocks") → Fountain text (Latin content upper-cased per convention, CJK preserved verbatim; notes as [[…]]). direction="from_fountain": Fountain text → typed blocks you can pass straight to format_screenplay (input_format="blocks") —
params: direction, input_format, text, blocks, fountain, license_key, request_id
render_bilingual_pdfBilingual side-by-side screenplay PDF: submit the ORIGINAL screenplay (same inputs as format_screenplay) plus "translation" — the translated screenplay text you or your AI prepared. Both versions are typeset on the same fixed typewriter grids (Chinese 33×38 / English 61×55) side by side on A3 landscape pages, aligned scene by scene (each scene starts on a fresh page with both versions at the top).
params: input_format, text, blocks, translation*, license_key, request_id
build_video_promptsTurn a screenplay into structured video-generation prompt scaffolds (deterministic — no LLM on the server; YOU fill the creative fields). For each selected scene it estimates ~15s segments (marked estimated), registers entities (characters + dialogue counts), proposes ≤4 shots per segment at beat boundaries, pre-fills dialogue lines VERBATIM from the screenplay (never rewrite them), and emits a tw
params: input_format, text, blocks, scenes, segment_seconds, style, style_note, license_key, request_id
check_video_promptsFREE deterministic quality gates for video-generation prompts written against a screenplay (no LLM on the server — pattern matching and set comparison only; findings are reported, nothing is blocked). Submit the SAME screenplay plus up to 10 finished prompt texts (≤20k chars each). VIOLATIONS (objective locks): DIALOGUE_DRIFT — a DIALOGUE line attributed to a registered screenplay character whose
params: input_format, text, blocks, prompts, char_limit, style, advisories, request_id
get_film_contractFREE. 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, comparable, traceable Film IR (shot/scene/relation), validated and compiled by this server. The video NEVER leaves your machine: you observe and reason with your own models, this server provides the shared language and the deterministic toolchain.
params: section, film_schema_version
plan_film_analysisFREE deterministic. Turn shot-cut timestamps into the analysis topology every Film Protocol agent shares: numbered base shots (shot-000001), long-take windowing (shot-000017-w01of03 when a shot exceeds the profile cap), and greedy analysis units (≤20s / ≤8 shots per unit by default). Pass duration_sec + the cut timestamps you detected locally (e.g. ffmpeg scene filter, threshold 0.30 — see get_fil
params: duration_sec*, cut_timestamps*
validate_film_breakdownFREE preflight for a film breakdown payload (film_manifest + shots + scenes + relations). Checks the contract WITHOUT watching anything: schema shape, closed vocabularies (exact→alias→reject), cross-references (shot ids, scene membership, relation endpoints), window topology (a long take's windows must be complete), provenance shape, and observability metadata only — it never judges whether an obs
params: film_manifest*, shots*, scenes*, relations*
compile_film_breakdownCHARGED (1 credit per film analysis — the same analysis_id within 24h is NOT charged again; failed validation is never charged). Compile a validated film breakdown into a bounded, derivable result: authoritative validation → window→canonical shot merge (long-take windows are recombined so a 60s take is ONE shot in every statistic) → exact aggregates (distributions, shot lengths, per-scene aggregat
params: film_manifest*, shots*, scenes*, relations*, detail, license_key, request_id
prepare_story_windowFREE. Split a story conversation (verbatim user/assistant turns) into stable, hash-anchored units for the Narracore Story Continuity Protocol. YOU judge the story; the server only slices and anchors provenance — a source is traceable, not proof your interpretation is true. Keep the full text and returned StoryState client-side (server stores nothing); failed calls are never charged. 免费:故事窗口确定性切分与锚
params: conversation*, state, lang, request_id
absorb_story_windowCHARGED (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 prepared window: selectors must quote/anchor exact unit text (server pulls canon verbatim; client canon_text is rejected) and the returned canon_patch must be tail-hash-verified by the client before applying. YOU decide what the story means; the
params: state, units*, extraction*, license_key, request_id
render_story_handoffFREE. 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 — project_token proves identity only, not that the state content is authentic or current. Keep the full text client-side; failed calls are never charged. 免费:把调用方提供的 StoryState 排成交接文档;token 仅证身份、不证明 state 内容真实或最新;失败不收费。
params: state*, direction, lang, recent_chars, request_id
check_creditsCheck 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 24 hours across the screenplay tools, or one film analysis, or one story project for 24 hours. Costs nothing. 查询授权码剩余服务次数(1 次=一份剧本 24 小时剧本类工具通用,或一次拉片分析,或一个故事项目 24 小时)。 Preferred: set the key in your MCP client auth (Authorization: Bearer N
params: license_key

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.