MCP Interactive

Permite a comunicação entre um LLM e um usuário por meio de uma interface interativa Electron.

Documentação

MCP Interactive

npm version npm downloads License: MIT GitHub issues

Um servidor MCP (Model Context Protocol) interativo com interface Electron para interação com o usuário.

Principais Recursos

Este servidor MCP aprimora a coordenação de LLMs, oferecendo maior controle e previsibilidade, e reduz significativamente as solicitações cobráveis ao minimizar as interações com o usuário dentro de uma única tarefa.

Para um histórico detalhado de alterações, consulte o Changelog.

Demonstração

Demo

Compatibilidade

  • Testado e Confirmado:
    • Trae IDE
    • Claude para Mac
    • augment code
    • Cursor IDE
    • VSCode com Copilot

Ferramentas Disponíveis

ask_user - Apresenta uma pergunta ao usuário por meio de um prompt de comando pop-up e aguarda a resposta interativa.

Esquema de Entrada:

{
  "type": "object",
  "properties": {
    "projectName": {
      "type": "string",
      "description": "Identifies the context/project making the request"
    },
    "message": {
      "type": "string",
      "description": "The specific question for the user. Supports Markdown formatting."
    },
    "predefinedOptions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Predefined options for the user to choose from (optional)"
    }
  },
  "required": [
    "projectName",
    "message"
  ]
}

Instalação

Usando npx

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": [
        "mcp-interactive",
        "-t",
        "300"
      ]
    }
  }
}

Instalação Local

Instale as dependências:

npm install

Configure o servidor MCP:

{
  "mcpServers": {
    "interactive": {
      "command": "node",
      "args": [
        "/path/to/project/mcp-interactive/index.js",
        "-t",
        "300"
      ]
    }
  }
}

Recomendações de Prompt de Sistema para Visual Studio Code, Cursor IDE

## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `mcp_interactive_ask_user` tool
- **Requires decisions**: ALWAYS clarify using `mcp_interactive_ask_user` tool

## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `mcp_interactive_ask_user` tool with work report

## Final gate
- Before ANY final answer (after actions/edits/checks), it is **MANDATORY** to call `mcp_interactive_ask_user` with a report on the work done and the option ["Yes, everything is OK"].
- If the answer is not "Yes, everything is OK" — continue working until the comments are resolved and repeat every time `mcp_interactive_ask_user`.
- There are no exceptions (including minor edits).

Exemplo do modo "Human In The Loop" no chat do Visual Studio Code

Can you check the docs and explain how the project works? #interactive

Recomendações de Prompt de Sistema para Trae IDE

Esta seção descreve diretrizes recomendadas para prompts de sistema ou regras para LLMs, garantindo interação e execução de tarefas ideais.

## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `ask_user` tool via MCP
- **Requires decisions**: ALWAYS clarify using `ask_user` tool via MCP

## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `ask_user` tool via MCP with work report

## Final gate
- Before ANY final answer (after actions/edits/checks), it is **MANDATORY** to call `ask_user` with a report on the work done and the option ["Yes, everything is OK"].
- If the answer is not "Yes, everything is OK" — continue working until the comments are resolved and repeat every time `ask_user`.
- There are no exceptions (including minor edits).

Opções de Linha de Comando

  • --timeout ou -t (segundos): Especifica o tempo de espera para o diálogo de resposta do usuário. Se nenhuma resposta for recebida dentro desse período, a resposta "User did not reply: Timeout occurred." será enviada.

Solução de Problemas

Problemas Comuns

Electron não iniciando:

  • Certifique-se de que a versão atual do Node.js está instalada
  • Tente reinstalar as dependências executando: npm install

Problemas de tempo limite para resposta (barra de progresso):

  • Aumente o valor do tempo limite usando o parâmetro -t
  • O tempo limite padrão é de 60 segundos; ajuste conforme necessário

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para alterações significativas, abra uma issue primeiro para discutir o que você gostaria de alterar.

Certifique-se de atualizar os testes conforme apropriado e seguir o estilo de código existente.

Suporte

Se você encontrar problemas ou tiver dúvidas, abra uma issue no GitHub.

Dependências

Este projeto inclui uma cópia local do marked.js (marked.min.js) para funcionalidade de análise de Markdown. O Marked é licenciado sob a Licença MIT e é mantido pela equipe do Marked.js e colaboradores.

Licença

MIT

Licenças de Terceiros

  • marked.js: Licença MIT - Copyright (c) 2018+, contribuidores do MarkedJS