Линейный сервер интеграции 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
(необязательно): Описание цикла
Настройка разработчика
- Получите свой ключ 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:
This server cannot be installed
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.
Позволяет моделям ИИ взаимодействовать с Linear для отслеживания проблем и управления проектами через протокол контекста модели, поддерживая такие возможности, как создание проблем, поиск, управление спринтами и массовое обновление статусов.
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI agents to manage issues, projects, and teams on the Linear platform programmatically.Last updated -78350JavaScriptMIT License
- -securityFlicense-qualityEnables AI models to interact with Linear for issue tracking and project management through capabilities like creating/searching issues, managing sprints, and retrieving workflow states.Last updated -TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.Last updated -56PythonApache 2.0
- AsecurityAlicenseAqualityProvides tools for interacting with Targetprocess, a project management and agile planning platform, enabling AI assistants to search, create, and update project entities with proper validation.Last updated -54TypeScriptMIT License