Linear MCP Server

by packetnomad
Verified
MIT License
10
  • Apple
  • Linux

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Uses the Bun runtime environment for running the MCP server, requiring Bun v1.0.0 or higher as a prerequisite for installation and operation.

  • Provides tools for interacting with Linear's issue tracking system, enabling the creation, updating, deletion, and searching of issues, management of projects and teams, adding comments with markdown support, and creating project updates with health status tracking.

  • Supports markdown formatting in issue comments and descriptions, allowing for rich text formatting when interacting with Linear content.

Servidor MCP lineal

Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso al sistema de seguimiento de problemas de Linear a través de una interfaz estandarizada.

Características

  • Cree nuevos problemas y subproblemas con soporte de etiquetas
  • Recuperar la lista de proyectos lineales
  • Recuperar las actualizaciones del proyecto
  • Crear una nueva actualización de proyecto con el estado de salud
  • Actualizar los problemas existentes con la modificación completa del campo
  • Eliminar problema con la validación
  • Autoasignar problemas usando la palabra clave "yo"
  • Búsqueda avanzada con las potentes capacidades de filtrado de Linear
  • Filtrar problemas por ciclo (actual, siguiente, anterior o ciclo específico por UUID o número)
  • Agregar comentarios a los problemas con la compatibilidad con Markdown
  • Consulta de problemas lineales por ID o clave con relaciones opcionales
  • Problemas de búsqueda mediante consultas personalizadas con metadatos mejorados
  • Operaciones de tipo seguro utilizando el SDK oficial de Linear
  • Manejo integral de errores
  • Manejo del límite de velocidad
  • Transformación de datos limpios
  • Seguimiento de la relación padre/hijo con herencia de equipo
  • Gestión y sincronización de etiquetas

Prerrequisitos

  • Tiempo de ejecución de Bun (v1.0.0 o superior)
  • Cuenta lineal con acceso API

Variables de entorno

LINEAR_API_KEY=your_api_key # Your Linear API token

Instalación y configuración

1. Clonar el repositorio:

git clone [repository-url] cd linear-mcp

2. Instalar dependencias y compilar:

bun install bun run build

3. Configurar el servidor MCP:

Edite el archivo de configuración apropiado:

macOS:

  • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Escritorio de Claude: ~/Library/Application Support/Claude/claude_desktop_config.json

Ventanas:

  • Cline: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • Escritorio de Claude: %APPDATA%\Claude Desktop\claude_desktop_config.json

Linux:

  • Cline: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude Desktop: lamentablemente aún no existe

Agregue la siguiente configuración bajo el objeto mcpServers :

{ "mcpServers": { "linear": { "command": "node", "args": ["/absolute/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_API_KEY": "your_api_key" } } } }

4. Reinicie el servidor MCP.

En la configuración de MCP de Cline, reinicie el servidor MCP. Reinicie Claude Desktop para cargar el nuevo servidor MCP.

Desarrollo

Ejecutar el servidor de desarrollo:

bun run dev

Proyecto de construcción:

bun run build

Herramientas MCP disponibles

Para obtener ejemplos de uso detallados de todas las herramientas, consulte USAGE.md .

crear_problema

Crear un nuevo problema o subproblema lineal.

Esquema de entrada:

{ "teamId": "string", "title": "string", "description": "string", "parentId": "string", "status": "string", "priority": "number", "assigneeId": "string | 'me'", "labelIds": ["string"] }

problema de actualización

Actualizar un problema lineal existente.

Esquema de entrada:

{ "issueId": "string", "title": "string", "description": "string", "status": "string", "priority": "number", "assigneeId": "string | 'me'", "labelIds": ["string"], "cycleId": "string" }

obtener_problema

Obtenga información detallada sobre un problema lineal específico con relaciones opcionales.

Esquema de entrada:

{ "issueId": "string", "includeRelationships": "boolean" }

problemas de búsqueda

Busque problemas de Linear mediante una cadena de consulta y filtros avanzados. Compatible con las potentes funciones de filtrado de Linear.

Esquema de entrada:

{ "query": "string", "includeRelationships": "boolean", "filter": { "title": { "contains": "string", "eq": "string", ... }, "description": { "contains": "string", "eq": "string", ... }, "priority": { "gte": "number", "lt": "number", ... }, "estimate": { "eq": "number", "in": ["number"], ... }, "dueDate": { "lt": "string", "gt": "string", ... }, "createdAt": { "gt": "P2W", "lt": "2024-01-01", ... }, "updatedAt": { "gt": "P1M", ... }, "completedAt": { "null": true, ... }, "assignee": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "creator": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "team": { "id": { "eq": "string" }, "key": { "eq": "string" } }, "state": { "type": { "eq": "started" }, "name": { "eq": "string" } }, "labels": { "name": { "in": ["string"] }, "every": { "name": { "eq": "string" } } }, "project": { "id": { "eq": "string" }, "name": { "contains": "string" } }, "and": [{ /* filters */ }], "or": [{ /* filters */ }], "assignedTo": "string | 'me'", "createdBy": "string | 'me'" }, "projectId": "string", "projectName": "string" }

