Skip to main content
Glama
kokushin

exia-scenario-generator MCP Server

by kokushin
README.md
# exia-scenario-generator MCP Server

[exia](https://github.com/kokushin/exia) というノベルゲームエンジン向けのシナリオファイルを作成する MCP サーバです。  
「琴葉姉妹解説」形式のシナリオを生成し、exia で表示します。

<img width="800" alt="" src="https://github.com/user-attachments/assets/f02cc41a-6456-44d3-bb22-190cb899515d" />

## 機能

- 指定されたお題について「琴葉姉妹解説」形式のシナリオを生成
- 生成したシナリオを exia 用の JSON 形式に変換
- exia を GitHub からダウンロードしてセットアップ
- 生成したシナリオを exia で表示

## 必要条件

- Node.js v20.x 以上
- OpenAI API キー
- Git

## セットアップ

1. リポジトリをクローンまたはダウンロード

```bash
git clone https://github.com/kokushin/exia-mcp.git
cd exia-mcp
```

2. 必要なパッケージをインストール

```bash
npm install
```

3. TypeScript のコンパイル (変更を加えたら実行してください)

```bash
npm run build
```

## Claude Desktop での利用方法

1. Claude Desktop を起動

2. 設定画面を開き、MCP サーバを追加

```json
{
  "mcpServers": {
    "exia-scenario-generator": {
      "command": "npx",
      "args": [
        "-y",
        "/path/to/exia-mcp", //(clone した exia-mcp のパスに置き換えてください)
        "--openai-api-key=YOUR_API_KEY", //(OpenAI API キーに置き換えてください)
        "--stdio"
      ]
    }
  }
}
```

- ※ `YOUR_API_KEY` は実際の OpenAI API キーに置き換えてください
- ※ `npx` が実行できない場合は絶対パスで指定してください `例: /path/to/.volta/bin/npx`

3. Claude Desktop で以下のように使用
   - 「exia で量子コンピュータについて解説して」と入力
   - MCP サーバが起動し、シナリオを生成して exia を起動
   - exia アプリケーション(Electron)が別ウィンドウで起動し、シナリオをプレイ

## 利用可能なツール

- `generateScenario`: お題からシナリオを生成
- `setupExia`: exia をダウンロードしてセットアップ
- `saveScenario`: 生成したシナリオを保存
- `exiaVoiceroidExplain`: シナリオ生成から exia 起動までを一括実行(推奨)

## 注意事項

- 初回実行時は exia のダウンロードとセットアップに時間がかかります
- キャラクター画像は自前で用意して手動で差し替える必要があります
  - exia のドキュメントは[こちら](https://github.com/kokushin/exia?tab=readme-ov-file#%E7%94%BB%E5%83%8F%E3%82%84%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88)
- OpenAI API の利用には料金がかかる場合があります

## ライセンス

MIT

TDQS

D1.5/5.0

Scored across 4 tools

Disambiguation3/5

The tools appear to target distinct steps in a scenario generation workflow (setup, generate, save, explain), but the lack of descriptions makes it impossible to verify if there's overlap or ambiguity in their purposes. Without descriptions, an agent might guess incorrectly about boundaries, especially between generateScenario and exiaVoiceroidExplain.

Naming Consistency2/5

Naming is inconsistent: generateScenario and saveScenario use camelCase, while exiaVoiceroidExplain and setupExia mix camelCase with unclear verb styles (e.g., 'exiaVoiceroidExplain' is a compound noun-verb hybrid). There's no predictable pattern across all tools, making them harder to parse as a set.

Tool Count4/5

With 4 tools, the count is reasonable for a scenario generator server, suggesting a focused scope. It's not too thin or heavy, though the lack of descriptions makes it hard to assess if more tools might be needed for completeness.

Completeness2/5

Inferring from tool names, the domain is scenario generation with Exia/Voiceroid integration. The surface covers setup, generation, saving, and explanation, but without descriptions, it's unclear if there are gaps (e.g., listing, editing, or deleting scenarios). The absence of descriptions severely limits the ability to assess coverage, suggesting potential dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues