Rework

Integre aplicações de IA com a plataforma Rework para gerenciar projetos, tarefas, fluxos de trabalho e jobs.

Documentação

Servidor MCP Rework

Maintenance Version

Um servidor Model Context Protocol (MCP) para integrar a plataforma Rework com aplicações de IA. Este servidor permite que agentes de IA interajam com projetos, tarefas, fluxos de trabalho e jobs da Rework por meio de um protocolo padronizado.

🚀 Atualização de Status: v1.1.3 agora disponível com suporte completo a gerenciamento de projetos e fluxos de trabalho.

Configuração

  1. Obtenha suas credenciais da Rework:
    • Chave de API nas configurações da plataforma Rework
    • Informações do workspace na sua conta Rework
  2. Configure o servidor MCP com suas credenciais
  3. Use linguagem natural para gerenciar seus projetos e fluxos de trabalho!

Instalação

Adicione esta entrada ao arquivo JSON de configurações MCP do seu cliente:

{
  "mcpServers": {
    "Rework": {
      "command": "npx",
      "args": [
       "-y",
	   "rework-mcp-server"
      ],
      "env": {
        "REWORK_PROJECT_ACCESS_TOKEN": "",
        "REWORK_PROJECT_PASSWORD": "",

        "REWORK_WORKFLOW_ACCESS_TOKEN": "",
        "REWORK_WORKFLOW_PASSWORD": "",

        "REWORK_ACCOUNT_ACCESS_TOKEN": "",
        "REWORK_ACCOUNT_PASSWORD": ""
      }
    }
  }
}

Alternativamente, você pode executar o servidor diretamente usando Node:

node index.js --env REWORK_PROJECT_ACCESS_TOKEN=your-project-access-token --env REWORK_PROJECT_PASSWORD=your-project-password --env REWORK_WORKFLOW_ACCESS_TOKEN=your-workflow-access-token --env REWORK_WORKFLOW_PASSWORD=your-workflow-password --env REWORK_ACCOUNT_ACCESS_TOKEN=your-account-access-token --env REWORK_ACCOUNT_PASSWORD=your-account-password

Você pode usar a variável de ambiente DISABLED_TOOLS para desabilitar ferramentas específicas. Forneça uma lista separada por vírgulas dos nomes das ferramentas a serem desabilitadas (ex.: create_task,get_tasks).

Desabilite ferramentas que você não precisa se estiver enfrentando problemas com o número de ferramentas ou quaisquer limitações de contexto.

Executando com Suporte a SSE

O servidor pode ser executado no modo SSE (Server-Sent Events) definindo as seguintes variáveis de ambiente:

{
  "mcpServers": {
    "Rework": {
      "command": "node",
      "args": [
        "index.js"
      ],
      "env": {
        "REWORK_PROJECT_ACCESS_TOKEN": "your-project-access-token",
        "REWORK_PROJECT_PASSWORD": "your-project-password",
        "REWORK_WORKFLOW_ACCESS_TOKEN": "your-workflow-access-token",
        "REWORK_WORKFLOW_PASSWORD": "your-workflow-password",
        "REWORK_ACCOUNT_ACCESS_TOKEN": "your-account-access-token",
        "REWORK_ACCOUNT_PASSWORD": "your-account-password",
        "ENABLE_SSE": "true",
        "PORT": "8000"  // Optional, defaults to 3000
      }
    }
  }
}

Ou via linha de comando:

node index.js --env REWORK_PROJECT_ACCESS_TOKEN=your-project-access-token --env REWORK_PROJECT_PASSWORD=your-project-password --env REWORK_WORKFLOW_ACCESS_TOKEN=your-workflow-access-token --env REWORK_WORKFLOW_PASSWORD=your-workflow-password --env REWORK_ACCOUNT_ACCESS_TOKEN=your-account-access-token --env REWORK_ACCOUNT_PASSWORD=your-account-password --env ENABLE_SSE=true --env PORT=8000

Implantação com Docker

version: '3.8'

