返回市场
暴君工作室-MCP

暴君工作室-MCP

作者:ShunsukeHayashi2 星标更新:2025-09-30

项目介绍

技术文档摘要

TyranoStudio MCP Server

测试状态 Python 许可证

TyranoStudio(ティラノスタジオ)的项目管理和TyranoScript游戏开发支持的综合MCP服务器。

✨ 主要功能

  • 🎮 项目管理 - 创建、删除、文件列表
  • 📝 剧本编辑 - 读写、高级语法验证
  • 🎨 资源管理 - 图像、音频文件添加与列表
  • 🔍 高级验证 - 标签存在确认、资源引用检查
  • 📊 项目分析 - 统计、预估播放时间、流程可视化
  • 🎭 模板生成 - 五种剧本模板
  • 🔧 Git集成 - 版本管理支持
  • 优化工具 - 未使用的资源检测、批量操作

📁 目标目录结构

/Users/shunsuke/TyranoStudio_mac_std_v603/
├── myprojects/          # 游戏项目存储目录
│   └── [项目名称]/
│       └── data/
│           ├── scenario/    # 剧本文件(.ks)
│           ├── fgimage/     # 前景图像(角色等)
│           ├── bgimage/     # 背景图像
│           ├── bgm/         # 背景音乐
│           ├── sound/       # 音效
│           ├── video/       # 视频
│           ├── image/       # 其他图像
│           ├── system/      # 系统文件(Config.tjs等)
│           └── others/      # 其他
├── system_master/       # 模板
│   ├── tyranoscript_ja/ # 日语模板
│   └── tyranoscript_en/ # 英语模板
├── export/              # 导出目标
└── dlc/                 # 插件

🛠️ 功能(工具列表)

1. 项目管理

list_projects

  • 描述: 获取已创建项目的列表
  • 参数: 无
  • 示例:
{}

create_project

  • 描述: 创建新项目
  • 参数:
    • project_name (必需): 项目名称
    • template (可选): 模板类型 (tyranoscript_jatyranoscript_en)
  • 示例:
{
  "project_name": "my_game",
  "template": "tyranoscript_j_"
}

delete_project

  • 描述: 删除项目
  • 参数:
    • project_name (必需): 项目名称
  • 示例:
{
  "project_name": "my_game"
}

list_project_files

  • 描述: 列出项目内的文件和目录
  • 参数:
    • project_name (必需): 项目名称
    • path (可选): 相对路径(默认为根目录)
  • 示例:
{
  "project_name": "my_game",
  "path": "data/scenario"
}

2. 剧本文件操作

read_scenario

  • 描述: 读取剧本文件(.ks)
  • 参数:
    • project_name (必需): 项目名称
    • scenario_file (必需): 剧本文件名
  • 示例:
{
  "project_name": "my_game",
  "scenario_file": "scene1.ks"
}

write_scenario

  • 描述: 写入剧本文件(.ks)
  • 参数:
    • project_name (必需): 项目名称
    • scenario_file (必需): 剧本文件名
    • content (必需): 写入的内容
  • 示例:
{
  "project_name": "my_game",
  "scenario_file": "scene1.ks",
  "content": "[bg storage=\"room.jpg\"]\n你好[p]"
}

validate_scenario

  • 描述: 验证剧本文件的语法
  • 参数:
    • project_name (必需): 项目名称
    • scenario_file (必需): 剧本文件名
  • 示例:
{
  "project_name": "my_game",
  "scenario_file": "scene1.ks"
}

3. 设置文件操作

read_config

  • 描述: 读取Config.tjs
  • 参数:
    • project_name (必需): 项目名称
  • 示例:
{
  "project_name": "my_game"
}

write_config

  • 描述: 写入Config.tjs
  • 参数:
    • project_name (必需): 项目名称
    • content (必需): 写入的内容
  • 示例:
{
  "project_name": "my_game",
  "content": "..."
}

4. 资源管理

