模式管理服务器

一个用于管理自定义操作模式的MCP服务器,提供模式配置和管理的程序化控制。

  • by ccc0168
  • 本地部署
  • 29 星标
  • 更新于
在 GitHub 查看 ccc0168/modes-mcp-server

使用说明

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": []
    }
  }
}

运营模式框架

服务器管理一套全面的操作模式:

核心系统模式

  1. 计划模式 🎯

    • 战略规划专家
    • 系统设计和资源分配
    • 项目路线图制定
  2. 分析模式 📊

    • 数据分析专家
    • 指标跟踪和分析
    • 性能监控
  3. 研究模式 🔍

    • 系统研究专家
    • 最佳实践研究
    • 解决方案探索
  4. 实施方式 ⚙️

    • 运营实施专家
    • 系统部署
    • 流程执行
  5. 故障排除模式 🔧

    • 系统解决方案专家
    • 问题识别
    • 问题解决
  6. 质量控制模式 ✅

    • 质量保证专家
    • 系统验证
    • 性能验证
  7. 集成模式 🔄

    • 系统集成专家
    • 跨系统协调
    • 工作流程优化
  8. 文档模式 📝

    • 知识管理专家
    • 工艺文件
    • 标准维护
  9. 会话管理模式 ⚡

    • 会议管理专家
    • 日常工作流程编排
    • 国家管理

专业模式

  • 贸易运营经理
    • 系统化交易和风险管理
    • 贸易文件和分析
    • 市场分析和战略优化

模式转换流程

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
}

发展

  1. 对中的源代码进行更改 src/
  2. 构建项目:
npm run build
  1. 启动服务器:
npm start

最佳实践

  1. 模式选择

    • 为任务选择合适的模式
    • 遵循特定模式的工作流程
    • 使用指定的工具组
  2. 模式转换

    • 遵循自然过渡流程
    • 完成当前模式任务
    • 保留模式之间的上下文
  3. 配置管理

    • 保存前验证更改
    • 保持清晰的角色定义
    • 文档模式功能

错误处理

服务器使用标准MCP错误代码:

  • InvalidParams:输入参数无效或找不到模式
  • MethodNotFound:请求的工具未知
  • InternalError:文件系统错误或其他内部问题

测试

看 测试.md 用于全面的测试用例和验证程序。

贡献

  1. Fork存储库
  2. 创建特征分支
  3. 提交拉取请求
  4. 遵循编码标准

许可证

MIT许可证-请参阅 许可证 详见