Skip to main content
Glama

Built by 合同会社みやび

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本体のライセンスに従います。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Related MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShunsukeHayashi/tyrano-studio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server