Integrations
Used for environment variable management, specifically to load the Linear API key for authentication with Linear's API.
Provides tools for interacting with Linear for issue tracking and project management, including creating issues, searching issues, retrieving sprint issues, searching teams, filtering sprint issues, and bulk updating issue statuses.
Supported in Linear issue descriptions, allowing rich text formatting when creating issues.
Линейный сервер интеграции 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 -712322JavaScriptMIT 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 -5TypeScriptMIT License