Rework

Integra aplicaciones de IA con la plataforma Rework para gestionar proyectos, tareas, flujos de trabajo y trabajos.

Documentación

Servidor MCP de Rework

Maintenance Version

Un servidor de Protocolo de Contexto de Modelo (MCP) para integrar la plataforma Rework con aplicaciones de IA. Este servidor permite que los agentes de IA interactúen con proyectos, tareas, flujos de trabajo y trabajos de Rework a través de un protocolo estandarizado.

🚀 Actualización de estado: v1.1.3 ya disponible con soporte completo de gestión de proyectos y flujos de trabajo.

Configuración

  1. Obtén tus credenciales de Rework:
    • Clave de API desde la configuración de la plataforma Rework
    • Información del espacio de trabajo desde tu cuenta de Rework
  2. Configura el servidor MCP con tus credenciales
  3. ¡Usa lenguaje natural para gestionar tus proyectos y flujos de trabajo!

Instalación

Añade esta entrada al archivo JSON de configuración MCP de tu 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, puedes ejecutar el servidor directamente 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

Puedes usar la variable de entorno DISABLED_TOOLS para deshabilitar herramientas específicas. Proporciona una lista separada por comas de nombres de herramientas a deshabilitar (por ejemplo, create_task,get_tasks).

Deshabilita las herramientas que no necesites si estás experimentando problemas con el número de herramientas o con limitaciones de contexto.

Ejecución con soporte SSE

El servidor puede ejecutarse en modo SSE (Eventos Enviados por el Servidor) configurando las siguientes variables de entorno:

{
  "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
      }
    }
  }
}

O mediante línea de comandos:

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

Despliegue con 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

Características

📝 Gestión de Proyectos🔄 Gestión de Flujos de Trabajo
• Crear y gestionar tareas
• Ver detalles de tareas
• Listar tareas en proyectos
• Añadir comentarios a tareas
• Organizar tareas dentro de proyectos
• Ver estado y progreso de tareas
• Crear y gestionar trabajos
• Rastrear estado de trabajos
• Ver detalles de trabajos
• Listar trabajos por flujo de trabajo
• Organizar flujos de trabajo
• Vincular trabajos a flujos de trabajo
👥 Gestión de Usuarios⚡ Características de Integración
• Buscar usuarios por nombre o correo electrónico
• Listar todos los usuarios disponibles
• Asignar usuarios a tareas
• Ver información de usuarios
• Autenticación de usuarios
• Gestionar permisos de usuarios
• Búsquedas por ID y nombre
• Soporte de contenido Markdown
• Manejo de errores integrado
• Limitación de velocidad de API
• Validación de entradas
• Cobertura integral de API

Herramientas Disponibles

HerramientaDescripciónParámetros Requeridos
Gestión de Proyectos
create_taskCrear una tarea en un proyectoname, board_id, creator_username
get_tasksObtener tareas de un tableroboard_id y filtros opcionales
get_detail_taskObtener información detallada sobre una tareaid
get_projectsObtener todos los proyectos y tablerosConsulta de búsqueda opcional q
Gestión de Flujos de Trabajo
create_jobCrear un trabajo en un flujo de trabajoname, workflow_id, creator_username
get_jobsObtener trabajos de un flujo de trabajoworkflow_id y filtros opcionales
get_detail_jobObtener información detallada sobre un trabajoid
get_workflowsObtener todos los flujos de trabajo disponiblesConsulta de búsqueda opcional q
Gestión de Usuarios
find_usersBuscar usuarios por nombre o correo electrónicoq (consulta de búsqueda), properties
list_all_usersObtener todos los miembros del espacio de trabajoNinguno

Consulta la documentación del proyecto para parámetros opcionales y uso avanzado.

Gestión de Usuarios

Al crear tareas o trabajos, puedes asignar usuarios usando el parámetro user_id. Además, debes especificar el creator_username para indicar quién creó la tarea o el trabajo:

{
  "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"
}

Las herramientas de gestión de usuarios te ayudan a encontrar usuarios por nombre o correo electrónico y obtener sus IDs para la asignación de tareas.

Manejo de Errores

El servidor MCP de Rework proporciona mensajes de error claros para:

  • Parámetros requeridos faltantes
  • IDs o referencias inválidas
  • Recursos no encontrados
  • Fallos de autenticación
  • Problemas de permisos
  • Errores de API
  • Limitación de velocidad

La variable de entorno LOG_LEVEL se puede especificar para controlar la verbosidad de los registros del servidor. Los valores válidos son trace, debug, info, warn y error (predeterminado). Esto también se puede especificar en la línea de comandos como: --env LOG_LEVEL=info.

Soporte de Campos Personalizados

Tanto la creación de tareas como de trabajos admiten campos personalizados a través del parámetro custom_fields, que acepta una matriz de objetos con propiedades id y value:

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

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).

Licencia

License: MIT

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENCIA para más detalles.

Aviso Legal

Este software hace uso de la API de Rework. Todas las marcas comerciales y nombres de marca son propiedad de sus respectivos dueños. Este proyecto no está asociado oficialmente ni respaldado por Rework.