Comparadores compatibles:

  • Campos de cadena: eq , neq , in , nin , contains , startsWith , endsWith (más variantes que no distinguen entre mayúsculas y minúsculas)
  • Campos numéricos: eq , neq , lt , lte , gt , gte , in , nin
  • Campos de fecha: eq , neq , lt , lte , gt , gte (admite duraciones ISO 8601)

obtener_equipos

Obtenga una lista de equipos lineales con filtrado de nombre/clave opcional.

Esquema de entrada:

{ "nameFilter": "string" }

eliminar_problema

Eliminar un problema lineal existente.

Esquema de entrada:

{ "issueId": "string" }

crear_comentario

Crear un nuevo comentario sobre un problema lineal.

Esquema de entrada:

{ "issueId": "string", "body": "string" }

obtener_proyectos

Obtenga una lista de proyectos lineales con filtrado de nombres y paginación opcionales.

Esquema de entrada:

{ "nameFilter": "string", "includeArchived": "boolean", "first": "number", "after": "string" }

obtener_actualizaciones_del_proyecto

Obtenga actualizaciones de proyecto para un ID de proyecto determinado con parámetros de filtrado opcionales.

Esquema de entrada:

{ "projectId": "string", "includeArchived": "boolean", "first": "number", "after": "string", "createdAfter": "string", "createdBefore": "string", "userId": "string | 'me'", "health": "string" }

crear_actualización_del_proyecto

Crear una nueva actualización para un proyecto lineal.

Esquema de entrada:

{ "projectId": "string", "body": "string", "health": "onTrack | atRisk | offTrack", "isDiffHidden": "boolean" }

Detalles técnicos

  • Construido con TypeScript en modo estricto
  • Utiliza el SDK oficial de Linear (@linear/sdk)
  • Utiliza el SDK de MCP (@modelcontextprotocol/sdk 1.4.0)
  • Autenticación mediante tokens API
  • Manejo integral de errores
  • Consideraciones sobre la limitación de velocidad
  • Tiempo de ejecución de Bun para un rendimiento mejorado
  • Módulos ESM en todo el mundo
  • Sistema de construcción Vite
  • Operaciones con seguridad de tipos
  • Funciones de limpieza de datos:
    • Extracción de menciones de problemas (formato ABC-123)
    • Extracción de menciones de usuario (formato de nombre de usuario)
    • Limpieza de contenido de Markdown
    • Optimización de contenido para el contexto de IA
  • Apoyo para la autoasignación:
    • Resolución automática del usuario actual
    • Compatibilidad con la palabra clave 'me' en operaciones de creación y actualización
    • Almacenamiento eficiente en caché de ID de usuario
  • Capacidades de búsqueda avanzada:
    • Filtrado completo con la API de Linear
    • Soporte para todos los comparadores de campo
    • Filtrado de relaciones
    • Operadores lógicos (y, o)
    • Filtrado de fechas relativas
    • Filtrar por cesionario/creador (incluido uno mismo)
    • Compatibilidad con identificaciones de usuario específicas
    • Filtrado de proyectos por ID o nombre
    • Optimización eficiente de consultas
  • Características de gestión de proyectos:
    • Listado de proyectos con filtrado y paginación
    • Creación de actualizaciones de proyectos con seguimiento del estado de salud
    • Recuperación de actualizaciones de proyectos con opciones de filtrado

Manejo de errores

El servidor implementa una estrategia integral de manejo de errores:

  • Detección de errores de red y mensajería adecuada
  • Manejo del código de estado HTTP
  • Mensajes de error detallados con códigos de estado
  • Detalles del error al registrarse en la consola
  • Validación de entrada para todos los parámetros
  • Validación y sincronización de etiquetas
  • Propagación segura de errores mediante el protocolo MCP
  • Detección y manejo del límite de velocidad
  • Manejo de errores de autenticación
  • Manejo de consultas no válidas
  • Validación de herencia de equipo para subproblemas
  • Validación de la resolución del usuario
  • Validación del filtro de búsqueda

LICENCIA

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Proporciona acceso al sistema de seguimiento de problemas de Linear a través de una interfaz de Protocolo de Contexto de Modelo estandarizada, que permite a los usuarios crear, actualizar, buscar y administrar problemas, proyectos y comentarios a través del lenguaje natural.

  1. Features
    1. Prerequisites
      1. Environment Variables
        1. Installation & Setup
          1. 1. Clone the repository:
          2. 2. Install dependencies and build:
          3. 3. Configure the MCP server:
          4. 4. Restart the MCP server.
        2. Development
          1. Available MCP Tools
            1. create_issue
            2. update_issue
            3. get_issue
            4. search_issues
            5. get_teams
            6. delete_issue
            7. create_comment
            8. get_projects
            9. get_project_updates
            10. create_project_update
          2. Technical Details
            1. Error Handling
              1. LICENCE
                ID: kz5byc7lm1