Skip to main content
Glama

Линейный 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 .

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

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
    Last updated -
    83
    3
    • Apple
  • -
    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 -
    322
    333
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    A 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 -
    6
    Apache 2.0
  • -
    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 -
    2,557
    1
    MIT License
    • Apple
    • Linux

View all related MCP servers

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