Skip to main content
Glama
skspade

Linear MCP Integration Server

by skspade

线性 MCP 集成服务器

铁匠徽章

该服务器通过模型上下文协议 (MCP) 提供 Linear 集成功能。它允许 AI 模型与 Linear 进行交互,以进行问题跟踪和项目管理。

特征

服务器通过MCP接口提供以下工具:

linear_create_issue

使用以下参数创建一个新的线性问题:

  • title (必填):问题标题

  • teamId (必填):创建问题的团队 ID

  • description (可选):问题描述(支持 markdown)

  • priority (可选):优先级(0-4)

  • status (可选):初始状态名称

线性搜索问题

通过灵活的过滤和分页支持搜索线性问题:

  • query (可选):标题/描述中要搜索的文本

  • teamId (可选):按团队过滤

  • status (可选):按状态过滤

  • assigneeId (可选):按受让人过滤

  • priority (可选):优先级(0-4)

  • limit (可选,默认值:10):每页的最大结果数

  • cursor (可选):用于获取下一页的分页游标

  • sortBy (可选,默认值:'updated'):排序依据的字段('created'、'updated'、'priority'、'title')

  • sortDirection (可选,默认值:'desc'):排序方向('asc','desc')

linear_sprint_issues

获取当前冲刺/迭代中的所有问题:

  • teamId (必填):获取冲刺问题的团队 ID

线性搜索团队

搜索并检索线性团队:

  • query (可选):在团队名称中搜索的文本

linear_filter_sprint_issues

按状态过滤当前冲刺问题并自动过滤到当前用户:

  • teamId (必填):获取冲刺问题的团队 ID

  • status (必填):要过滤的状态(例如“待发布产品”)

linear_get_issue_details

获取有关特定问题的详细信息,包括完整描述、评论和元数据:

  • issueId (必填):用于获取详细信息的问题 ID(例如“DATA-1284”)

linear_bulk_update_status

一次更新多个线性问题的状态:

  • issueIds (必需):要更新的问题 ID 列表(例如 [“ENG-123”、“DATA-456”])

  • targetStatus (必需):为所有问题设置的目标状态(例如“进行中”)

linear_manage_cycle

创建、更新或获取有关线性循环(冲刺)的信息:

  • action (必需):要执行的操作:“创建”、“更新”、“获取”或“列出”

  • teamId (必填):用于管理周期的团队 ID

  • cycleId (可选,更新和获取操作所需):周期 ID

  • name (可选,创建时必需):循环名称

  • startDate (可选,创建时必需):ISO 格式的开始日期(YYYY-MM-DD)

  • endDate (可选,创建时必需):ISO 格式的结束日期(YYYY-MM-DD)

  • description (可选):循环描述

Related MCP server: Linear MCP Server

开发人员设置

  1. 从 Linear 的设置 > API 部分获取 Linear API 密钥

  2. 在项目根目录中创建一个.env文件:

LINEAR_API_KEY=your_api_key_here
  1. 安装依赖项:

npm install
  1. 启动服务器:

# Development mode with auto-reload npm run dev # Production mode npm start # Build TypeScript npm run build # Run linter npm run lint # Run tests npm run test # Inspect MCP server npm run inspect

技术细节

  • 使用 TypeScript 和模型上下文协议 SDK 构建

  • 使用 Linear SDK 进行 API 交互

  • 包括错误处理、速率限制和连接管理

  • 支持自动重新连接并可配置重试次数

  • 实施心跳监控以监测连接健康状况

  • 在调试模式下提供详细日志记录

  • 具有内存缓存系统以提高性能

  • 支持分页处理大量结果集

  • 实现批量操作的批处理

性能和可靠性

该服务器包括性能和可靠性的综合功能:

缓存系统

  • 对频繁访问的数据(团队、工作流状态)进行内存缓存

  • 可配置缓存条目的 TTL(生存时间)

  • 自动清理过期的缓存条目

  • 调试模式下可用的缓存统计信息

错误处理

  • 可配置超时的 API 超时保护

  • 连接丢失时自动重新连接尝试

  • 带有时间戳和上下文的详细错误日志记录

  • 优雅关机处理与清理

  • 连接健康状况的心跳监控

性能优化

  • 批量操作的批处理

  • 大型结果集的分页支持

  • 使用 Promise.all 进行并行处理以进行并发操作

  • 通过最少的 API 调用实现高效的数据获取

依赖项

  • @linear/sdk :线性 API 客户端

  • @modelcontextprotocol/sdk :MCP 服务器实现

  • zod :运行时类型检查和验证

  • dotenv :环境变量管理

  • TypeScript 和相关开发工具

有关依赖项的完整列表,请参阅package.json

Smithery部署

可以使用提供的配置文件在Smithery.ai上部署此服务器:

先决条件

  • Smithery.ai 帐户

  • 您的线性 API 密钥

部署步骤

  1. 将此存储库添加到 Smithery 或声明现有服务器

  2. 访问“部署”选项卡(仅限经过身份验证的所有者)

  3. 使用您的 Linear API 密钥配置部署

  4. 部署服务器

配置文件

该存储库包含 Smithery 部署的两个基本文件:

  1. Dockerfile :定义服务器构建流程

    • 使用 Node.js 18 Alpine 作为基础镜像

    • 安装依赖项并构建 TypeScript 代码

    • 设置运行服务器的命令

  2. smithery.yaml :定义服务器启动配置

    • 指定运行服务器的命令

    • 定义所需的配置参数(线性 API 密钥)

    • 处理环境变量设置

本地测试

您可以使用 MCP Inspector 在本地测试 Smithery 配置:

# Build the Docker image docker build -t linear-mcp-server . # Run the container with your Linear API key docker run -e LINEAR_API_KEY=your_api_key_here linear-mcp-server # Or use the MCP Inspector npm run inspect
-
security - not tested
F
license - not found
-
quality - not tested

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/skspade/mcp-linear-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server