Modes MCP Server

Um servidor MCP para gerenciar programaticamente os modos operacionais personalizados do Roo.

Documentação

Servidor MCP de Modos

Um servidor MCP para gerenciar os modos operacionais personalizados do Roo, fornecendo controle programático sobre a configuração e o gerenciamento de modos.

Recursos

  • Operações CRUD completas para modos personalizados
  • Validação de esquema com Zod
  • Monitoramento do sistema de arquivos para alterações de configuração
  • Tratamento de erros com códigos de erro MCP padrão
  • Operações atômicas de arquivo

Instalação

# 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

Configuração

1. Variáveis de Ambiente

Copie .env.example para .env e ajuste conforme necessário:

cp .env.example .env

Variáveis de ambiente disponíveis:

  • MODES_CONFIG_PATH: Caminho para o arquivo de configuração de modos personalizados (padrão: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_custom_modes.json)

2. Configuração de Modos Personalizados

Crie um arquivo JSON para a configuração dos seus modos personalizados. Consulte examples/modes.example.json para o formato:

{
  "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. Configurações do MCP

Adicione a configuração do servidor ao seu arquivo de configurações MCP (normalmente em %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json). Consulte examples/mcp-settings.example.json para o formato:

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

Estrutura de Modos Operacionais

O servidor gerencia um conjunto abrangente de modos operacionais:

Modos Principais do Sistema

  1. Modo de Planejamento 🎯

    • Especialista em Planejamento Estratégico
    • Design de sistema e alocação de recursos
    • Desenvolvimento de roteiro de projeto
  2. Modo de Análise 📊

    • Especialista em Análise de Dados
    • Acompanhamento e análise de métricas
    • Monitoramento de desempenho
  3. Modo de Pesquisa 🔍

    • Especialista em Pesquisa de Sistemas
    • Pesquisa de melhores práticas
    • Exploração de soluções
  4. Modo de Implementação ⚙️

    • Especialista em Implementação de Operações
    • Implantação de sistemas
    • Execução de processos
  5. Modo de Solução de Problemas 🔧

    • Especialista em Resolução de Sistemas
    • Identificação de problemas
    • Resolução de questões
  6. Modo de Controle de Qualidade ✅

    • Especialista em Garantia de Qualidade
    • Validação de sistemas
    • Verificação de desempenho
  7. Modo de Integração 🔄

    • Especialista em Integração de Sistemas
    • Coordenação entre sistemas
    • Otimização de fluxos de trabalho
  8. Modo de Documentação 📝

    • Especialista em Gestão do Conhecimento
    • Documentação de processos
    • Manutenção de padrões
  9. Modo de Gerenciamento de Sessão ⚡

    • Especialista em Gerenciamento de Sessão
    • Orquestração do fluxo de trabalho diário
    • Gerenciamento de estado

Modos Especializados

  • Gerente de Operações de Trade
    • Negociação sistemática e gerenciamento de risco
    • Documentação e análise de negociações
    • Análise de mercado e otimização de estratégia

Fluxo de Transição de Modos

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

Ferramentas Disponíveis

list_modes

Lista todos os modos personalizados atualmente configurados.

get_mode

Obtém detalhes de um modo específico pelo seu slug.

Parâmetros:

  • slug: O identificador único do modo

create_mode

Cria um novo modo personalizado.

Parâmetros:

  • slug: Identificador único (letras minúsculas, números e hífens)
  • name: Nome de exibição do modo
  • roleDefinition: Descrição detalhada da função e capacidades do modo
  • groups: Matriz de grupos de ferramentas permitidos
  • customInstructions: (opcional) Instruções adicionais para o modo

update_mode

Atualiza um modo personalizado existente.

Parâmetros:

  • slug: O identificador único do modo a ser atualizado
  • updates: Objeto contendo os campos a serem atualizados (name, roleDefinition, groups, customInstructions)

delete_mode

Exclui um modo personalizado.

Parâmetros:

  • slug: O identificador único do modo a ser excluído

validate_mode

Valida uma configuração de modo sem salvá-la.

Parâmetros:

  • mode: Objeto de configuração completo do modo a ser validado

Esquema de Configuração de Modos

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
}

Desenvolvimento

  1. Faça alterações no código-fonte em src/
  2. Compile o projeto:
npm run build
  1. Inicie o servidor:
npm start

Melhores Práticas

  1. Seleção de Modos

    • Escolha o modo apropriado para a tarefa
    • Siga os fluxos de trabalho específicos do modo
    • Use os grupos de ferramentas designados
  2. Transições de Modos

    • Siga o fluxo natural de transição
    • Conclua as tarefas do modo atual
    • Preserve o contexto entre os modos
  3. Gerenciamento de Configuração

    • Valide as alterações antes de salvar
    • Mantenha definições de função claras
    • Documente as capacidades do modo

Tratamento de Erros

O servidor usa códigos de erro MCP padrão:

  • InvalidParams: Parâmetros de entrada inválidos ou modo não encontrado
  • MethodNotFound: Ferramenta desconhecida solicitada
  • InternalError: Erros do sistema de arquivos ou outros problemas internos

Testes

Consulte TESTING.md para casos de teste abrangentes e procedimentos de validação.

Contribuição

  1. Faça um fork do repositório
  2. Crie um branch de recurso
  3. Envie um pull request
  4. Siga os padrões de codificação

Licença

Licença MIT - consulte LICENSE para detalhes