モードMCPサーバー
Roo のカスタム動作モードを管理し、モードの構成と管理をプログラムで制御するための MCP サーバー。
特徴
カスタムモードの完全なCRUD操作
Zodによるスキーマ検証
設定変更を監視するファイルシステム
標準MCPエラーコードによるエラー処理
アトミックファイル操作
Related MCP server: MCP Server
インストール
# 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利用可能なツール
リストモード
現在設定されているすべてのカスタム モードを一覧表示します。
取得モード
特定のモードの詳細をそのスラグで取得します。
パラメータ:
slug: モードの一意の識別子
作成モード
新しいカスタム モードを作成します。
パラメータ:
slug: 一意の識別子(小文字、数字、ハイフン)name: モードの表示名roleDefinition: モードの役割と機能の詳細な説明groups: 許可されたツールグループの配列customInstructions: (オプション) モードの追加指示
更新モード
既存のカスタム モードを更新します。
パラメータ:
slug: 更新するモードの一意の識別子updates: 更新するフィールドを含むオブジェクト (name、roleDefinition、groups、customInstructions)
削除モード
カスタム モードを削除します。
パラメータ:
slug: 削除するモードの一意の識別子
検証モード
モード構成を保存せずに検証します。
パラメータ:
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ライセンス - 詳細はライセンスを参照