Linear MCP Server
Линейный MCP-сервер
Реализация сервера Model Context Protocol (MCP), обеспечивающая доступ к системе отслеживания проблем Linear через стандартизированный интерфейс.
Функции
Создавайте новые выпуски и подвыпуски с поддержкой лейблов
Получить список линейных проектов
Получить обновления проекта
Создать новое обновление проекта со статусом работоспособности
Обновите существующие проблемы с полной модификацией поля
Удалить проблему с проверкой
Самостоятельно назначать проблемы, используя ключевое слово «я»
Расширенный поиск с мощными возможностями фильтрации Linear
Фильтрация проблем по циклу (текущий, следующий, предыдущий или определенный цикл по UUID или номеру)
Добавляйте комментарии к проблемам с поддержкой разметки
Запрос линейных проблем по идентификатору или ключу с дополнительными связями
Поиск проблем с использованием пользовательских запросов с расширенными метаданными
Типобезопасные операции с использованием официального SDK Linear
Комплексная обработка ошибок
Обработка ограничения скорости
Чистое преобразование данных
Отслеживание отношений родитель/потомок с наследованием команды
Управление и синхронизация этикеток
Related MCP server: Linear MCP Server
Предпосылки
Среда выполнения Bun (v1.0.0 или выше)
Линейный аккаунт с доступом через API
Переменные среды
LINEAR_API_KEY=your_api_key # Your Linear API tokenУстановка и настройка
1. Клонируйте репозиторий:
git clone [repository-url]
cd linear-mcp2. Установите зависимости и соберите:
bun install
bun run build3. Настройте 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.jsonClaude 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 .
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cosmix/linear-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server