add_image

  • 描述: 向项目中添加图像
  • 参数:
    • project_name (必需): 项目名称
    • source_path (必需): 图像源路径
    • dest_category (必需): 目标类别(fgimage, bgimage, image, system等)
    • dest_filename (可选): 目标文件名
  • 示例:
{
  "project_name": "my_game",
  "source_path": "/Users/shunsuke/Downloads/character.png",
  "dest_category": "fgimage",
  "dest_filename": "hero.png"
}

5. TyranoScript参考

get_tyranoscript_reference

  • 描述: 获取TyranoScript标签参考
  • 参数:
    • category (可选): 类别(text, character, background, choice, variable, audio, all
  • 示例:
{
  "category": "character"
}

📝 TyranoScript的基本标签

文本·消息类

  • [l] - 点击等待
  • [p] - 点击等待并换页
  • [r] - 换行
  • [cm] - 清除消息

角色类

  • [chara_new name="角色名" storage="图像文件"] - 定义角色
  • [chara_show name="角色名"] - 显示角色
  • [chara_hide name="角色名"] - 隐藏角色
  • [chara_mod name="角色名" storage="图像文件"] - 更改表情

背景·图像类

  • [bg storage="图像文件"] - 更改背景
  • [image layer="图层编号" storage="图像文件"] - 显示图像

选择·跳转类

  • [link target="标签名"]文本[endlink] - 选择
  • [glink target="标签名" text="选择文本"] - 图形选择
  • [jump target="标签名"] - 跳转
  • [s] - 停止
  • *标签名 - 定义标签

音频类

  • [playbgm storage="音乐文件"] - 播放BGM
  • [playse storage="音效文件"] - 播放音效

🚀 设置

1. 安装依赖包

pip install mcp

2. 添加到Claude Code设置

~/.claude/mcp_config.json中添加:

{
  "mcpServers": {
    "tyrano-studio": {
      "command": "python3",
      "args": ["/Users/shunsuke/tyrano_studio_mcp_server.py"],
      "description": "TyranoStudio项目管理"
    }
  }
}

3. 确认服务器启动

python3 /Users/shunsuke/tyrano_studio_mcp_server.py

💡 使用示例

创建新的游戏项目

{
  "tool": "create_project",
  "arguments": {
    "project_name": "my_visual_novel",
    "template": "tyranoscript_ja"
  }
}

创建简单的剧本

{
  "tool": "write_scenario",
  "arguments": {
    "project_name": "my_visual_novel",
    "scenario_file": "scene1.ks",
    "content": "*start\n\n[bg storage=\"room.jpg\"]\n\n你好,世界![p]\n\n这是用TyranoScript制作的游戏。[p]\n\n[s]"
  }
}

添加角色

{
  "tool": "add_image",
  "arguments": {
    "project_name": "my_visual_novel",
    "source_path": "/path/to/character.png",
    "dest_category": "fgimage"
  }
}

验证剧本语法

{
  "tool": "validate_scenario",
  "arguments": {
    "project_name": "my_visual_novel",
    "scenario_file": "scene1.ks"
  }
}

📖 参考链接

🎮 启动TyranoStudio

open /Users/shunsuke/TyranoStudio_mac_std_v603/TyranoStudio.app

创建的项目会保存在 myprojects/ 目录下,并且可以从TyranoStudio直接打开进行预览和编辑。

🧪 测试

运行端到端测试

python3.11 test_e2e.py

测试内容

  • ✅ 项目管理(创建、列表、删除)
  • ✅ 剧本文件操作(读写、验证)
  • ✅ 模板生成(五种)
  • ✅ 高级验证(标签、资源)
  • ✅ 音频文件管理
  • ✅ 资源引用验证

CI/CD

通过GitHub Actions自动执行测试:

  • 在macOS环境中进行端到端测试
  • 每次推送或PR时自动运行

🔧 故障排除

找不到项目

  • 检查 myprojects/ 目录
  • 确认项目名称拼写正确

图像无法显示

  • 确认图像文件放置在正确的目录中
  • 检查文件名的大小写(特别是在macOS上)

剧本语法错误

  • 使用 validate_scenario 工具进行验证
  • 确认标签的开始和结束是否正确配对

📄 许可证

此MCP服务器旨在辅助TyranoStudio的操作,遵循TyranoScript/TyranoStudio主体的许可证。