M

MCP Linear 服务器

@skspade/mcp-linear-server
0 Stars 19 次浏览 skspade 更新于 2026-08-23

通过模型上下文协议,启用AI模型与Linear进行问题跟踪和项目管理的交互,支持创建问题、搜索、管理冲刺和批量更新状态等功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Linear MCP 集成服务器

smithery 徽章

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

功能

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

linear_create_issue

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

  • title(必填):问题标题
  • teamId(必填):创建问题的团队ID
  • description(可选):问题描述(支持markdown)
  • priority(可选):优先级级别(0-4)
  • status(可选):初始状态名称

linear_search_issues

支持灵活过滤和分页搜索Linear问题:

  • 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

linear_search_teams

搜索并检索Linear团队:

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

linear_filter_sprint_issues

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

  • teamId(必填):获取冲刺问题的团队ID
  • status(必填):要过滤的状态(例如:"Pending Prod Release")

linear_get_issue_details

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

  • issueId(必填):要获取详情的问题ID(例如:"DATA-1284")

linear_bulk_update_status

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

  • issueIds(必填):要更新的问题ID列表(例如:["ENG-123", "DATA-456"])
  • targetStatus(必填):为所有问题设置的目标状态(例如:"In Progress")

linear_manage_cycle

创建、更新或获取关于Linear周期(冲刺)的信息:

  • action(必填):执行的动作:"create", "update", "get" 或 "list"
  • teamId(必填):管理周期的团队ID
  • cycleId(可选,对于更新和获取动作是必需的):周期ID
  • name(可选,对于创建动作是必需的):周期名称
  • startDate(可选,对于创建动作是必需的):开始日期(ISO格式 YYYY-MM-DD)
  • endDate(可选,对于创建动作是必需的):结束日期(ISO格式 YYYY-MM-DD)
  • description(可选):周期描述

开发者设置

  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 和 Model Context Protocol SDK 构建
  • 使用 Linear SDK 进行 API 交互
  • 包括错误处理、速率限制和连接管理
  • 支持自动重连,可配置重试次数
  • 实现心跳监控以检查连接健康状况
  • 在调试模式下提供详细的日志记录
  • 特性包括内存缓存系统以提高性能
  • 支持分页处理大量结果集
  • 批量处理批量操作

性能与可靠性

服务器包含了全面的性能和可靠性特性:

缓存系统

  • 内存缓存频繁访问的数据(团队、工作流状态)
  • 可配置的 TTL(生存时间)用于缓存条目
  • 自动清理过期的缓存条目
  • 调试模式下可用的缓存统计信息

错误处理

  • API 超时保护,支持可配置的超时设置
  • 连接丢失时自动尝试重新连接
  • 带有时间戳和上下文的详细错误日志
  • 优雅关闭处理,包含清理
  • 心跳监控检查连接健康状况

性能优化

  • 批量处理批量操作
  • 分页支持处理大量结果集
  • 并行处理并发操作使用 Promise.all
  • 高效数据获取,最小化 API 调用次数

依赖项

  • @linear/sdk: Linear API 客户端
  • @modelcontextprotocol/sdk: MCP 服务器实现
  • zod: 运行时类型检查和验证
  • dotenv: 环境变量管理
  • TypeScript 及相关开发工具

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

Smithery 部署

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

先决条件

  • 一个 Smithery.ai 账户
  • 您的 Linear API 密钥

部署步骤

  1. 将此仓库添加到 Smithery 或认领现有服务器
  2. 访问部署选项卡(仅限已认证的所有者)
  3. 使用您的 Linear API 密钥配置部署
  4. 部署服务器

配置文件

该仓库包括两个对 Smithery 部署至关重要的文件:

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

    • 使用 Node.js 18 Alpine 作为基础镜像
    • 安装依赖项并构建 TypeScript 代码
    • 设置运行服务器的命令
  2. smithery.yaml: 定义了服务器启动配置

    • 指定运行服务器的命令
    • 定义所需的配置参数(Linear 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

相关 MCP 服务