Linear

Se integra con sistemas de gestión de proyectos Linear.

Documentación

Linear App Icon

MCP Linear

Un servidor de Model Context Protocol (MCP) para la API GraphQL de Linear, diseñado para flujos de trabajo reales de gestión de proyectos, no solo para operaciones CRUD básicas de issues.

MCP Linear npm version

Características

MCP Linear conecta asistentes de IA con Linear mediante la implementación del protocolo MCP. Con él puedes:

  • Recuperar issues, proyectos, equipos, ciclos, hitos, roadmaps, clientes, necesidades de clientes y documentos de workspace/proyecto/iniciativa/equipo/issue/release/ciclo
  • Crear y actualizar issues, cambiar su estado, asignarlos y comentar
  • Gestionar proyectos, ciclos de vida completos de actualizaciones de proyectos e iniciativas con detección de diferencias, hitos, roadmaps, vistas guardadas y favoritos
  • Crear y gestionar webhooks de workspace, incluyendo actualizaciones y rotación de secretos de firma
  • Preparar manifiestos de aplicaciones OAuth y URLs de autorización, emitir tokens de credenciales de cliente con ámbito, o gestionar aplicaciones OAuth hijas cuando se autentica como aplicación OAuth gestora
  • Trabajar con plantillas, campos personalizados y adjuntos
  • Trabajar con registros de clientes, estados/niveles de clientes y necesidades de clientes vinculadas a issues o proyectos
  • Leer notificaciones, suscripciones, sesiones, auditorías e integraciones sin salir de MCP
  • Inspeccionar los límites de tasa y el estado del servidor antes de ejecutar sesiones de planificación intensivas

Consulta TOOLS.md para ver el inventario completo.

Recursos y prompts nativos de MCP

El servidor expone recursos y prompts de MCP además de herramientas, incluyendo:

  • Recursos: linear://viewer, linear://organization, linear://teams, linear://projects, linear://project/{id}, linear://project/{id}/issues, linear://project/{id}/documents, linear://issue/{id}, linear://document/{id}, linear://roadmap/{id}, linear://milestone/{id}, linear://rate-limit
  • Prompts: summarize-project-status, draft-project-update, triage-issue, summarize-document

Ejemplos de prompts

Una vez conectado, puedes usar prompts como:

  • "Muéstrame todos mis issues de Linear"
  • "Crea un nuevo issue titulado 'Fix login bug' en el equipo de Frontend"
  • "Cambia el estado del issue FE-123 a 'In Progress'"
  • "Asigna el issue BE-456 a John Smith"
  • "Muestra todos los issues abiertos de este proyecto agrupados por hito y ciclo"
  • "Redacta una actualización semanal del proyecto a partir del estado actual de Linear"
  • "Encuentra los documentos más recientes relacionados con un proyecto y resume las decisiones clave"
  • "Muestra los documentos y enlaces fijados en la página de inicio de este equipo"
  • "Crea un documento para ENG-123 con metadatos de ordenación de recursos"
  • "Obtén el diff de la última actualización del proyecto y archiva una actualización obsoleta"
  • "Muestra las necesidades de clientes de este proyecto y marca las importantes"
  • "Crea una actualización de iniciativa y oculta el diff generado del cuerpo de la actualización"
  • "Prepara una aplicación OAuth privada para mi pipeline de issues de GitHub con credenciales de cliente habilitadas"
  • "Emite un token de credenciales de cliente con ámbito restringido para ese pipeline de GitHub"
  • "Crea un webhook para eventos de Issue y Comment, y luego rota su secreto de firma"

Instalación

Autenticación

Clave de API personal (predeterminada)

  1. Inicia sesión en tu cuenta de Linear en linear.app
  2. Haz clic en el avatar de tu organización (esquina superior izquierda)
  3. Selecciona Settings
  4. Navega a Security & access en la barra lateral izquierda
  5. En Personal API Keys haz clic en New API Key
  6. Asigna un nombre a tu clave (p. ej., MCP Linear Integration)
  7. Copia el token de API generado y guárdalo de forma segura: no podrás volver a verlo

Las claves de API personales admiten las herramientas normales de Linear y de webhooks de workspace. No pueden llamar a la API alfa de aplicaciones OAuth hijas gestionadas de Linear porque esa API requiere que el llamador sea en sí mismo una aplicación OAuth. Con una clave de API personal, linear_generateOAuthApplicationSetup sigue preparando un manifiesto oficial y una URL de configuración de Linear prellenada para que un administrador la confirme.

Token de acceso OAuth (aplicaciones OAuth gestionadas)

Para que MCP pueda crear y gestionar realmente aplicaciones OAuth hijas, autentícalo con un token de acceso perteneciente a una aplicación OAuth de Linear que sea elegible para gestionar esas aplicaciones hijas:

