Линейный сервер интеграции MCP
Этот сервер обеспечивает возможности интеграции Linear через Model Context Protocol (MCP). Он позволяет моделям ИИ взаимодействовать с Linear для отслеживания проблем и управления проектами.
Функции
Сервер предоставляет следующие инструменты через интерфейс MCP:
linear_create_issue
Создает новую линейную задачу со следующими параметрами:
title(обязательно): Название выпускаteamId(обязательно): идентификатор команды для создания проблемыdescription(необязательно): Описание проблемы (поддерживается разметка)priority(необязательно): уровень приоритета (0-4)status(необязательно): Имя начального статуса
линейный_поиск_вопросы
Поиск линейных проблем с гибкой фильтрацией и поддержкой пагинации:
query(необязательно): Текст для поиска в заголовке/описанииteamId(необязательно): Фильтр по командеstatus(необязательно): Фильтр по статусуassigneeId(необязательно): Фильтр по назначениюpriority(необязательно): уровень приоритета (0-4)limit(необязательно, по умолчанию: 10): Максимальное количество результатов на страницуcursor(необязательно): Курсор пагинации для извлечения следующей страницыsortBy(необязательно, по умолчанию: «обновлено»): поле для сортировки («создано», «обновлено», «приоритет», «название»).sortDirection(необязательно, по умолчанию: 'desc'): Направление сортировки ('asc', 'desc')
линейный_спринт_проблемы
Получить все проблемы в текущем спринте/итерации:
teamId(обязательно): идентификатор команды для получения задач спринта
линейные_поисковые_команды
Поиск и извлечение линейных команд:
query(необязательно): Текст для поиска в названиях команд
линейный_фильтр_спринт_проблемы
Фильтровать текущие задачи спринта по статусу и автоматически фильтровать по текущему пользователю:
teamId(обязательно): идентификатор команды для получения задач спринтаstatus(обязательно): статус для фильтрации (например, «Ожидает выпуска продукта»)
linear_get_issue_details
Получите подробную информацию о конкретной проблеме, включая полное описание, комментарии и метаданные:
issueId(обязательно): идентификатор проблемы (например, «DATA-1284») для получения сведений
линейное_массовое_обновление_статуса
Обновите статус нескольких линейных проблем одновременно:
issueIds(обязательно): список идентификаторов проблем для обновления (например, ["ENG-123", "DATA-456"])targetStatus(обязательно): целевой статус, устанавливаемый для всех задач (например, «В процессе»)
линейное_управление_циклом
Создать, обновить или получить информацию о линейных циклах (спринтах):
action(обязательно): Действие для выполнения: «создать», «обновить», «получить» или «список»teamId(обязательно): идентификатор команды для управления цикламиcycleId(необязательно, требуется для действий обновления и получения): идентификатор циклаname(необязательно, требуется для создания): Имя циклаstartDate(необязательно, требуется для создания): Дата начала в формате ISO (ГГГГ-ММ-ДД)endDate(необязательно, требуется для создания): дата окончания в формате ISO (ГГГГ-ММ-ДД)description(необязательно): Описание цикла
Related MCP server: Linear MCP Server
Настройка разработчика
Получите свой ключ API Linear в разделе настроек Linear > API.
Создайте файл
.envв корне проекта:
Установить зависимости:
Запустите сервер:
Технические подробности
Создано с помощью TypeScript и SDK Model Context Protocol
Использует Linear SDK для взаимодействия с API
Включает обработку ошибок, ограничение скорости и управление соединениями.
Поддерживает автоматическое повторное подключение с настраиваемыми попытками повтора
Реализует мониторинг сердцебиения для проверки работоспособности соединения
Обеспечивает подробное ведение журнала в режиме отладки
Имеет систему кэширования в памяти для повышения производительности
Поддерживает разбиение на страницы для обработки больших наборов результатов.
Реализует пакетную обработку для массовых операций
Производительность и надежность
Сервер включает в себя комплекс функций для повышения производительности и надежности:
Система кэширования
Кэширование в памяти для часто используемых данных (команды, состояния рабочего процесса)
Настраиваемый TTL (время жизни) для записей кэша
Автоматическая очистка устаревших записей кэша
Статистика кэша доступна в режиме отладки
Обработка ошибок
Защита от тайм-аутов API с настраиваемыми тайм-аутами
Автоматические попытки повторного подключения при потере соединения
Подробная регистрация ошибок с временными метками и контекстом
Плавное завершение работы с очисткой
Мониторинг сердцебиения для определения состояния соединения
Оптимизация производительности
Пакетная обработка для массовых операций
Поддержка пагинации для больших наборов результатов
Параллельная обработка с Promise.all для одновременных операций
Эффективная выборка данных с минимальным количеством вызовов API
Зависимости
@linear/sdk: Линейный клиент API@modelcontextprotocol/sdk: реализация сервера MCPzod: Проверка и валидация типов во время выполненияdotenv: Управление переменными средыTypeScript и связанные с ним инструменты разработки
Полный список зависимостей см. в package.json .
Развертывание кузницы
Этот сервер можно развернуть на Smithery.ai , используя предоставленные файлы конфигурации:
Предпосылки
Аккаунт Smithery.ai
Ваш линейный ключ API
Этапы развертывания
Добавьте этот репозиторий в Smithery или заявите права на существующий сервер
Доступ к вкладке «Развертывания» (только для аутентифицированных владельцев)
Настройте развертывание с помощью вашего ключа линейного API.
Развертывание сервера
Файлы конфигурации
Репозиторий включает два основных файла для развертывания Smithery:
Dockerfile : определяет процесс сборки сервера.
Использует Node.js 18 Alpine в качестве базового образа
Устанавливает зависимости и собирает код TypeScript
Настраивает команду для запуска сервера
smithery.yaml : определяет конфигурацию запуска сервера
Указывает команду для запуска сервера
Определяет требуемые параметры конфигурации (линейный ключ API)
Управляет настройкой переменных среды
Тестирование локально
Вы можете протестировать конфигурацию Smithery локально с помощью MCP Inspector: