Linear MCP Server

by cosmix

Integrations

  • Allows access to Linear's issue tracking system, enabling users to create, update, search, and delete issues, add comments, retrieve projects and team information, manage labels, and track parent/child relationships among issues.

Линейный MCP-сервер

Реализация сервера Model Context Protocol (MCP), обеспечивающая доступ к системе отслеживания проблем Linear через стандартизированный интерфейс.

Функции

  • Создавайте новые выпуски и подвыпуски с поддержкой лейблов
  • Получить список линейных проектов
  • Получить обновления проекта
  • Создать новое обновление проекта со статусом работоспособности
  • Обновите существующие проблемы с полной модификацией поля
  • Удалить проблему с проверкой
  • Самостоятельно назначать проблемы, используя ключевое слово «я»
  • Расширенный поиск с мощными возможностями фильтрации Linear
  • Фильтрация проблем по циклу (текущий, следующий, предыдущий или определенный цикл по UUID или номеру)
  • Добавляйте комментарии к проблемам с поддержкой разметки
  • Запрос линейных проблем по идентификатору или ключу с дополнительными связями
  • Поиск проблем с использованием пользовательских запросов с расширенными метаданными
  • Типобезопасные операции с использованием официального SDK Linear
  • Комплексная обработка ошибок
  • Обработка ограничения скорости
  • Чистое преобразование данных
  • Отслеживание отношений родитель/потомок с наследованием команды
  • Управление и синхронизация этикеток

Предпосылки

  • Среда выполнения Bun (v1.0.0 или выше)
  • Линейный аккаунт с доступом через API

Переменные среды

LINEAR_API_KEY=your_api_key # Your Linear API token

Установка и настройка

1. Клонируйте репозиторий:

git clone [repository-url] cd linear-mcp

2. Установите зависимости и соберите:

bun install bun run build

3. Настройте MCP-сервер:

Отредактируйте соответствующий файл конфигурации:

macOS:

  • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Рабочий стол Клода: ~/Library/Application Support/Claude/claude_desktop_config.json

Окна:

  • Cline: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  • Рабочий стол Клода: %APPDATA%\Claude Desktop\claude_desktop_config.json

Линукс:

  • Клайн: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  • Claude Desktop: к сожалению, пока не существует

Добавьте следующую конфигурацию в объект mcpServers :

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

4. Перезапустите сервер MCP.

В настройках MCP Клайна перезапустите сервер MCP. Перезапустите Claude Desktop, чтобы загрузить новый сервер MCP.

Разработка

Запустить сервер разработки:

bun run dev

Проект сборки:

bun run build

Доступные инструменты MCP

Подробные примеры использования всех инструментов см. на USAGE.md .

создать_выпуск

Создайте новый линейный выпуск или подвыпуск.

Схема ввода:

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

обновление_выпуск

Обновите существующую линейную проблему.

Схема ввода:

