ShunsukeHayashi/tyrano-studio-mcp
3.3
If you are the rightful owner of tyrano-studio-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
TyranoStudio MCP Server is a comprehensive server designed to manage projects and support game development using TyranoScript.
Tools
11
Resources
0
Prompts
0
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本体のライセンスに従います。