模式管理服务器
启用对Roo自定义操作模式的编程控制,支持完整的CRUD操作和模式验证,从而实现无缝的模式配置和管理。
服务介绍
模式 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