{ "issueId": "string", "title": "string", "description": "string", "status": "string", // Expects status NAME (e.g., "In Progress"). Must be valid for the issue's team. "priority": "number", // Expects 0 (None) to 4 (Low). "assigneeId": "string | 'me'", "labelIds": ["string"], "cycleId": "string" }

получить_выпуск

Получите подробную информацию о конкретной линейной проблеме с дополнительными связями.

Схема ввода:

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

поисковые_вопросы

Поиск проблем Linear с использованием строки запроса и расширенных фильтров. Поддерживает мощные возможности фильтрации Linear.

Схема ввода:

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

Поддерживаемые компараторы:

  • Строковые поля: eq , neq , in , nin , contains , startsWith , endsWith (плюс варианты без учета регистра)
  • Числовые поля: eq , neq , lt , lte , gt , gte , in , nin
  • Поля даты: eq , neq , lt , lte , gt , gte (поддерживает длительность ISO 8601)

получить_команды

Получите список линейных команд с дополнительной фильтрацией по имени/ключу.

Схема ввода:

{ "nameFilter": "string" }

удалить_выпуск

Удалить существующую линейную проблему.

Схема ввода:

{ "issueId": "string" }

создать_комментарий

Создайте новый комментарий к линейной проблеме.

Схема ввода:

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

получить_проекты

Получите список линейных проектов с дополнительной фильтрацией по имени и разбиением на страницы.

Схема ввода:

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

получить_обновления_проекта

Получайте обновления проекта для указанного идентификатора проекта с дополнительными параметрами фильтрации.

Схема ввода:

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

создать_проект_обновить

Создайте новое обновление для линейного проекта.

Схема ввода:

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

Технические подробности

  • Создано с помощью TypeScript в строгом режиме
  • Использует официальный SDK Linear (@linear/sdk)
  • Использует MCP SDK (@modelcontextprotocol/sdk 1.4.0)
  • Аутентификация через API-токены
  • Комплексная обработка ошибок
  • Соображения по ограничению скорости
  • Bun runtime для повышения производительности
  • Модули ESM по всему
  • Система сборки Vite
  • Типобезопасные операции
  • Возможности очистки данных:
    • Извлечение упоминаний о проблеме (формат ABC-123)
    • Извлечение упоминаний пользователя (формат @имя пользователя)
    • Очистка содержимого Markdown
    • Оптимизация контента для контекста ИИ
  • Поддержка самостоятельного назначения:
    • Автоматическое разрешение текущего пользователя
    • Поддержка ключевого слова «me» в операциях создания/обновления
    • Эффективное кэширование идентификаторов пользователей
  • Расширенные возможности поиска:
    • Комплексная фильтрация с помощью API Linear
    • Поддержка всех полевых компараторов
    • Фильтрация отношений
    • Логические операторы (и, или)
    • Фильтрация по относительной дате
    • Фильтр по правообладателю/создателю (включая себя)
    • Поддержка определенных идентификаторов пользователей
    • Фильтрация проектов по идентификатору или названию
    • Эффективная оптимизация запросов
  • Возможности управления проектами:
    • Список проектов с фильтрацией и пагинацией
    • Создание обновлений проекта с отслеживанием состояния работоспособности
    • Извлечение обновлений проекта с возможностью фильтрации

Обработка ошибок

Сервер реализует комплексную стратегию обработки ошибок:

  • Обнаружение сетевых ошибок и отправка соответствующих сообщений
  • Обработка кода статуса HTTP
  • Подробные сообщения об ошибках с кодами состояния
  • Подробная информация об ошибке выводится на консоль
  • Проверка ввода всех параметров
  • Проверка и синхронизация этикеток
  • Безопасное распространение ошибок через протокол MCP
  • Обнаружение и обработка ограничений скорости
  • Обработка ошибок аутентификации
  • Неверная обработка запроса
  • Проверка наследования команды для подзадач
  • Проверка разрешения пользователя
  • Проверка фильтра поиска

ЛИЦЕНЗИЯ

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENCE .

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Предоставляет интерфейс Model Context Protocol для доступа к системе отслеживания проблем Linear, позволяя пользователям запрашивать и искать проблемы с использованием безопасности типов TypeScript и надежной обработки ошибок.

  1. Функции
    1. Предпосылки
      1. Переменные среды
        1. Установка и настройка
          1. Клонируйте репозиторий:
          2. Установите зависимости и соберите:
          3. Настройте MCP-сервер:
          4. Перезапустите сервер MCP.
        2. Разработка
          1. Доступные инструменты MCP
            1. создать\_выпуск
            2. обновление\_выпуск
            3. получить\_выпуск
            4. поисковые\_вопросы
            5. получить\_команды
            6. удалить\_выпуск
            7. создать\_комментарий
            8. получить\_проекты
            9. получить\обновления\проекта
            10. создать\проект\обновить
          2. Технические подробности
            1. Обработка ошибок
              1. ЛИЦЕНЗИЯ

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.
                  Last updated -
                  324
                  288
                  JavaScript
                  MIT License
                  • Apple
                • -
                  security
                  -
                  license
                  -
                  quality
                  A TypeScript implementation of a Model Context Protocol server that connects to Sentry error tracking service, allowing AI models to query and analyze error reports and events.
                  Last updated -
                  TypeScript
                • -
                  security
                  A
                  license
                  -
                  quality
                  Provides access to Linear's issue tracking system through a standardized Model Context Protocol interface, allowing users to create, update, search, and manage issues, projects, and comments via natural language.
                  Last updated -
                  16
                  MIT License
                  • Apple
                  • Linux
                • -
                  security
                  A
                  license
                  -
                  quality
                  A Model Context Protocol server that enables large language models to interact with Linear's issue tracking system, allowing management of issues, projects, teams, and other Linear resources.
                  Last updated -
                  TypeScript
                  MIT License
                  • Apple

                View all related MCP servers

                ID: 83wkbjoqvn