Modes MCP Server について
Modes MCP Server は、Roo のカスタム運用モードを MCP 経由で管理するサーバーで、モード設定をプログラムから制御できます。手作業ではなく MCP クライアントから Roo のカスタムモードを維持したい利用者向けです。
主な機能
- 01カスタムモードの作成、参照、更新、削除
- 02Zod によるスキーマ検証
- 03設定ファイルの変更監視
- 04標準的な MCP エラーコードによるエラー応答
- 05アトミックなファイル操作
活用シーン
- 01MCP クライアントからの Roo モードの作成と更新
- 02保存前のモード設定の検証
MCP 対応
本プロジェクトは MCP サーバーであり、list_modes や create_mode などのツールを MCP クライアントに公開して Roo のモード設定を管理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Modes MCP サーバー
Roo のカスタム運用モードを管理する MCP サーバーです。モードの設定と管理をプログラムから制御できます。
機能
- カスタムモードの完全な CRUD 操作
- Zod によるスキーマ検証
- 設定変更を監視するファイルシステムウォッチャー
- 標準 MCP エラーコードによるエラー処理
- アトミックなファイル操作
インストール
# Clone the repository
git clone https://github.com/mkc909/modes-mcp-server.git
cd modes-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
設定
1. 環境変数
.env.example を .env にコピーし、必要に応じて調整してください。
cp .env.example .env
使用可能な環境変数:
MODES_CONFIG_PATH:カスタムモード設定ファイルのパス(デフォルト:%APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_custom_modes.json)
2. カスタムモード設定
カスタムモードの設定用に JSON ファイルを作成します。形式については examples/modes.example.json を参照してください。
{
"customModes": [
{
"slug": "example-mode",
"name": "Example Mode",
"roleDefinition": "Example role definition describing the mode's capabilities and responsibilities.",
"groups": [
"read",
["edit", {
"fileRegex": "\\.md$",
"description": "Can edit markdown files only"
}],
"command",
"mcp"
],
"customInstructions": "Example custom instructions for the mode."
}
]
}
3. MCP の設定
MCP の設定ファイル(通常は %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json)にサーバーの設定を追加します。形式については examples/mcp-settings.example.json を参照してください。
{
"mcpServers": {
"modes": {
"command": "node",
"args": ["/path/to/modes-mcp-server/build/index.js"],
"env": {
"MODES_CONFIG_PATH": "/path/to/custom/modes.json"
},
"disabled": false,
"alwaysAllow": []
}
}
}
運用モードのフレームワーク
このサーバーは、包括的な運用モード一式を管理します。
コアシステムモード
-
計画モード 🎯
- 戦略計画のスペシャリスト
- システム設計とリソース配分
- プロジェクトロードマップの策定
-
分析モード 📊
- データ分析のエキスパート
- 指標の追跡と分析
- パフォーマンスの監視
-
調査モード 🔍
- システム調査のスペシャリスト
- ベストプラクティスの調査
- ソリューションの検討
-
実装モード ⚙️
- 運用実装のエキスパート
- システムのデプロイ
- プロセスの実行
-
トラブルシューティングモード 🔧
- システム問題解決のスペシャリスト
- 問題の特定
- 問題の解決
-
品質管理モード ✅
- 品質保証のエキスパート
- システムの検証
- パフォーマンスの確認
-
統合モード 🔄
- システム統合のスペシャリスト
- システム間の調整
- ワークフローの最適化
-
ドキュメント作成モード 📝
- ナレッジ管理のスペシャリスト
- プロセスの文書化
- 標準の維持
-
セッション管理モード ⚡
- セッション管理のスペシャリスト
- 日々のワークフローの調整
- 状態管理
専門モード
- 取引オペレーションマネージャー
- 体系的な取引とリスク管理
- 取引の文書化と分析
- 市場分析と戦略の最適化
モード遷移フロー
graph TD
A[Planning] --> B[Research]
B --> C[Implementation]
C --> D[Integration]
D --> E[Quality Control]
E --> F[Analytics]
F --> G[Troubleshooting]
G --> H[Documentation]
H --> A
使用可能なツール
list_modes
現在設定されているすべてのカスタムモードを一覧表示します。
get_mode
スラッグを指定して、特定のモードの詳細を取得します。
パラメーター:
slug:モードの一意の識別子
create_mode
新しいカスタムモードを作成します。
パラメーター:
slug:一意の識別子(小文字、数字、ハイフン)name:モードの表示名roleDefinition:モードの役割と機能の詳細な説明groups:使用が許可されたツールグループの配列customInstructions:(任意)モードへの追加指示
update_mode
既存のカスタムモードを更新します。
パラメーター:
slug:更新するモードの一意の識別子updates:更新するフィールド(name、roleDefinition、groups、customInstructions)を含むオブジェクト
delete_mode
カスタムモードを削除します。
パラメーター:
slug:削除するモードの一意の識別子
validate_mode
モード設定を保存せずに検証します。
パラメーター:
mode:検証するモード設定の完全なオブジェクト
モード設定スキーマ
interface CustomMode {
slug: string; // Lowercase letters, numbers, and hyphens only
name: string; // Display name
roleDefinition: string; // Detailed description
groups: (string | [string, { fileRegex: string, description: string }])[];
customInstructions?: string; // Optional additional instructions
}
開発
src/のソースコードを変更します- プロジェクトをビルドします:
npm run build
- サーバーを起動します:
npm start
ベストプラクティス
-
モードの選択
- タスクに適したモードを選択します
- モード固有のワークフローに従います
- 指定されたツールグループを使用します
-
モードの切り替え
- 自然な切り替えの流れに従います
- 現在のモードのタスクを完了します
- モード間でコンテキストを保持します
-
設定管理
- 保存する前に変更を検証します
- 明確な役割の定義を維持します
- モードの機能を文書化します
エラー処理
サーバーは標準の MCP エラーコードを使用します:
InvalidParams:入力パラメーターが無効、またはモードが見つかりませんMethodNotFound:要求されたツールが不明ですInternalError:ファイルシステムエラーやその他の内部エラーです
テスト
包括的なテストケースと検証手順については、TESTING.md を参照してください。
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- プルリクエストを送信します
- コーディング規約に従います
ライセンス
MIT License — 詳細については LICENSE を参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。