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
Visit Server

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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured