RPG Maker MZ MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RPG Maker MZ MCP ServerCreate a small forest map and place a treasure chest with 100 gold in it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RPG Maker MZ MCP Server - 使用説明書
⚠ 実験版 / WIP / 作者環境専用
これは「RPGツクールMZをAIにいじらせるためのMCPサーバー」の 開発中バージョン (0.x) です。
作者の環境(Windows + Antigravity)でのみ動作確認済みです。重要な注意事項:
他の環境・MCPクライアントでは動かない可能性が高いです
Antigravityの実装やCWDの都合で、汎用的に見える設定方法が動作しない場合があります
コードを読んで、必要に応じてパスや設定を変更してください
テスト用プロジェクトでの利用を推奨
本番データを触らせる前にバックアップ必須
「自分用ツール + コード公開」という位置づけです。自己責任で使用してください。
TL;DR(超短縮版)
想定ユーザー
RPGツクールMZをAIにいじらせたい人
できること
✅ AIにマップを作らせる
✅ イベントを増築させる
✅ プラグインを追加・設定
✅ テストプレイとスクリーンショットまで自動実行
3行クイックスタート(Google Antigravity)
インストール不要:
npxが自動的にパッケージを取得しますMCP設定:
mcp_config.jsonに以下を追加{ "mcpServers": { "rpg-maker-mz": { "command": "npx", "args": ["-y", "@rein634/rpg-maker-mz-mcp"] } } }使う: Antigravityを再起動 → MCP Servers → Refresh → 「このプロジェクトを解析して、最初のマップに会話イベントを追加して」とAIに話しかける
💡 他のMCPクライアント(Cursor/Claudeなど)を使う場合: セットアップセクションの「プロジェクトローカル」を参照してください。
Related MCP server: RPG Maker MZ MCP Server
概要
このMCPサーバーは、RPGツクールMZのゲーム開発を完全自動化するためのツールです。AIに自然言語で指示するだけで、マップ作成、イベント配置、スイッチ管理、アセットチェックなどが自動実行されます。
主な特徴:
✅ 抽象化レイヤー: MZ内部構造を知らなくても開発可能
✅ 自動ID管理: スイッチ・マップIDを自動解決/割り当て
✅ ハルシネーション防止: MCP Resourcesで仕様を参照可能
✅ 品質保証: Zod Validationとアセット整合性チェック
✅ 自動バックアップ: ファイル書き込み前に自動バックアップ作成
✅ Undo機能: 直前の変更を簡単に元に戻せる
✅ セキュリティ強化: ホワイトリスト方式のコード実行、パストラバーサル対策
セットアップ
Google Antigravity
⚠️ 環境依存の警告: Antigravityの実装やCWDの都合で、汎用的に見える設定方法(
npx、rpg-maker-mz-mcpコマンド、相対パスなど)が動作しない可能性があります。
以下は作者の環境で実際に動作した設定例です。環境が異なる場合は、パスを適宜変更してください。
設定方法(実際に動作した例)
まず、グローバルにインストール:
npm install -g @rein634/rpg-maker-mz-mcpmcp_config.json に以下を追加します(絶対パスを使用):
{
"mcpServers": {
"rpg-maker-mz": {
"command": "node",
"args": [
"C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@rein634/rpg-maker-mz-mcp/dist/index.js"
]
}
}
}⚠️ 重要:
C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/...の部分を、あなたの環境での実際のパスに置き換えてください(YOUR_USERNAMEをあなたのWindowsユーザー名に変更)Windowsでは
C:/のようにスラッシュ(/)を使用し、バックスラッシュ(\)は使用しないでくださいパスは環境変数
%APPDATA%\npm\node_modules\@rein634\rpg-maker-mz-mcp\dist\index.jsを展開した形になります
その他の設定方法(動作しない可能性あり)
以下の設定方法は、Antigravityの環境依存により動作しない可能性があります:
方法A: npx経由(推奨されない)
{
"mcpServers": {
"rpg-maker-mz": {
"command": "npx",
"args": ["-y", "@rein634/rpg-maker-mz-mcp"]
}
}
}方法B: コマンド名直接指定(推奨されない)
{
"mcpServers": {
"rpg-maker-mz": {
"command": "rpg-maker-mz-mcp"
}
}
}方法C: 相対パス(動作しない)
{
"mcpServers": {
"rpg-maker-mz": {
"command": "node",
"args": ["./node_modules/@rein634/rpg-maker-mz-mcp/dist/index.js"]
}
}
}❌ Antigravityは
.gemini/antigravityをカレントディレクトリとして起動するため、相対パスは使えません
起動確認
Antigravityを再起動し、MCP Servers → Refresh を実行してください。
ターミナルには以下のようなログが表示されます:
[2025-11-29T05:43:43.574Z] [INFO] RPG Maker MZ MCP Server running on stdio.このメッセージが表示されてそのまま入力待ちになるのは正常な動作です。MCPクライアントからのリクエストを待っている状態です。
💡 ログについて: ログは stderr に出力されるため、MCPプロトコルのJSON(stdout)には影響しません。コンソールにログが表示されていても、MCP的には問題ありません。
プロジェクトローカル (Cursor / Claude Code など)
⚠️ 未検証: 以下の設定は作者の環境では検証していません。
プロジェクトルートに設定ファイルを置くMCPクライアント向けの想定設定です。動作しない場合は、コードを読んで環境に合わせて調整してください。
1. プロジェクトにインストール
RPGツクールMZプロジェクトのルートディレクトリで実行:
npm install -D @rein634/rpg-maker-mz-mcp2. MCP設定ファイルの設定
プロジェクトルートに設定ファイル(例: .cursor/mcp.json や mcp_config.json)を作成し、以下を追加:
{
"mcpServers": {
"rpg-maker-mz": {
"command": "node",
"args": ["./node_modules/@rein634/rpg-maker-mz-mcp/dist/index.js"]
}
}
}⚠️ 注意:
この設定は作者の環境では検証していません
MCPクライアントの実装やCWDの都合で動作しない可能性があります
動作しない場合は、絶対パスを使用するか、環境に合わせて調整してください
その他の方法
グローバルインストール(オプション・上級者向け)
グローバルにインストールして、コマンド名で直接実行する方法です。
npm install -g @rein634/rpg-maker-mz-mcpインストール後、MCP設定ファイルに以下を追加:
{
"mcpServers": {
"rpg-maker-mz": {
"command": "rpg-maker-mz-mcp"
}
}
}⚠️ 注意: 一部のクライアント(特に Windows 環境)では、グローバルのラッパースクリプト(
.cmd/.ps1)が正しく起動されず、Error: calling "initialize": EOFが出ることがあります。
その場合は、上記のAntigravity用またはプロジェクトローカルの設定を使用してください。
ソースコードから直接実行(開発者向け)
npmパッケージをインストールする必要はありません。リポジトリをクローンして依存関係をインストールするだけで使用できます。
git clone https://github.com/rein1225/RPGMakerMZ_MCP.git
cd RPGMakerMZ_MCP
npm installMCP設定ファイルに以下を追加:
{
"mcpServers": {
"rpg-maker-mz": {
"command": "npx",
"args": ["tsx", "C:/path/to/RPGMakerMZ_MCP/index.ts"],
"cwd": "C:/path/to/RPGMakerMZ_MCP"
}
}
}⚠️ 重要:
C:/path/to/RPGMakerMZ_MCPを実際のプロジェクトパスに置き換えてくださいWindowsでは
C:/のようにスラッシュ(/)を使用し、バックスラッシュ(\)は使用しないでください
npx tsxを使用することで、TypeScriptファイルを直接実行できます(ビルド不要)
cwdプロパティが許可されていない場合: トラブルシューティングのQ1を参照してください
利用可能なツール
Phase 1: プロジェクト分析・データ操作
1. get_project_info - プロジェクト基本情報取得
説明: System.jsonからゲームタイトル、バージョン、通貨単位などの基本情報を取得します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パス
2. list_data_files - データファイル一覧
説明: dataフォルダ内のJSONファイル一覧を取得します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パス
3. read_data_file - データファイル読み込み
説明: 指定したデータファイル(Actors.jsonなど)の内容を読み込みます。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスfilename(必須): ファイル名(例: 'Actors.json')
4. write_data_file - データファイル書き込み
説明: 指定したデータファイルにJSONコンテンツを書き込みます。書き込み前に自動的にバックアップが作成されます。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスfilename(必須): ファイル名content(必須): 書き込むJSON文字列
5. search_events - イベント検索
説明: マップイベントおよびコモンイベント内のテキストやコマンドコードを検索します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスquery(必須): 検索するテキストまたは数値
6. get_event_page - イベントページ取得
説明: 指定したイベントページのコマンドリストを取得します。主要なコマンド(会話、選択肢、スイッチ操作など)には可読性の高い説明が付与されます。これによりAIは既存イベントの内容を理解し、推敲や修正を行うことが可能になります。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスmapId(必須): マップIDeventId(必須): イベントIDpageIndex(必須): ページ番号(0始まり)
Phase 2: アセット管理
7. list_assets - アセット一覧
説明: imgおよびaudioディレクトリ内のファイル一覧を取得します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスassetType(省略可): 'img', 'audio', 'all' (デフォルト: 'all')
8. check_assets_integrity - アセット整合性チェック
説明: イベント内で参照されているアセット(画像、音声など)が実際にプロジェクト内に存在するかチェックします。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パス
Phase 3: プラグイン管理
9. write_plugin_code - プラグイン作成
説明: js/pluginsディレクトリに新しいプラグインファイル(.js)を作成します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスfilename(必須): プラグインファイル名(例: 'MyPlugin.js')code(必須): JavaScriptコード
10. get_plugins_config - プラグイン設定取得
説明: js/plugins.jsから現在のプラグイン設定を読み込みます。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パス
11. update_plugins_config - プラグイン設定更新
説明: js/plugins.jsのプラグイン設定を更新します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスplugins(必須): プラグイン設定オブジェクトの配列
Phase 4: マップ・イベント操作(抽象化レイヤー)
12. add_dialogue - 会話イベント追加
説明: メッセージウィンドウに会話を追加します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスmapId(必須): マップIDeventId(必須): イベントIDpageIndex(必須): ページ番号insertPosition(必須): 挿入位置(-1で末尾)text(必須): 表示テキストface,faceIndex,background,position(省略可)
リクエスト例:
{
"tool": "add_dialogue",
"arguments": {
"projectPath": "C:/Games/MyProject",
"mapId": 1,
"eventId": 1,
"pageIndex": 0,
"insertPosition": -1,
"text": "こんにちは!\n新しい仲間です。"
}
}レスポンス例:
{
"content": [
{
"type": "text",
"text": "会話イベントを追加しました。"
}
]
}13. add_choice - 選択肢の表示
説明: イベントに選択肢を追加します。最大6つの選択肢を設定できます。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスmapId(必須): マップIDeventId(必須): イベントIDpageIndex(必須): ページ番号insertPosition(必須): 挿入位置(-1で末尾)options(必須): 選択肢の文字列配列(最大6個)cancelType(省略可): キャンセル時の動作(-1=キャンセル不可、0-5=選択肢に分岐、デフォルト: -1)
リクエスト例:
{
"tool": "add_choice",
"arguments": {
"projectPath": "C:/Games/MyProject",
"mapId": 1,
"eventId": 1,
"pageIndex": 0,
"insertPosition": -1,
"options": ["はい", "いいえ"],
"cancelType": -1
}
}レスポンス例:
{
"content": [
{
"type": "text",
"text": "選択肢を追加しました。"
}
]
}14. add_loop - ループ追加
説明: イベントコマンドのループ構造(Loop + Repeat Above)を追加します。 パラメータ:
projectPath,mapId,eventId,pageIndex,insertPosition(必須)
15. add_break_loop - ループ中断
説明: ループを中断するコマンドを追加します。 パラメータ:
projectPath,mapId,eventId,pageIndex,insertPosition(必須)
16. add_conditional_branch - 条件分岐追加
説明: 条件分岐(If-Else-End)を追加します。 パラメータ:
projectPath,mapId,eventId,pageIndex,insertPosition(必須)condition(必須): 条件パラメータオブジェクトincludeElse(省略可): Else分岐を含めるか(デフォルト: true)
17. delete_event_command - イベントコマンド削除
説明: 指定したインデックスのイベントコマンドを削除します。 パラメータ:
projectPath,mapId,eventId,pageIndex,commandIndex(必須)
18. update_event_command - イベントコマンド更新
説明: 指定したインデックスのイベントコマンドを新しい内容で上書きします。 パラメータ:
projectPath,mapId,eventId,pageIndex,commandIndex,newCommand(必須)
19. add_actor - アクター追加
説明: データベースに新しいアクターを追加します。 パラメータ:
projectPath,name(必須)classId,initialLevel,maxLevel(省略可)
20. add_item - アイテム追加
説明: データベースに新しいアイテムを追加します。 パラメータ:
projectPath,name(必須)price,consumable,scope,occasion(省略可)
21. add_skill - スキル追加
説明: データベースに新しいスキルを追加します。 パラメータ:
projectPath,name(必須)mpCost,tpCost,scope,occasion(省略可)
22. draw_map_tile - マップタイル描画
説明: マップの指定座標にタイルを配置します。 パラメータ:
projectPath,mapId,x,y,layer,tileId(必須)
23. create_map - 新規マップ作成
説明: 新しいマップを作成します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスmapName(必須): マップ名width(省略可): マップ幅(タイル数、デフォルト: 17)height(省略可): マップ高さ(タイル数、デフォルト: 13)parentMapId(省略可): 親マップID(デフォルト: 0)
24. show_picture - ピクチャの表示
説明: イベントにピクチャ表示コマンドを追加します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスmapId(必須): マップIDeventId(必須): イベントIDpageIndex(必須): ページ番号insertPosition(必須): 挿入位置(-1で末尾)pictureId(必須): ピクチャ番号pictureName(必須): 画像ファイル名x,y(必須): 表示座標origin(省略可): 原点位置(0=左上、1=中央、デフォルト: 0)scaleX,scaleY(省略可): 拡大率(%、デフォルト: 100)opacity(省略可): 不透明度(0-255、デフォルト: 255)blendMode(省略可): 合成モード(0-3、デフォルト: 0)
25. inspect_game_state - ゲーム状態検査
説明: 実行中のゲーム(Puppeteer接続)から変数やスイッチの値を取得します。 セキュリティ: ホワイトリスト方式を採用し、許可されたパターンのみ実行可能です。入力長制限(100文字)とID範囲チェック(1-9999)も実装されています。 許可されたパターン例:
$gameVariables.value(1)- 変数の値を取得$gameSwitches.value(1)- スイッチの値を取得$gameParty.gold()- 所持金を取得$gameMap.mapId()- 現在のマップIDを取得SceneManager._scene- 現在のシーンを取得 パラメータ:script(必須): 評価するJavaScriptコード(ホワイトリストに登録されたパターンのみ)port(省略可): デバッグポート(デフォルト: 9222)
リクエスト例:
{
"tool": "inspect_game_state",
"arguments": {
"script": "$gameVariables.value(1)",
"port": 9222
}
}レスポンス例:
{
"content": [
{
"type": "text",
"text": "100"
}
]
}⚠️ 危険ツール: このツールはJavaScriptコードを実行します。詳細は「危険ツールの封印ガイド」を参照してください。
Phase 5: テスト・自動化
26. run_playtest - テストプレイ実行
説明: Game.exeを起動し、指定時間後にスクリーンショットを撮影します。Game.exeが見つからない場合は、自動的にブラウザベースのテストプレイ(フォールバックモード)が実行されます。Puppeteer接続用のデバッグポートも指定可能です。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスduration(省略可): 撮影までの待機時間(ms)(デフォルト: 5000)autoClose(省略可): trueの場合、撮影後にゲームを自動終了します。(デフォルト: false)debugPort(省略可): リモートデバッグ用ポート(例: 9222)。Puppeteerで接続する場合に使用します。startNewGame(省略可): trueの場合、タイトル画面をスキップしてニューゲームを開始します。(デフォルト: false)postLaunchScript(省略可): ゲーム起動後に実行するJavaScriptコード。デバッグUIの表示やイベントの注入などに使用します。
postLaunchScriptの使用例:
{
"projectPath": "C:/Games/MyProject",
"postLaunchScript": "Input._currentState['debug'] = true; setTimeout(() => { Input._currentState['debug'] = false; }, 100);"
}Phase 6: バックアップ・Undo機能
27. undo_last_change - 直前の変更を元に戻す
説明: 最新のバックアップからファイルを復元します。filenameを指定しない場合、最も最近変更されたファイルを自動的に復元します。
パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスfilename(省略可): 復元するファイル名(例: 'Actors.json')。省略時は最新変更ファイルを自動検出
28. list_backups - バックアップ一覧表示
説明: 指定したファイル、または全ファイルのバックアップ一覧を表示します。 パラメータ:
projectPath(必須): プロジェクトフォルダの絶対パスfilename(省略可): バックアップを表示するファイル名。省略時は全ファイルのバックアップを表示
バックアップ機能について:
すべてのファイル書き込み操作(
write_data_file、add_actor、add_item、add_skill、write_plugin_code、update_plugins_config、マップ操作など)で自動的にバックアップが作成されますバックアップファイルは
.{timestamp}.bak形式で保存されます古いバックアップは自動的にクリーンアップされます(最新5件を保持)
エラー発生時は自動的にロールバックされます
Puppeteerによる高度な自動テスト
run_playtestでdebugPortを指定することで、Puppeteerを使用してゲームのUI操作やシナリオテストを自動化できます。
詳細なAPI仕様は docs/API_REFERENCE.md を参照してください。
E2Eテストの実行方法
自動化シナリオ (automation/test_*.js) は本番ゲーム環境を前提とした手動実行専用のテストです。CI では実行されません。
# 代表的なシナリオをまとめて走らせる
npm run test:e2e
# もしくは個別に実行
node automation/test_full_suite.js
node automation/test_add_dialogue.js⚠️ ブラウザ操作やGame.exe起動を伴うため、信頼できるローカル環境のみで実行してください。
MCP Resources
mz://docs/event_commands - イベントコマンドリファレンス
AIがMZのイベントコマンド仕様を参照するためのリソースです。
実用例
例1: 新規アクター作成と会話イベント追加
// 1. アクター作成
add_actor({ projectPath, name: "新キャラ" });
// 2. 会話追加
add_dialogue({ projectPath, mapId: 1, eventId: 1, pageIndex: 0, insertPosition: -1, text: "こんにちは!\n新しい仲間です。" });例2: イベント検索
search_events({ projectPath: "c:/path/to/project", query: "ポーション" });トラブルシューティング
Q1: MCP設定でエラー「invalid character '-' after array element」または「プロパティ cwd は許可されていません」
✅ v0.1.2で修正: stdoutへのログ出力をstderrに変更したため、MCPサーバー側が原因の
invalid character '-' after array elementエラーは解決されました。
このエラーが発生する場合は、v0.1.2以降のバージョンを使用してください:npm install -g @rein634/rpg-maker-mz-mcp@latest
原因:
MCPサーバー側の問題(v0.1.1以前): ログがstdoutに出力されていたため、JSON-RPCプロトコルが壊れていた
JSON構文エラー(コメント、末尾カンマなど)
使用しているMCPクライアントが
cwdプロパティをサポートしていない
解決策:
ステップ1: JSON構文を確認
コメントを削除: JSONはコメント(
//や#)をサポートしていません末尾カンマを削除: 配列やオブジェクトの最後の要素の後にカンマがあってはいけません
オンラインバリデーターで確認: JSONLint で構文を検証してください
ステップ2: 正しい設定例を確認
Google Antigravity の場合(推奨):
{
"mcpServers": {
"rpg-maker-mz": {
"command": "npx",
"args": ["-y", "@rein634/rpg-maker-mz-mcp"]
}
}
}✅ この方法の利点:
npm installすら不要(npxが自動的にパッケージを取得)CWDに依存しないため、
.gemini/antigravityからでも動作どのユーザー環境でも同じ設定で動作
プロジェクトローカル(Cursor / Claude Code など)の場合:
プロジェクトルートで:
npm install -D @rein634/rpg-maker-mz-mcp設定ファイル(プロジェクトルートに配置):
{
"mcpServers": {
"rpg-maker-mz": {
"command": "node",
"args": ["./node_modules/@rein634/rpg-maker-mz-mcp/dist/index.js"]
}
}
}✅ この方法の利点:
グローバルPATHやラッパースクリプトに依存しない
Windows / Mac / Linux 共通で動作
ワークスペースの相対パスを使用するため、プロジェクトルートに設定ファイルを置くクライアントで扱いやすい
オプション: グローバルインストール(一部の環境で問題が発生する可能性あり)
npm install -g @rein634/rpg-maker-mz-mcp{
"mcpServers": {
"rpg-maker-mz": {
"command": "rpg-maker-mz-mcp"
}
}
}⚠️ 注意: Windows環境などでは、グローバルのラッパースクリプトが正しく起動されず、
Error: calling "initialize": EOFが出ることがあります。その場合は、上記のAntigravity用またはプロジェクトローカルの設定を使用してください。
よくある間違い:
❌ コメントを使用:
// これはコメント→ JSONはコメント非対応❌ 末尾カンマ:
"args": ["tsx", "index.ts",]→ 最後のカンマは不可❌ シングルクォート:
'path'→ JSONはダブルクォートのみ❌ バックスラッシュ:
C:\path\to\file→ スラッシュ(/)を使用
ステップ3: 設定ファイルの場所を確認
Antigravity:
%APPDATA%\Antigravity\mcp_config.json(Windows)Claude Desktop:
%APPDATA%\Claude\claude_desktop_config.json(Windows)設定ファイルのパスは使用しているMCPクライアントによって異なります
ステップ4: デバッグ方法
設定ファイルをテキストエディタで開く
JSONLint にコピー&ペーストして検証
エラーメッセージの行番号を確認して該当箇所を修正
修正後、MCPクライアントを再起動
Q2: スイッチが見つからないエラー
解決策: 自動登録機能が動作します。System.jsonの書き込み権限を確認してください。
Q3: エディタとの競合
解決策: MCP編集中はエディタを閉じるか、編集後にプロジェクトを開き直してください。
Q4: Game.exeが見つからない
解決策: デプロイメント機能でテストプレイ用パッケージを作成するか、Game.exeを手動配置してください。 なお、v1.2.0以降ではGame.exeがない場合でもブラウザ経由でテストプレイが実行されるようになりました。
Q5: npmパッケージが見つからない
解決策:
グローバルインストール:
npm install -g @rein634/rpg-maker-mz-mcpパスが通っているか確認:
which rpg-maker-mz-mcp(Linux/Mac)またはwhere rpg-maker-mz-mcp(Windows)ソースコードから直接実行する場合は、
npx tsxを使用してください
技術仕様
アーキテクチャ
[AI] ← → [MCP Server] ← → [RPG Maker MZ Project]
├─ Tools (28個)
├─ Resources (1個)
├─ Schemas (Zod Validation)
└─ Backup System (自動バックアップ・ロールバック)テストカバレッジ
ユニットテスト: Vitestを使用
カバレッジレポート:
npm run test:coverageで生成CI/CD: GitHub Actionsで自動テスト実行、Codecovでカバレッジ追跡
npm公開
本パッケージはnpmで公開されています:
npm install -g @rein634/rpg-maker-mz-mcpパッケージ情報: https://www.npmjs.com/package/@rein634/rpg-maker-mz-mcp
ファイル構成
RPGツクールMZ_MCP/
├── index.ts # MCPサーバー本体(TypeScript)
├── handlers/ # ハンドラ層(TypeScript化済み)
│ ├── project.ts
│ ├── database.ts
│ ├── plugins.ts
│ ├── map.ts
│ ├── events.ts
│ └── playtest.ts
├── utils/ # ユーティリティ層(TypeScript化済み)
│ ├── validation.ts
│ ├── mapHelpers.ts
│ └── ...
├── types/ # 型定義ファイル
├── resources/
│ └── event_commands.json # イベントコマンドリファレンス
├── schemas/
│ └── mz_structures.js # Zod検証スキーマ
├── automation/ # 自動化スクリプト
└── package.jsonセキュリティ上の注意
本MCPサーバーは、ローカル開発環境での使用を想定しています。
実装済みのセキュリティ対策
inspect_game_state: ホワイトリスト方式を採用し、許可されたパターンのみ実行可能。入力長制限(100文字)とID範囲チェック(1-9999)も実装。パストラバーサル対策:
path.normalize()とfs.realpath()を使用してシンボリックリンク攻撃を防止。ファイル名検証: プラグイン書き込み時は英数字・アンダースコア・ハイフンのみ許可。
自動バックアップ: すべてのファイル書き込み操作で自動バックアップを作成し、エラー時に自動ロールバック。
推奨事項
外部に公開された環境では使用しないでください。
信頼できるローカル環境でのみ使用してください。
重要な変更前には手動でバックアップを取ることを推奨します。
ライセンス
MIT License
典型ユースケース
シナリオ1: 既存プロジェクトにサブクエストを追加
目標: 既存の村マップに3つのサブクエストイベントを追加する
手順:
プロジェクト解析:
get_project_infoでプロジェクト情報を取得イベント検索:
search_eventsで既存のイベントを確認イベントページ取得:
get_event_pageで既存イベントの構造を理解会話追加:
add_dialogueでNPCとの会話を追加選択肢追加:
add_choiceでクエストの選択肢を追加条件分岐:
add_conditional_branchでクエスト完了条件を設定テストプレイ:
run_playtestで動作確認
AIへの指示例:
このプロジェクトを解析して、マップ1の村に3つのサブクエストを追加してください。
各クエストには会話、選択肢、完了条件を含めてください。シナリオ2: 新規マップ作成からイベント配置まで
目標: 新しいダンジョンマップを作成し、宝箱イベントを配置する
手順:
マップ作成:
create_mapで新しいマップを作成タイル配置:
draw_map_tileでマップを描画イベント作成:
add_dialogueで宝箱のメッセージを追加アイテム追加:
add_itemで報酬アイテムを作成イベント連携: 条件分岐でアイテム付与を設定
テスト:
run_playtestで動作確認
AIへの指示例:
新しいダンジョンマップを作成して、宝箱イベントを3つ配置してください。
各宝箱には異なるアイテムが入るようにしてください。シナリオ3: プラグイン追加と設定
目標: カスタムプラグインを追加し、設定を更新する
手順:
プラグイン作成:
write_plugin_codeでプラグインコードを追加設定取得:
get_plugins_configで現在の設定を確認設定更新:
update_plugins_configでプラグインを有効化テスト:
run_playtestでプラグインの動作確認
AIへの指示例:
カスタムバトルプラグインを作成して、有効化してください。危険ツールの封印ガイド
危険ツール一覧
以下のツールは、セキュリティ上の理由から慎重に使用する必要があります:
inspect_game_state: JavaScriptコードを実行します(ホワイトリスト方式で保護されていますが、実行時エラーが発生する可能性があります)
推奨設定
初期状態では無効化することを推奨します。MCPクライアントの設定で、特定のツールを無効化できます:
{
"mcpServers": {
"rpg-maker-mz": {
"command": "rpg-maker-mz-mcp",
"disabledTools": ["inspect_game_state"]
}
}
}⚠️ 注意: 現在のMCPクライアントによっては、
disabledToolsプロパティがサポートされていない場合があります。その場合は、ツールの使用を避けるか、信頼できる環境でのみ使用してください。
セキュリティ対策
inspect_game_stateツールは以下のセキュリティ対策を実装しています:
✅ ホワイトリスト方式: 許可されたパターンのみ実行可能
✅ 入力長制限: 100文字まで
✅ ID範囲チェック: 1-9999の範囲のみ許可
✅ パストラバーサル対策: 不正なパスアクセスを防止
それでも、信頼できないコードの実行は避けてください。
更新履歴
v0.1.2 (2025-11-29)
重要修正: stdoutへのログ出力をstderrに変更(MCPプロトコル準拠)
invalid character '-' after array elementエラーを解決Logger.info()がconsole.error()を使用するように変更
テストを更新(console.logスパイをconsole.errorに変更)
v0.1.1 (2025-11-29)
logger.jsがビルドに含まれるようにtsconfig.build.jsonを修正
npm公開準備完了(@rein634/rpg-maker-mz-mcp)
v0.1.0 (2025-11-29)
npm公開初回リリース
TypeScript移行完了: 全handlers層とエントリーポイントをTypeScript化
CI/CD統合: GitHub Actionsに型チェックを追加
undo_last_changeツール、list_backupsツールの実装
テストカバレッジ改善(undo.ts、backup.tsのテスト追加)
playtest.tsのリファクタリング(527行→311行、約41%削減)
README改善(TL;DR追加、リクエスト例追加、ユースケース追加)
セキュリティ強化: パストラバーサル対策、任意コード実行の警告追加
新ツール追加:
add_choice,create_map,show_picture,check_assets_integrityユニットテスト導入 (Vitest)
ロガーユーティリティ追加
run_playtestにブラウザベースのフォールバック機能を追加(Game.exe不要)MCP Resources実装
Zod Validation実装
追加機能ロードマップ
以下の機能は別途仕様を策定し、順次実装予定です。詳細は docs/feature-roadmap.md を参照してください。
優先度 | 機能 | ステータス |
|
| ✅ 実装済み |
中 |
| 📋 計画中 |
中 | バッチ処理(複数コマンドを単一リクエストで実行) | 📋 計画中 |
低 | WebSocket通知(リアルタイムログ / 状態通知) | 📋 計画中 |
開発・貢献
テストの実行
# ユニットテスト
npm test
# カバレッジレポート生成
npm run test:coverage
# 型チェック
npm run typecheck
# E2Eテスト(手動実行)
npm run test:e2eビルド
# 全ファイルをビルド(dist/に出力)
npm run build
# 公開前の確認
npm pack --dry-runコントリビューション
プルリクエストを歓迎します!以下の点にご注意ください:
コードスタイル: TypeScriptのstrictモードに準拠
テスト: 新機能にはテストを追加してください
セキュリティ: ファイル操作やコード実行には適切な検証を実装してください
Available Tools
28 toolsadd_actorD
Add a new actor to the database
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| classId | No | ||
| maxLevel | No | ||
| projectPath | Yes | ||
| initialLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure. It only says 'Add', implying mutation, but gives no details about side effects, required permissions, or what happens if the actor already exists. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (8 words), which is concise, but it sacrifices informativeness. It is adequately front-loaded but lacks substance to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It fails to clarify the role of each parameter, the behavior on conflict, or the result of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no parameter explanations. The description does not compensate by explaining what 'name', 'projectPath', 'classId', 'maxLevel', or 'initialLevel' mean or how they affect the created actor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Add' and the resource 'actor', but it lacks specificity to distinguish from sibling tools like add_item or add_skill. It does not clarify what an 'actor' is in this context or how it differs from other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., add_skill or add_choice). There are no hints about prerequisites, constraints, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_break_loopC
Add a break loop command to an event
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| pageIndex | Yes | ||
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to disclose any behavioral traits, such as whether the operation is destructive, requires special permissions, or has side effects. The description is too minimal to inform the agent about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but sacrifices essential detail. It is not front-loaded with critical info; it is merely a restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 required parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain what a 'break loop command' is, how to construct parameters, or what happens after addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the parameter names. All 5 parameters are left unexplained, despite 0% schema description coverage. The agent has no clue what 'projectPath', 'mapId', 'eventId', 'pageIndex', or 'insertPosition' mean in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and the resource ('break loop command'), and implies it modifies an event. However, it does not differentiate from similar sibling tools like 'add_loop', which could be confused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'add_loop' or other event editing tools). No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_choiceC
Add a choice selection to an event
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| options | Yes | Choice options | |
| pageIndex | Yes | ||
| cancelType | No | Cancel behavior: -1=disallow, 0-n=branch to option | |
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only repeats the action without mentioning side effects, permissions, or destructive potential.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action, no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description is severely under-specified; it does not explain how the choice integrates into an event or what the result is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29% and the description does not add any semantic meaning to the parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and the resource 'a choice selection to an event', distinguishing it from sibling tools like add_dialogue or add_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_conditional_branchC
Add a conditional branch to an event
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| condition | Yes | ||
| pageIndex | Yes | ||
| includeElse | No | ||
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only says 'Add a conditional branch to an event', which is insufficient. It does not mention side effects (e.g., modification of event structure), required permissions, reversible nature, or how existing branches are affected. This lack of transparency could lead to incorrect usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words, achieving conciseness. However, it is under-specified and lacks structure (e.g., sections for usage, examples). While brief, it omits critical information, so it scores at the midpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity—7 parameters including a nested condition object, and no output schema—the description is grossly incomplete. It fails to explain the function's purpose in the broader event system, how to construct the condition, or what the result looks like. Sibling tools are numerous, and this description does not help the agent choose correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning the tool description adds no meaning to parameters. The condition object has descriptions for its subfields, but top-level parameters like mapId, eventId, projectPath, etc., are undocumented. The description does not explain parameter roles or relationships, forcing the agent to rely solely on names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Add a conditional branch to an event'. It uses a specific verb and identifies the resource, making the purpose understandable. However, it does not differentiate from sibling tools like add_choice or add_loop, which also add elements to events, missing a chance to clarify its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to add a conditional branch instead of a choice or loop. There are no prerequisites, context hints, or exclusion criteria, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_dialogueC
Add dialogue text to an event
| Name | Required | Description | Default |
|---|---|---|---|
| face | No | ||
| text | Yes | ||
| mapId | Yes | ||
| eventId | Yes | ||
| position | No | ||
| faceIndex | No | ||
| pageIndex | Yes | ||
| background | No | ||
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects, prerequisites (e.g., event must exist), or return value. The agent lacks insight into what the tool does beyond basic insertion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks necessary detail. It earns its place by being short, but under-specification harms usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, 6 required, no output schema, and no annotations, the description is grossly incomplete. An agent cannot determine how to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about any of the 10 parameters. Their purpose must be inferred solely from names, which is insufficient for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add dialogue text to an event', specifying the verb (add), resource (dialogue text), and target (event). This distinguishes it from sibling tools like add_choice or add_actor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for adding dialogue to events but provides no guidance on when to use this tool versus alternatives (e.g., add_choice, add_conditional_branch). No explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_itemC
Add a new item to the database
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| price | No | ||
| scope | No | ||
| occasion | No | ||
| consumable | No | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits, but only says 'adds'. It does not mention side effects, permission requirements, or return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but it is under-specified rather than concise. Important details are missing, so brevity is not helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no annotations, and no output schema, the description is severely incomplete. It does not provide enough context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for 6 parameters. The description adds no information about any parameter, leaving the agent with no semantic help beyond type and required status.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description briefly states it adds an item to a database, but lacks specificity about the type of item or the context. It does not differentiate from sibling tools like add_actor or add_skill, leaving purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its many sibling 'add_' tools. The agent is left without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_loopC
Add a loop structure to an event
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| pageIndex | Yes | ||
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description only restates the tool's name without disclosing side effects, permissions, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified, failing to provide useful content despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 required parameters, no annotations, and no output schema, the description is severely incomplete and does not help an agent understand input or output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no information about the 5 parameters, leaving their meanings entirely unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'add' and resource 'loop structure to an event', but it is vague and does not differentiate from sibling tools like add_conditional_branch or add_dialogue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_skillC
Add a new skill to the database
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scope | No | ||
| mpCost | No | ||
| tpCost | No | ||
| occasion | No | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the full burden is on the description. It only implies creation, but fails to disclose any side effects, authorization needs, or limitations (e.g., duplicate handling, required project state).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is brief but lacks informative content. It is under-specified rather than concise, as it does not earn its place by adding non-trivial guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to cover parameter usage, behavior, or return values, making it insufficient for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no explanation for any of the 6 parameters. Parameters like 'scope', 'occasion', and cost fields remain completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a new skill to the database', which specifies the verb (Add), resource (skill), and location (database). This distinguishes it from tools like add_actor or add_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Lacks context about prerequisites, constraints, or scenarios where adding a skill is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_assets_integrityC
Check for missing assets and orphaned files
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states a read-only check but does not describe return format, side effects, or whether it modifies state. This is insufficient for understanding behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but brevity sacrifices clarity. It is not verbose, but lacks structure and key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description should at least hint at the result (e.g., returns a report). It does not, making it incomplete for an agent to anticipate the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'projectPath' parameter at all. No additional meaning beyond the type string is provided, leaving the agent to guess its role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Check' and specifies 'missing assets and orphaned files', clearly indicating the tool's purpose. It distinguishes from sibling tools like 'list_assets' by focusing on integrity validation rather than listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or situations to avoid, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_mapC
Create a new map in the project
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No | ||
| mapName | Yes | ||
| tilesetId | No | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states the operation is a create, but omits side effects, requirements (e.g., project state), or consequences. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it sacrifices completeness. It is not wasteful, but for a tool with 5 parameters, the conciseness results in under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, 0% schema documentation) and no output schema, the description is woefully incomplete. It does not explain defaults, required fields, or the outcome, leaving the agent ill-equipped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about parameters like width, height, mapName, tilesetId, or projectPath. The agent gets no semantic guidance beyond property types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create' and the resource 'map' with context 'in the project', leaving no ambiguity about the tool's function. It distinguishes itself from siblings as a unique creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool or any prerequisites (e.g., project must exist). There are no sibling tools with overlapping functionality, so confusion is minimal, but explicit usage context is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_event_commandB
Delete an event command at specified index
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| pageIndex | Yes | ||
| projectPath | Yes | ||
| commandIndex | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description only states the action but does not disclose potential side effects (permanent deletion), required permissions, error handling, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the purpose without any extraneous words. It is perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 required parameters with zero descriptions, no output schema, and no annotations, the tool description is severely incomplete. It fails to provide sufficient context for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 5 parameters. The description only mentions 'specified index' (implied commandIndex) but provides no explanation for projectPath, mapId, eventId, pageIndex. It adds no meaningful value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and description clearly state the action (delete) and resource (event command) with a specific scope (at specified index). It distinguishes from siblings like update_event_command and add_dialogue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when needing to delete a command, but lacks explicit guidance on prerequisites (e.g., event must exist) or when not to use it. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draw_map_tileC
Draw a tile on the map
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| layer | Yes | 0-3: Map Layers, 4: Shadow, 5: Region | |
| mapId | Yes | ||
| tileId | Yes | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description lacks any disclosure of side effects (e.g., overwrites existing tiles), permissions needed, or operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence but is under-specified, omitting necessary detail. It does not earn its place as it provides little beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 required parameters and no output schema, the description is severely incomplete. It does not mention return values (likely void), dependencies, or constraints like coordinate bounds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (only 'layer' described). The description 'Draw a tile on the map' adds no meaning to the 6 parameters; it fails to explain their roles or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Draw a tile on the map' clearly states the action (draw) and resource (tile on map). It distinguishes from siblings like 'create_map' or 'add_actor' but does not elaborate on what 'draw' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., for map editing). It does not mention prerequisites or context such as needing an existing map or tileset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_pageC
Get event page commands with readable annotations
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| pageIndex | Yes | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must cover behavioral traits. It mentions 'readable annotations' but does not disclose any side effects, authentication requirements, rate limits, or data mutation. The tool's read-only nature can be inferred but is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise. However, it sacrifices clarity and completeness for brevity, leaving important details unspecified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four required parameters, no output schema, and no annotations, the description is insufficient. It fails to explain the return format, pagination behavior, or what 'readable annotations' means, making it inadequate for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description does not elaborate on any of the four required parameters (projectPath, mapId, eventId, pageIndex). The parameter names are somewhat self-explanatory, but the description adds no additional meaning or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves event page commands with readable annotations, using a specific verb 'Get' and resource 'event page commands'. It distinguishes from sibling tools like 'search_events' by focusing on a single event's page, though the term 'event page' is somewhat ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'search_events' or 'list_events'. The description lacks any indication of context or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plugins_configA
Read current plugins configuration from js/plugins.js
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description minimalistically conveys a read-only operation. However, it does not disclose behavioral details such as error handling, output format, or side effects, leaving gaps for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is front-loaded and contains no redundant words. It efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the basic purpose but lacks details on return value, parameter constraints, or potential issues, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'projectPath' has 0% schema description coverage, and the description fails to explain its role or acceptable values. The mention of 'js/plugins.js' hints at context but doesn't clarify the parameter's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read', the resource 'plugins configuration', and the source file 'js/plugins.js'. It distinguishes itself from the sibling tool 'update_plugins_config' which implies writing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage for reading plugins config versus updating, but provides no explicit guidance on when to use this tool over alternatives like 'read_data_file' or context for selecting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoC
Get basic information about the RPG Maker MZ project from System.json
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Absolute path to the RPG Maker MZ project folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states the tool 'gets basic information' but does not clarify read-only nature, error cases (e.g., invalid path), or the exact structure of returned data. This leaves the agent with insufficient context for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description fits in a single sentence with no redundancy. It front-loads the action and resource. However, it sacrifices completeness for brevity, which slightly reduces the score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should hint at what 'basic information' entails. It does not mention return format, fields, or size. For a tool that reads a file, this omission is significant, especially given the simplicity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides a clear description for the single parameter (projectPath). Schema coverage is 100%, so the description adds no extra meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves basic information from System.json for an RPG Maker MZ project. The tool name and description together indicate the resource, though 'basic information' is vague. It is distinct from siblings like get_event_page or get_plugins_config which target specific subsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not specify prerequisites, such as requiring a valid project path, nor does it mention when to opt for other tools like read_data_file or list_data_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_game_stateA
Inspect game variables and switches via Puppeteer. Requires game running with --remote-debugging-port.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Remote debugging port | |
| script | Yes | JavaScript code to evaluate (e.g. '$gameVariables.value(1)') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. 'Inspect' implies read-only, but it fails to explicitly state non-destructiveness, error handling, or output format. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no redundancy. Efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations. The description omits return value behavior, which is critical for a tool that evaluates JavaScript. Lacks details on how the Puppeteer connection operates or what errors may occur.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond the schema descriptions. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Inspect game variables and switches', providing a specific verb+resource. It distinguishes from sibling tools like add_actor or create_map.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a prerequisite ('game running with --remote-debugging-port'), offering clear context when to use. However, it does not mention when not to use or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_assetsB
List assets in img and audio directories
| Name | Required | Description | Default |
|---|---|---|---|
| assetType | No | all | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions listing assets in specific directories but does not disclose if the operation is read-only, safe, or requires any special permissions. The behavioral traits beyond the basic action are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the action and scope. It is front-loaded with the verb and resource, and every word is necessary. There is no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should provide more context. It does not specify the output format (e.g., list of file names, paths), whether it is recursive, or how errors are handled. For a list tool, this missing information hinders proper usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter schema has 0% description coverage. However, the description mentions 'img and audio directories', which partially explains the 'assetType' parameter (values img and audio). The 'projectPath' parameter is not explained at all. The description adds some meaning beyond the schema but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'assets in img and audio directories', making the purpose immediately clear. It also distinguishes from sibling tools like 'check_assets_integrity' which performs a different action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For instance, it does not explain when to use 'list_assets' compared to 'check_assets_integrity' or other file-related tools. The description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backupsA
List available backup files for a specific file or all files in the data directory.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Optional: specific JSON file to list backups for. If omitted, lists backups for all files. | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. The description indicates a read-only listing but does not disclose any potential side effects, authorization requirements, or other behavioral traits beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's purpose with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple listing tool with two parameters and no output schema. It covers the basic functionality but could be enhanced by explaining what 'available' means or the format of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 2 parameters with 50% coverage (only 'filename' has a description). The description clarifies the role of 'filename' (optional, specific file) but does not add meaning for the required 'projectPath' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (backup files), and scope (for a specific file or all files). It is specific and distinct from sibling tools like list_assets and list_data_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (when you need to view backups) but does not provide explicit guidance on when to use or avoid this tool, nor does it mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_data_filesB
List all JSON data files in the project's data directory
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states it lists files but does not disclose if recursive, filters, error behavior, or that it is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, but could benefit from a brief usage note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description is adequate for basic understanding but lacks output schema and details on edge cases (e.g., empty directory, invalid path).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description does not explain the 'projectPath' parameter beyond the generic schema name. No format, examples, or constraints given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'JSON data files in the project's data directory'. It distinguishes from siblings like 'list_assets' (which may list non-JSON files) and 'read_data_file' (which reads content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus alternatives like 'list_assets' or 'read_data_file'. No when-not-to-use or contextual hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_data_fileC
Read a specific data file from the data directory
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Name of the JSON file to read (e.g., 'Actors.json') | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It does not mention what happens if the file is missing, permissions required, or whether the operation is idempotent. It only states it reads, which is implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant wording. However, its brevity sacrifices completeness, so it cannot score a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no output schema, and no annotations, the description is too sparse. It does not explain return values, error handling, path conventions, or relationships to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% because 'projectPath' lacks a description. The description only mentions 'filename' with an example, leaving 'projectPath' unexplained. It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Read a specific data file from the data directory' using a specific verb ('Read') and resource ('data file'). It clearly distinguishes from sibling tools like 'list_data_files' and 'write_data_file' by focusing on reading a single file rather than listing or writing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, mention prerequisites, or specify when not to use it. The agent receives no contextual hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_playtestB
Run a playtest of the game. Launches Game.exe if available, otherwise uses browser-based fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | Time to wait before screenshot (ms) | |
| autoClose | No | Automatically close game after screenshot | |
| debugPort | No | Remote debugging port for Puppeteer | |
| projectPath | Yes | ||
| startNewGame | No | Skip title and start new game | |
| postLaunchScript | No | JavaScript code to execute after game launch (e.g. input injection) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses two execution paths (exe vs browser) but lacks details on side effects such as state changes, required permissions, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler, directly states the action and key behavioral distinction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description is too brief. It doesn't explain return behavior, output format, or important constraints like required environment setup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already explains most parameters. The description adds no extra meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs a playtest and specifies two execution modes (Game.exe or browser). This distinguishes it from sibling tools like check_assets_integrity or list_assets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, no prerequisites mentioned (e.g., game must be compiled), and no explanation of the browser fallback condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsB
Search for text or command codes in map and common events
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (text or command code) | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not state whether the tool is read-only, if it modifies events, or what permissions are required. This lack of transparency could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it sacrifices necessary details for brevity, such as missing parameter explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the tool returns (e.g., list of event names or IDs). It does not. The tool's two parameters are only partially described, and the overall context for search usage is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: only 'query' has a description, while 'projectPath' is left undocumented. The description adds no additional meaning beyond the schema for 'query' and fails to explain 'projectPath'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resources 'text or command codes in map and common events'. No sibling tools have a search function, so it effectively distinguishes itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding text or command codes within events, but does not provide explicit guidance on when to use this tool versus alternatives like get_event_page. No exclusions or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_pictureD
Show a picture in an event
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| mapId | Yes | ||
| origin | No | 0: Upper Left, 1: Center | |
| eventId | Yes | ||
| pageIndex | Yes | ||
| pictureId | No | ||
| pictureName | Yes | ||
| projectPath | Yes | ||
| insertPosition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a 5-word description, the tool's behavioral traits are entirely undisclosed. There is no mention of side effects, permissions, state changes, or output. The description does not add any value beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but at the cost of clarity. It provides no structure or helpful detail, making it underspecified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 parameters, 6 required) and the absence of annotations and output schema, the description is completely inadequate. An AI agent cannot determine correct invocation or parameter roles from this minimal text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 10% (just one parameter has a brief description). The description adds no explanation for the 10 parameters, including 6 required ones. It fails to clarify how parameters like projectPath, mapId, eventId, and pageIndex relate to showing a picture.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Show a picture in an event' is vague. It identifies a verb and resource but does not clarify whether this tool displays a picture during gameplay, inserts a command into an event, or previews an asset. Among 27 siblings like add_choice and draw_map_tile, it fails to distinguish its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for event commands, there is no indication of prerequisites, context, or when to choose show_picture over add_item or update_event_command.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undo_last_changeB
Restore a file from its latest backup. If filename is not specified, restores the most recently modified file.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Optional: specific JSON file to restore (e.g., 'Actors.json'). If omitted, restores the most recently modified file. | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It discloses that restoring from latest backup and default to most recently modified file if filename omitted. However, it omits side effects like overwriting the current file, whether a new backup is created, or any permission requirements. Partial but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise, front-loaded sentences with no redundant information. Every word serves a purpose, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is nearly adequate but lacks explanation of the restoration process (e.g., overwrites file, creates backup?) and the role of projectPath. More context would improve safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%; the description adds meaning to filename by stating it's optional and providing an example and default behavior. The projectPath parameter is undocumented in both schema and description, leaving its role unclear. The added value for filename is decent but incomplete overall.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restores a file from its latest backup, using the verb 'Restore' and resource 'file from latest backup'. It differentiates from siblings like list_backups (which lists backups) and write_data_file (which writes data). However, it could be more explicit about the restoration scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_backups to check backups or read_data_file to inspect current file. The description does not mention prerequisites, scenarios, or exclusions, leaving the agent without context for appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_event_commandC
Update an event command at specified index
| Name | Required | Description | Default |
|---|---|---|---|
| mapId | Yes | ||
| eventId | Yes | ||
| pageIndex | Yes | ||
| newCommand | Yes | ||
| projectPath | Yes | ||
| commandIndex | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'update' without disclosing behavioral traits such as whether it replaces the entire command, what happens on invalid index, or required permissions. With no annotations, the description carries full burden but fails to provide sufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, but it omits critical details that would earn its length. It could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 required params, nested objects) and lack of output schema, annotations, or param descriptions, the description is severely incomplete. It fails to provide enough context for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage with 6 required parameters, and the description adds no meaning beyond their names. 'newCommand' is an object with no structure provided, leaving the agent unsure of its expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action (update), resource (event command), and location (at specified index). It effectively distinguishes from sibling tools like delete_event_command, though it could be more precise about the context within an event's page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., delete_event_command, add_dialogue). No mention of prerequisites or context for using the index parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_plugins_configC
Update plugins configuration in js/plugins.js
| Name | Required | Description | Default |
|---|---|---|---|
| plugins | Yes | Array of plugin configuration objects | |
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits like whether it overwrites the file entirely, if it is destructive, or any side effects. The impact of updating plugins is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no fluff, but it is overly minimal. It lacks structure or additional context that could be added without increasing length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a mutation tool with no output schema. It does not specify whether existing plugins are replaced or merged, nor does it mention return values or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds no extra meaning to parameters. It does not explain the 'status' field (e.g., true for enabled) or that 'description' is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'plugins configuration' with the specific file 'js/plugins.js'. This distinguishes it well from siblings like get_plugins_config (retrieve) and write_plugin_code (write code).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, such as requiring an existing project or the file already present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_data_fileC
Write to a data file in the data directory
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | JSON string content to write | |
| filename | Yes | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must disclose behavioral traits. It only states 'Write' without specifying overwrite vs append, permissions, or error handling. The schema implies content is JSON, but description omits this detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no unnecessary words. Front-loads the action and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter write operation with no output schema, the description lacks critical context: file format, whether files are created or overwritten, data directory structure, and potential constraints. Inadequate for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one of three parameters (content) has a schema description, and the tool description adds no additional information about any parameter. The meaning of filename and projectPath is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the action (write) and resource (data file) with a location qualifier ('in the data directory'). It distinguishes from sibling tools like read_data_file, though it could explicitly mention that usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool vs alternatives like read_data_file or write_plugin_code. No when-not-to-use or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_plugin_codeC
Write a plugin file to js/plugins directory
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| filename | Yes | ||
| projectPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose write behavior (e.g., overwrite vs append, directory creation), but it only says 'write a plugin file', omitting key details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise but lacks structure and omits crucial information; conciseness does not compensate for missing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 required params, no output schema, and no annotations, the description is completely inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and the description does not explain any parameter (code, filename, projectPath), leaving the agent without meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Write'), the resource ('plugin file'), and the target directory ('js/plugins directory'), distinguishing it from sibling tools like write_data_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of side effects like overwriting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct operation: adding database entries, event commands, map tiles, asset checks, etc. No significant overlap exists.
Tool names consistently use snake_case with a verb_noun pattern (e.g., add_actor, list_assets, update_event_command). Exceptions like undo_last_change are minor.
28 tools cover a broad domain (database, events, maps, assets, plugins). While a bit high, each tool serves a distinct purpose and the scope justifies the count.
The set covers many areas but lacks update/delete for actors/items/skills and many common event commands (e.g., variable operations). Significant gaps exist for full game creation.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Discover AI tools for game development — 100+ tools indexed by engine, task, and pricing.
Generate game assets with AI for 2D games, including sprites, tilesets, and animations.
Give your AI agents the tools to build, manage, and run automation workflows.
Generate game assets with AI: sprites, 3D models, animations, sound effects, music, and voices.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceEnables complete RPG Maker MZ game development through MCP tools, including autonomous game creation from concepts, AI-generated assets using Gemini 2.5 Flash, and programmatic control over maps, events, characters, and databases. Supports full game creation workflow from a single command with automatic story, asset, and implementation generation.3225
- AlicenseBqualityDmaintenanceEnables AI agents to directly manipulate RPG Maker MZ projects through natural language commands, allowing creation and modification of game assets like items, weapons, enemies, maps, and plugins without manually editing game files.361572MIT
- AlicenseAqualityDmaintenanceEnables creating RPG Maker MZ games using natural language through AI assistance, with tools for project management, map creation, event systems, and batch operations.101571MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to act as co-developers for RPG Maker MV projects, providing full database CRUD, map and event editing, plugin management, playtest control, and automatic backups.4169MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rein1225/RPGMakerMZ_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server