カスタム MCP ツール
定義済みの MCP ツールに加えて、独自のツールを作成し、YouTrack のユーザーが AI クライアントから YouTrack MCP サーバーに接続するときにそのツールにアクセスできるようにすることができます。
YouTrack にカスタム MCP ツールを追加するには、カスタムアプリパッケージに追加してください。そうすることで、YouTrack ユーザーは AI クライアントを操作する際にそのツールを活用できるようになります。カスタムアプリの作成方法については、アプリクイックスタートガイドを参照してください。
すべての MCP ツールは、YouTrack ワークフロー API を使用して JavaScript で記述されたスクリプトです。このスクリプトは、専用の aiTool ルールタイプを実装する必要があります。
カスタム MCP ツールを作成する
セキュリティ上の理由から、すべての定義済み MCP ツールは読み取り専用です。定義済み MCP ツールを変更または更新する場合は、対応するスクリプトをカスタムアプリパッケージのモジュールとしてコピーし、変更を加えることができます。
カスタム MCP ツールを作成するには:
アプリパッケージを作成します。詳細については、「アプリパッケージの作成」を参照してください。
アプリパッケージで、JavaScript モジュールを作成します。
カスタム MCP ツールの形式に従ってロジックを実装します。
必要に応じて、アプリの
manifest.jsonファイルにカスタムツール接頭辞を追加します。アプリパッケージを保存し、YouTrack にアップロードします。
MCP ツールを含むアプリを YouTrack にアップロードすると、これらのツールはすべてのプロジェクトのすべてのユーザーが利用できるようになります。MCP ツールは、使用するユーザーと同じレベルの YouTrack データへのアクセス権限を持ちます。
セキュリティ上の理由から、カスタムツールは接続の MCP エンドポイント URL に明示的に含める必要があります。例: /mcp?customToolPackages=app-name1,app-name2 ここで、app-name1 と app-name2 はカスタムツールを定義するアプリの名前です。
YouTrack 管理者が新しいカスタム MCP ツールを追加するたびに、YouTrack MCP サーバーに接続したユーザーは、新しいツールの使用を開始するために、接続を無効にしてから再度有効にする必要があります。
カスタム MCP ツール形式
YouTrack MCP ツールは JavaScript で記述されています。YouTrack ワークフロー API を使用し、YouTrack ワークフロールールと同じ構文に従います。MCP ツールスクリプトは、専用の aiTool ルールタイプを実装します。
JavaScript のカスタム MCP ツールの主な要素は次のとおりです。
ツールオブジェクトは、JavaScript スクリプトから
aiToolとしてエクスポートする必要があります。例:exports.aiTool = { ... }ツールオブジェクトは、ツール記述子とツールアクションの 2 つの部分で構成されます。
ツール記述子
ツール記述子には次の要素が含まれます。
要素 | 説明 | 必須 |
|---|---|---|
| MCP ツールの名前。 | 必須 |
| MCP ツールの説明。 | オプションですが、強く推奨されます |
| ツール入力パラメーターの JSON スキーマ。 | オプション |
| 出力の JSON スキーマ。 MCP エンドポイントはデフォルトで出力スキーマを非表示にしていることに注意してください。必要に応じて、 | オプション |
| ツールアノテーション:
参考までに MCP 仕様(英語)を参照してください。 | オプション |
これらの要素には、LLM に役立つ関数に関する情報が含まれています。
ツールアクション
ツールアクションは、ツールロジックを実装する JavaScript 関数です。この関数の入力と出力の説明は次のとおりです。
入力 |
|
出力 | JavaScript 関数は、 |
YouTrack バージョン 2026.2 以降では、カスタム MCP ツールでも asyncFunctions オブジェクトを宣言できます。ツールが結果を AI クライアントに即座に返し、現在のトランザクションが完了した後に後続処理を継続する必要がある場合は、ツールアクションから ctx.invokeAsync() を使用してください。詳細は非同期関数を参照してください。
ツール接頭辞
すべてのカスタム MCP ツールの名前には特別な接頭辞が付きます。YouTrack では、カスタム MCP ツールを定義済みツールと区別し、他のカスタムツールとの名前の衝突を避けるために、ツール接頭辞が必要です。
マニフェストでツールの接頭辞を設定すると、ツールのリストでツールは <aiToolPrefix>_<tool_name> のように表示されます。
アプリマニフェストに aiToolPrefix 値を追加することで、カスタム MCP ツールの接頭辞を設定できます。以下に、この MCP ツールを含むアプリパッケージの manifest.json ファイルの例を示します。この例のツールは、ツールリストに test_<tool_name> として表示されます。
マニフェストでツール接頭辞を設定しない場合、YouTrack はアプリ名をツール接頭辞として使用します。そのため、ツールリストではツールは「<app_name>_<tool_name>」のように表示されます。
サンプルカスタム MCP ツール
カスタム MCP ツールを実装するサンプルアプリパッケージには、ロジックを記述する JavaScript ファイルとアプリマニフェストの 2 つのファイルが含まれています。
JavaScript モジュール
ここでは、カスタム MCP ツールを実装する JavaScript モジュールの例を示します。
関連ページ:
アプリクイックスタートガイド
アプリは、YouTrack に特定の機能を追加するソフトウェアコンポーネントです。アプリを使用すると、システムのコア構造を変更することなく、システムの基本機能をカスタマイズおよび拡張できます。このモジュール方式により、YouTrack の機能を動的に強化し、組織のニーズに合わせてより柔軟かつ適応性の高いものにすることができます。アプリを作成して YouTrack で使用を開始するには、次の手順に従います。アプリパッケージを作成する、アプリのマニフェストを作成する、アプリのカスタム設定のスキーマを...
YouTrack ワークフロー API
パッケージにはモジュールのコレクションが含まれています。これらのモジュールは、YouTrack 内のエンティティを参照および更新するためのカスタム関数、メソッド、コンストラクターを提供します。また、各エンティティに利用できるプロパティも定義します。以下のモジュールが利用可能です。date-time このモジュールには、日付と時刻を操作するための関数が含まれています。entities ワークフローにアクセス可能な YouTrack 内のエンティティの定義が含まれています。httpHTTP を介してデー...