返回市场
模式-MCP服务器

模式-MCP服务器

作者:ccc016830 星标更新:2025-01-25

项目介绍

MCP服务器管理模式

用于管理Roo自定义操作模式的MCP服务器,提供对模式配置和管理的编程控制。

功能

  • 自定义模式的完整CRUD操作
  • 使用Zod进行模式验证
  • 监视文件系统以检测配置更改
  • 使用标准MCP错误码处理错误
  • 原子文件操作

安装

# 克隆仓库
git clone https://github.com/mkc909/modes-mcp-server.git
cd modes-mcp-server

# 安装依赖
npm install

# 构建项目
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": "示例模式",
      "roleDefinition": "描述该模式的能力和责任的角色定义。",
      "groups": [
        "read",
        ["edit", {
          "fileRegex": "\\.md$",
          "description": "只能编辑markdown文件"
        }],
        "command",
        "mcp"
      ],
      "customInstructions": "该模式的示例自定义指令。"
    }
  ]
}

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[规划] --> B[研究]
    B --> C[实施]
    C --> D[集成]
    D --> E[质量控制]
    E --> F[分析]
    F --> G[故障排除]
    G --> H[文档]
    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;  // 只包含小写字母、数字和连字符
  name: string;  // 显示名称
  roleDefinition: string;  // 详细描述
  groups: (string | [string, { fileRegex: string, description: string }])[];
  customInstructions?: string;  // 可选的附加指令
}

开发

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

最佳实践

  1. 模式选择

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

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

    • 在保存之前验证更改
    • 维护清晰的角色定义
    • 记录模式的功能

错误处理

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

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

测试

参见TESTING.md了解详细的测试案例和验证程序。

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交拉取请求
  4. 遵守编码标准

许可证

MIT许可证 - 详情见LICENSE