services:
  rework-mcp-server:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - '3000:8000'
    environment:
      - REWORK_PROJECT_ACCESS_TOKEN=${REWORK_PROJECT_ACCESS_TOKEN}
      - REWORK_PROJECT_PASSWORD=${REWORK_PROJECT_PASSWORD}
      - REWORK_WORKFLOW_ACCESS_TOKEN=${REWORK_WORKFLOW_ACCESS_TOKEN}
      - REWORK_WORKFLOW_PASSWORD=${REWORK_WORKFLOW_PASSWORD}
      - REWORK_ACCOUNT_ACCESS_TOKEN=${REWORK_ACCOUNT_ACCESS_TOKEN}
      - REWORK_ACCOUNT_PASSWORD=${REWORK_ACCOUNT_PASSWORD}
      - ENABLE_SSE=true
      - LOG_LEVEL=info
    volumes:
      - ./src:/app/src
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s

Recursos

📝 Gerenciamento de Projetos🔄 Gerenciamento de Fluxos de Trabalho
• Criar e gerenciar tarefas
• Visualizar detalhes de tarefas
• Listar tarefas em projetos
• Adicionar comentários a tarefas
• Organizar tarefas dentro de projetos
• Visualizar status e progresso das tarefas
• Criar e gerenciar jobs
• Acompanhar status dos jobs
• Visualizar detalhes dos jobs
• Listar jobs por fluxo de trabalho
• Organizar fluxos de trabalho
• Vincular jobs a fluxos de trabalho
👥 Gerenciamento de Usuários⚡ Recursos de Integração
• Encontrar usuários por nome ou e-mail
• Listar todos os usuários disponíveis
• Atribuir usuários a tarefas
• Visualizar informações do usuário
• Autenticação de usuários
• Gerenciar permissões de usuários
• Consultas por ID e nome
• Suporte a conteúdo Markdown
• Tratamento de erros integrado
• Limitação de taxa da API
• Validação de entradas
• Cobertura abrangente da API

Ferramentas Disponíveis

FerramentaDescriçãoParâmetros Obrigatórios
Gerenciamento de Projetos
create_taskCriar uma tarefa em um projetoname, board_id, creator_username
get_tasksObter tarefas de um quadroboard_id e filtros opcionais
get_detail_taskObter informações detalhadas sobre uma tarefaid
get_projectsObter todos os projetos e quadrosConsulta de pesquisa opcional q
Gerenciamento de Fluxos de Trabalho
create_jobCriar um job em um fluxo de trabalhoname, workflow_id, creator_username
get_jobsObter jobs de um fluxo de trabalhoworkflow_id e filtros opcionais
get_detail_jobObter informações detalhadas sobre um jobid
get_workflowsObter todos os fluxos de trabalho disponíveisConsulta de pesquisa opcional q
Gerenciamento de Usuários
find_usersEncontrar usuários por nome ou e-mailq (consulta de pesquisa), properties
list_all_usersObter todos os membros do workspaceNenhum

Consulte a documentação do projeto para parâmetros opcionais e uso avançado.

Gerenciamento de Usuários

Ao criar tarefas ou jobs, você pode atribuir usuários usando o parâmetro user_id. Além disso, você precisa especificar o creator_username para indicar quem criou a tarefa ou o job:

{
  "name": "🚀 New Feature Implementation",
  "board_id": "board_123",
  "content": "Implement the new feature described in the spec",
  "creator_username": "jane.doe",
  "user_id": "user_456"
}

As ferramentas de gerenciamento de usuários ajudam você a encontrar usuários por nome ou e-mail e obter seus IDs para atribuição de tarefas.

Tratamento de Erros

O servidor MCP Rework fornece mensagens de erro claras para:

  • Parâmetros obrigatórios ausentes
  • IDs ou referências inválidos
  • Recursos não encontrados
  • Falhas de autenticação
  • Problemas de permissão
  • Erros de API
  • Limitação de taxa

A variável de ambiente LOG_LEVEL pode ser especificada para controlar o nível de detalhe dos logs do servidor. Os valores válidos são trace, debug, info, warn e error (padrão). Isso também pode ser especificado na linha de comando como: --env LOG_LEVEL=info.

Suporte a Campos Personalizados

Tanto a criação de tarefas quanto a de jobs suportam campos personalizados através do parâmetro custom_fields, que aceita um array de objetos com as propriedades id e value:

{
  "custom_fields": [
    {
      "id": "custom_field_123",
      "value": "High Priority"
    },
    {
      "id": "custom_field_456",
      "value": true
    }
  ]
}

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Licença

License: MIT

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.

Aviso Legal

Este software faz uso da API Rework. Todas as marcas registradas e nomes de marcas são propriedade de seus respectivos proprietários. Este projeto não é oficialmente associado ou endossado pela Rework.