TyranoStudio MCP Server

TyranoStudio MCP Server

Enables comprehensive management of TyranoStudio visual novel projects including project creation, scenario editing with syntax validation, resource management, and TyranoScript development assistance. Supports project analysis, template generation, and Git integration for visual novel game development.

Category
访问服务器

README

TyranoStudio MCP Server

Test Status Python License

TyranoStudio(ティラノスタジオ)のプロジェクト管理とTyranoScriptのゲーム開発を支援する包括的なMCPサーバーです。

✨ 主要機能

  • 🎮 プロジェクト管理 - 作成、削除、ファイル一覧
  • 📝 シナリオ編集 - 読み書き、高度な構文検証
  • 🎨 リソース管理 - 画像、音声ファイルの追加・一覧
  • 🔍 高度な検証 - ラベル存在確認、リソース参照チェック
  • 📊 プロジェクト分析 - 統計、プレイ時間推定、フロー可視化
  • 🎭 テンプレート生成 - 5種類のシナリオテンプレート
  • 🔧 Git連携 - バージョン管理サポート
  • 最適化ツール - 未使用リソース検出、一括操作

📁 対象ディレクトリ構造

/Users/shunsuke/TyranoStudio_mac_std_v603/
├── myprojects/          # ゲームプロジェクト格納ディレクトリ
│   └── [プロジェクト名]/
│       └── data/
│           ├── scenario/    # シナリオファイル(.ks)
│           ├── fgimage/     # 前景画像(キャラクター等)
│           ├── bgimage/     # 背景画像
│           ├── bgm/         # 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_ja または tyranoscript_en)
  • 例:
{
  "project_name": "my_game",
  "template": "tyranoscript_ja"
}

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 project management"
    }
  }
}

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から直接開いてプレビュー・編集できます。

🧪 テスト

E2Eテストの実行

python3.11 test_e2e.py

テスト内容

  • ✅ プロジェクト管理(作成、一覧、削除)
  • ✅ シナリオファイル操作(読み書き、検証)
  • ✅ テンプレート生成(5種類)
  • ✅ 高度な検証(ラベル、リソース)
  • ✅ 音声ファイル管理
  • ✅ リソース参照検証

CI/CD

GitHub Actionsで自動テストを実行:

  • macOS環境でのE2Eテスト
  • プッシュ・PRごとに自動実行

🔧 トラブルシューティング

プロジェクトが見つからない

  • myprojects/ ディレクトリを確認
  • プロジェクト名のスペルミスを確認

画像が表示されない

  • 画像ファイルが適切なディレクトリに配置されているか確認
  • ファイル名の大文字小文字を確認(特にmacOS)

シナリオの構文エラー

  • validate_scenario ツールで検証
  • タグの開始/終了が正しく対応しているか確認

📄 ライセンス

このMCPサーバーはTyranoStudioの操作を支援するものであり、TyranoScript/TyranoStudio本体のライセンスに従います。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选