关于 Modes MCP Server
Modes MCP Server 用于管理 Roo 的自定义运行模式,提供对模式配置的增删改查与校验。适合需要以程序方式维护 Roo 自定义模式的用户。
主要功能
- 01自定义模式的完整增删改查操作
- 02基于 Zod 的配置结构校验
- 03监听配置文件变化
- 04使用标准 MCP 错误码返回错误
- 05原子化文件写入
适用场景
- 01通过 MCP 客户端批量创建或修改 Roo 模式
- 02在保存前校验模式配置的正确性
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 list_modes、create_mode 等工具,用于管理 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 获取特定模式的详情。
参数:
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,了解全面的测试用例和验证流程。
贡献
- Fork 仓库
- 创建功能分支
- 提交拉取请求
- 遵循编码规范
许可证
MIT 许可证 - 详情请参阅 LICENSE
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。