export LINEAR_OAUTH_ACCESS_TOKEN=YOUR_OAUTH_ACCESS_TOKEN
mcp-linear

O pasa --oauth-token YOUR_OAUTH_ACCESS_TOKEN. Las credenciales explícitas de línea de comandos tienen prioridad sobre las variables de entorno; cuando ambos tipos de credenciales de entorno están presentes, se selecciona la autenticación OAuth. Consulta la documentación de OAuth y los manifiestos de aplicaciones OAuth de Linear.

Cada proceso del servidor MCP utiliza una credencial de Linear. Si el token de la aplicación gestora usa actor=app (que no puede recibir admin) y también necesitas herramientas de webhooks de workspace con ámbito de administrador, configura dos entradas de servidor MCP: una con el token OAuth gestor para operaciones de aplicaciones hijas y otra con la clave de API personal de un administrador del workspace para webhooks de workspace. Un token OAuth de actor de usuario que lleve admin puede cubrir la parte de webhooks en su lugar.

Los ámbitos OAuth se seleccionan cuando se solicita una URL de autorización o un token de credenciales de cliente; no son campos mutables en una aplicación OAuth. El MCP valida los ámbitos actuales de Linear, prepara URLs de autorización y puede emitir tokens de actor de aplicación con linear_createOAuthClientCredentialsToken. Para pipelines alojados en GitHub, habilita la concesión client_credentials y solicita el ámbito útil más restringido, como issues:create.

Los tokens de credenciales de cliente normalmente expiran después de 30 días y no tienen token de actualización. Linear solo permite múltiples tokens activos mientras usen el mismo conjunto de ámbitos; solicitar un conjunto de ámbitos diferente revoca los tokens de actor de aplicación existentes de la aplicación. Por lo tanto, la herramienta de tokens requiere tanto confirmSecretExposure: true como confirmScopeChangeRisk: true.

Crear una aplicación OAuth y rotar secretos OAuth o de webhooks devuelve material secreto de un solo uso a través de MCP. Esas herramientas requieren confirmSecretExposure: true; mueve los valores devueltos directamente a un gestor de secretos como los secretos de GitHub Actions y no los pegues en el control de versiones ni en registros.

Las URLs de webhook deben ser endpoints HTTPS accesibles públicamente. La validación rechaza credenciales en URLs y destinos obvios de loopback, red privada, enlace local y nombre de host local.

Instalación mediante add-mcp (Recomendado)

add-mcp instala el servidor en Claude Code, Cursor, Codex, VS Code, Claude Desktop y muchos otros agentes compatibles con MCP con un solo comando:

npx add-mcp @tacticlaunch/mcp-linear --env LINEAR_API_TOKEN=YOUR_LINEAR_API_TOKEN

Añade -g para instalar globalmente en lugar de en el proyecto actual. Consulta la documentación de add-mcp para ver la lista completa de agentes y banderas.

Configuración manual

Añade lo siguiente a tu archivo de configuración de MCP:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@tacticlaunch/mcp-linear"],
      "env": {
        "LINEAR_API_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Ubicaciones de configuración específicas por cliente

  • Cursor: ~/.cursor/mcp.json
  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude VSCode Extension: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • GoMCP: ~/.config/gomcp/config.yaml

Ejecución manual

Requisitos previos:

  • Node.js (v20+)
  • NPM o Yarn
  • Clave de API personal de Linear o token de acceso OAuth
# Install globally
npm install -g @tacticlaunch/mcp-linear

# Or clone and install locally
git clone https://github.com/tacticlaunch/mcp-linear.git
cd mcp-linear
npm install
npm link  # Makes the package available globally

Ejecutar el servidor

Ejecuta el servidor con tu token de API de Linear:

mcp-linear --token YOUR_LINEAR_API_TOKEN

O con el token de acceso de una aplicación OAuth gestora:

mcp-linear --oauth-token YOUR_OAUTH_ACCESS_TOKEN

O establece el token en tu entorno y ejecuta sin argumentos:

export LINEAR_API_TOKEN=YOUR_LINEAR_API_TOKEN
mcp-linear

Validación

La ruta de validación predeterminada es:

npm test
npm run build

npm test ejecuta pruebas unitarias de Jest y una prueba de humo del SDK oficial de MCP contra el servidor stdio compilado, cubriendo el registro de herramientas, recursos y prompts, además de la emisión de esquemas compatibles con el host.

Desarrollo

Consulta DEVELOPMENT.md para obtener detalles sobre el desarrollo local.

Enlaces

tacticlaunch/cursor-memory-bank — Si eres un desarrollador que busca mejorar tu flujo de trabajo con Cursor, considera probarlo.

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para obtener más detalles.