概述
MythWeaver是一个使用Gradio和模型上下文协议(MCP)构建的多模式、代理叙事系统。核心创新是 自定义叙事引擎MCP服务器 它将上下文感知叙事生成作为任何应用程序的可重用工具。用户通过文本和可选的地图/草图上传进行交互。该系统解释图纸,将其转换为结构化的场景图,生成样式化的地图,并使用叙事引擎MCP动态生成目标、情节挂钩和叙事机会。
新颖贡献: 叙事引擎MCP服务器提供与领域无关的叙事生成工具,可供游戏、互动小说、写作工具、桌面RPG助手和教育应用程序使用。
______________________________________________________________________
特性
MCP核心创新
- 叙事引擎MCP服务器 -用于叙事生成的新颖、可重用的MCP工具
- 分析结构化上下文(世界状态、实体、关系、场景图) - 生成叙事目标、情节挂钩、冲突和解决方案 - 领域无关的设计适用于故事、游戏、教育、写作工具 - 使用多种工具公开标准化的MCP接口
应用功能
- 基于文本的冒险,用户主导或半自主叙述
- 草图/地图上传,用于地理驱动的故事讲述
- 视觉解析为结构化场景图(Gemini Vision MCP)
- 高分辨率地图生成(Flux/SDXL MCP)
- 长上下文世界存储器(存储器存储MCP)
- Gradio 6接口,支持移动设备
______________________________________________________________________
架构(文本图)
User
└── Gradio UI
├── Text Input
├── Image Upload
└── Quest Selection
│
▼
Claude 4.5 Sonnet (Anthropic, Orchestrator)
├── World-memory reasoning
├── Narrative generation
├── Tool selection & routing
└── Multi-step planning
│
├── ⭐ Narrative Engine MCP (CUSTOM - Our Novel Contribution)
│ → generate_narrative_objectives(context, genre, count)
│ → analyze_narrative_opportunities(scene_graph, entities)
│ → Returns structured objectives with narrative hooks
│
├── Gemini Vision MCP (Google)
│ → parse_scene(image) → Scene Graph
│
├── Map Generator MCP (Flux/SDXL)
│ → generate_map(scene_graph) → Styled Map Image
│
└── Memory Store MCP
→ update_world(locations, NPCs, events)
→ query_world() → World State
│
▼
Gradio Output Display
├── Story Text
├── Generated Maps
└── Quest Options密钥: ⭐ = 为此次黑客马拉松打造的新型MCP服务器
______________________________________________________________________
技术栈
前端
- Gradio 6-具有图像上传和任务选择功能的聊天界面
编排器模型
- 克劳德4.5十四行诗-规划、叙事生成、工具路线
MCP服务器(4个核心工具)
| MCP服务器 | 用途 | 状态 |
|---|---|---|
| ⭐ 叙事引擎MCP | 情境感知叙事生成 | 定制-我们的贡献 |
| Gemini Vision MCP | 从草图中提取场景图 | 现有 |
| 地图生成器MCP | 高分辨率地图生成 | 现有/自定义 |
| 内存存储MCP | 持续世界状态 | 现有 |
叙述引擎MCP服务器详细信息
暴露的工具:
# Tool 1: generate_narrative_objectives
Input:
- context: dict # World state, entities, relationships
- narrative_style: str # Genre/tone (fantasy, sci-fi, mystery, etc.)
- count: int # Number of objectives (1-5)
- difficulty: str # easy, medium, hard
Output:
- List of objectives with:
- description: str
- narrative_hook: str # Why this matters to the story
- success_criteria: list
- conflicts: list # Potential obstacles/antagonists
- related_entities: list # NPCs, locations involved
- estimated_complexity: str
# Tool 2: analyze_narrative_opportunities
Input:
- scene_graph: dict # Structured scene data
- character_state: dict # Character relationships, goals, conflicts
Output:
- List of narrative opportunities:
- opportunity_type: str # conflict, mystery, romance, discovery, etc.
- description: str
- involved_entities: list
- dramatic_potential: float实施:
- Python MCP服务器使用
mcp软件开发工具包 - LLM动力分析(Claude用于推理,结构化输出)
- 用于类型安全的Pydantic模式
- 领域无关设计-适用于任何叙事背景
______________________________________________________________________
代理能力
- 通过克劳德编排进行多步叙事规划
- 基于用户输入的自主刀具路径
- 场景图推理与验证
- 全球内存管理和更新
- 通过叙事引擎MCP生成情境感知叙事
- 半自主讲故事流程
______________________________________________________________________
用户流程
- 用户用文字开始冒险或上传草图/地图
- 如果上传了图像:
- Gemini Vision MCP→ 提取场景图 - 地图生成器MCP→ 创建样式化地图
- 内存存储MCP→ 更新世界状态
- 克劳德编排→ 生成故事延续
- 叙事引擎MCP → 分析上下文并生成1-3个动态目标
- Gradio显示:故事文本、地图和任务选项
- 用户选择任务或继续探索
- 循环随着更新的内存和上下文而重复
______________________________________________________________________
MCP工具摘要
| 工具 | 用途 | 类型 |
|---|---|---|
| ⭐ 叙事引擎MCP | 情境感知叙事生成 | 自定义 |
| Gemini Vision MCP | 草图→ 场景图 | 现有 |
| 地图生成器MCP | 场景图→ 地图图像 | 现有/自定义 |
| 内存存储MCP | 持久世界状态 | 现有 |
______________________________________________________________________
设置(uv)
1.安装依赖项
uv sync2.运行应用程序
uv run python app.py______________________________________________________________________
建议项目结构
/mythweaver
├── app.py # Main Gradio application
├── README.md
├── pyproject.toml
├── .gitignore
│
├── /mcp_servers
│ └── narrative_engine/ # ⭐ Custom Narrative Engine MCP Server
│ ├── server.py # MCP server implementation
│ ├── schemas.py # Pydantic models for narrative objects
│ ├── generator.py # LLM-powered narrative logic
│ └── README.md # Standalone documentation for reuse
│
├── /mcp_clients # Client integrations for existing MCP servers
│ ├── gemini_vision.py # Gemini Vision MCP client
│ ├── map_generator.py # Map Generator MCP client
│ └── memory_store.py # Memory Store MCP client
│
├── /prompts
│ ├── orchestrator.md # Claude system prompt
│ └── narrative_generation.md # Narrative Engine prompt
│
├── /demos
│ └── cli_demo.py # Standalone CLI using Narrative Engine MCP
│
└── /assets
└── example_maps/ # Sample sketches for testing______________________________________________________________________
黑客马拉松提交清单
- \[ \] 自定义叙事引擎MCP服务器 -具有明确API的新型可重复使用工具
- \[ \] MythWeaver Gradio应用程序 -使用叙事引擎的初步演示
- \[ \] CLI演示 -第二个应用程序证明了可重用性
- \[ \] 多式联运管道 (素描→ 场景图→ map → 叙事目标)
- \[ \] 自主代理行为 通过克劳德编排
- \[ \] 独立MCP文件 -所以其他人可以整合它
- \[ \] 演示视频 (1-5分钟显示两个应用程序)
- \[ \] 社交媒体帖子 带有#MCP生日标签
- \[ \] GitHub仓库 提交给MCP-1出生日组织
为什么这是小说
- 第一代叙事MCP服务器 -现有的MCP工具无法生成上下文感知的故事
- 领域不可知设计 -适用于奇幻、科幻、神秘、教育等领域。
- 经过验证的可重用性 -使用同一MCP服务器的两个单独的演示应用程序
- 标准化接口 -任何MCP客户端都可以调用的干净API
- 多代理编排 -显示MCP服务器在复杂的工作流程中协同工作
______________________________________________________________________
演示流程
- 开始冒险 -文本输入或草图上传
- 视觉解析 -Gemini Vision MCP提取场景图
- 地图生成 -地图生成器MCP创建样式化地图
- 故事生成 -克劳德编曲写叙事
- 目标生成 - 叙事引擎MCP 分析语境,提出1-3个叙事目标
- 用户交互 -选择任务或继续探索
- 记忆更新 -内存存储MCP保持世界变化
- 循环 -使用更新的上下文重复
预期影响
叙事引擎MCP服务器可用于:
- 游戏开发者 -RPG和冒险游戏的动态任务/目标生成
- 互动小说平台 -分支叙事建议(Twine、ChoiceScript等)
- 书写工具 -上下文感知的情节建议和故事提示(Scrivener、黑曜石插件)
- 桌面RPG工具 -AI地牢大师协助(Roll20,铸造VTT)
- 教育应用 -生成基于故事的学习场景
- 创意AI应用 -任何需要叙事背景理解的应用程序
