MCP服务器模式
一个MCP服务器,用于管理Roo的自定义操作模式,提供对模式配置和管理的程序控制。
特性
- 自定义模式的完整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_mode
列出当前配置的所有自定义模式。
get_mode
通过其slug获取特定模式的详细信息。
参数:
slug:模式的唯一标识符
创建模式
创建新的自定义模式。
参数:
slug:唯一标识符(小写字母、数字和连字符)name:模式的显示名称roleDefinition:模式作用和功能的详细描述groups:允许的工具组数组customInstructions:(可选)模式的附加说明
update_mode
更新现有的自定义模式。
参数:
slug:要更新的模式的唯一标识符updates:包含要更新的字段的对象(名称、角色定义、组、自定义指令)
删除模式
删除自定义模式。
参数:
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:文件系统错误或其他内部问题
测试
看 测试.md 用于全面的测试用例和验证程序。
贡献
- Fork存储库
- 创建特征分支
- 提交拉取请求
- 遵循编码标准
许可证
MIT许可证-请参阅 许可证 详见
