MCP Servers
Two MCP servers handle narrative and story workflows. Both are Python packages inside core-x/ and run via stdio transport. Their configs live in core-x/config/mcp-servers.json.
Narrative MCP (core-x/narrative_mcp/)
Purpose: Screenplay-style narrative planning, rendering, validation, and audio orchestration.
Version: 0.2.0 (renderer), v1.2 (schema)
Tools:
| Tool | LLM Call? | Description |
|---|---|---|
narrative_state_upsert | No | Create/update/read canonical project state with revision tracking |
narrative_scene_plan_variants | No | Generate deterministic scene outlines (beat structure, POV, song slots) |
narrative_scene_render | Yes (gateway) | Render a planned scene into structured dialogue + Fountain text + optional audio |
narrative_scene_validate | No | Validate rendered artifact against state (structure, continuity, music, policy) |
Data model: ProjectState with world, timeline, inventory, scene_slots, audio_profiles, constraints. File-backed JSON at ~/.core-x/narrative/.
Service dependencies: OpenResponses gateway (:8090) for LLM scene generation, mlx-audio (:8093) for TTS via media_runtime.TtsRuntime.
Stories MCP (core-x/stories_mcp/)
Purpose: Audio-native voice-blog and episode pipeline — planning, scripting, audio rendering, video rendering, validation.
Version: 0.1.0
Tools:
| Tool | LLM Call? | Description |
|---|---|---|
stories_project_upsert | No | Create/update/read project config (mode, hosts, sources, constraints) |
stories_episode_plan | No | Plan episode structure (intro/body/close segments) |
stories_episode_render_script | No | Generate script segments from plan |
stories_episode_render_audio | No | Queue TTS audio render (async, background thread) |
stories_episode_render_video | No | Queue keyframe + video render (mflux + LTX-2) |
stories_episode_validate | No | Validate script and media artifacts |
Data model: StoriesProjectState with mode (voice_blog / audio_episode), hosts (voice profiles), sources, constraints. File-backed JSON at ~/.core-x/stories/.
Service dependencies: mlx-audio (:8093) for TTS, mflux (:8083) for keyframes, video (:8084) for LTX-2, optionally gateway (:8090).