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.
README
TyranoStudio MCP Server
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本体のライセンスに従います。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.