Linear

Interactúa con la API de Linear para gestionar incidencias, proyectos y equipos.

Documentación

Servidor MCP de Linear

Un servidor MCP para interactuar con la API de Linear. Este servidor proporciona un conjunto de herramientas para gestionar issues, proyectos y equipos de Linear a través de Cline.

Guía de Configuración

1. Configuración del Entorno

  1. Clona el repositorio
  2. Instala las dependencias:
    npm install
    
  3. Copia .env.example a .env:
    cp .env.example .env
    

2. Autenticación

El servidor admite dos métodos de autenticación:

Clave API (Recomendada)

  1. Ve a Configuración de Linear
  2. Navega a la sección "Seguridad y acceso"
  3. Encuentra la sección "Claves API personales"
  4. Haz clic en "Nueva clave API"
  5. Asigna a la clave una etiqueta descriptiva (p. ej., "Cline MCP")
  6. Copia el token generado inmediatamente
  7. Añade el token a tu archivo .env:
    LINEAR_API_KEY=your_api_key
    

Flujo OAuth (Alternativa) NO IMPLEMENTADO

  1. Crea una aplicación OAuth en https://linear.app/settings/api/applications
  2. Configura las variables de entorno OAuth en .env:
    LINEAR_CLIENT_ID=your_oauth_client_id
    LINEAR_CLIENT_SECRET=your_oauth_client_secret
    LINEAR_REDIRECT_URI=http://localhost:3000/callback
    

3. Ejecutando el Servidor

  1. Compila el servidor:
    npm run build
    
  2. Inicia el servidor:
    npm start
    

4. Integración con Cline

  1. Abre tu archivo de configuración MCP de Cline:

    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. Añade la configuración del servidor MCP de Linear:

    {
      "mcpServers": {
        "linear": {
          "command": "node",
          "args": ["/path/to/linear-mcp/build/index.js"],
          "env": {
            "LINEAR_API_KEY": "your_personal_access_token"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

Acciones Disponibles

El servidor actualmente admite las siguientes operaciones:

Gestión de Issues

  • ✅ Crear issues con soporte completo de campos (título, descripción, equipo, proyecto, etc.)
  • ✅ Actualizar issues existentes (prioridad, descripción, etc.)
  • ✅ Eliminar issues (eliminación individual o masiva)
  • ✅ Buscar issues con filtros
  • ✅ Asociar issues con proyectos
  • ✅ Crear relaciones de issues padre/hijo

Gestión de Proyectos

  • ✅ Crear proyectos con issues asociados
  • ✅ Obtener información del proyecto
  • ✅ Asociar issues con proyectos

Gestión de Equipos

  • ✅ Obtener información del equipo (con estados y detalles del flujo de trabajo)
  • ✅ Acceder a estados y etiquetas del equipo

Autenticación

  • ✅ Autenticación con clave API
  • ✅ Almacenamiento seguro de tokens

Operaciones por Lote

  • ✅ Creación masiva de issues
  • ✅ Eliminación masiva de issues

Actualizaciones Masivas (En Pruebas)

  • 🚧 Actualizaciones masivas de issues (procesamiento paralelo implementado, requiere pruebas)

Funcionalidades en Desarrollo

Actualmente se está trabajando en las siguientes funcionalidades:

Gestión de Issues

  • 🚧 Funcionalidad de comentarios (añadir/editar comentarios, hilos)
  • 🚧 Filtros de búsqueda complejos
  • 🚧 Soporte de paginación para conjuntos de resultados grandes

Operaciones de Metadatos

  • 🚧 Gestión de etiquetas (crear/actualizar/asignar)
  • 🚧 Gestión de ciclos/hitos

Gestión de Proyectos

  • 🚧 Soporte de plantillas de proyecto
  • 🚧 Operaciones avanzadas de proyecto

Autenticación

  • 🚧 Flujo OAuth con renovación automática de tokens

Rendimiento y Seguridad

  • 🚧 Límite de tasa
  • 🚧 Registro detallado
  • 🚧 Pruebas de carga y optimización

Desarrollo

# Install dependencies
npm install

# Run tests
npm test

# Run integration tests (requires LINEAR_API_KEY)
npm run test:integration

# Build the server
npm run build

# Start the server
npm start

Pruebas de Integración

Las pruebas de integración verifican que la autenticación y las llamadas a la API funcionan correctamente:

  1. Configura la autenticación (se recomienda clave API para las pruebas)
  2. Ejecuta las pruebas de integración:
    npm run test:integration
    

Para pruebas OAuth:

  1. Configura las credenciales OAuth en .env
  2. Elimina .skip de las pruebas OAuth en src/__tests__/auth.integration.test.ts
  3. Ejecuta las pruebas de integración