每日 MCP Server

Linear MCP:让 AI 接管项目任务,从工单到交付全自动

2026-08-19
项目管理仓库
支持客户端:
Claude DesktopCursorVS CodeContinue
MCPLinear项目管理工单

简介

Linear MCP 让 Claude/Cursor 直连 Linear,建任务、改状态、查进度、分配负责人,让 AI 把项目工单从被动记录变成主动驱动。本文拆解安装配置、8 个工具用法、5 个实战场景(PR 自动转工单、bug 自动入库、周报自动生成、延期预警、Sprint 规划),以及写权限的安全管控。

安装命令

npx -y @modelcontextprotocol/server-linear

为什么需要 Linear MCP

项目管理的痛点:

PR 合并了 → 测试发现 bug → 你要手动建工单
  1. 切到 Linear
  2. 新建 issue
  3. 填标题/描述/标签/负责人/优先级
  4. 关联 PR
  5. 切到 Slack 通知
  → 5 步,3 分钟,还容易漏填

Linear MCP:
  你:PR #123 合并后出了 bug,建工单
  AI:
    1. 读 PR 内容(GitHub MCP)
    2. 读 bug 描述
    3. 在 Linear 建 issue
    4. 标题/描述/标签自动填
    5. 负责人 = PR 作者
    6. 关联 PR
    7. Slack 通知(Slack MCP)
  → 1 步,0 切换

Linear MCP 把项目工单从"手动登记"变成 AI 主动驱动。

核心能力

工具说明
创建任务建 issue/task/bug
更新任务改状态/优先级/负责人
查询任务按 ID/状态/标签查
列出任务查 Sprint 内全部
评论给 issue 加评论
分配设负责人
关联关联 PR/文档
搜索全库关键词搜

安装与配置

Step 1:创建 Linear API Key

  1. 访问 Linear → Settings → API
  2. 生成 Personal API Key(lin_api_xxx)

Step 2:各客户端配置

Claude Desktop

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-linear"],
      "env": {
        "LINEAR_API_KEY": "lin_api_xxxxxxxxxxxx"
      }
    }
  }
}

Cursor / VS Code Continue

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-linear"],
      "env": {
        "LINEAR_API_KEY": "lin_api_xxxxxxxxxxxx"
      }
    }
  }
}

Step 3:验证

列出当前 Sprint 的所有任务

AI 返回任务清单,确认配置成功。

五个实战场景

场景 1:PR 自动转工单

配合 GitHub MCP:

你:PR #123 合并了,把改动建 3 个测试任务

AI:
  1. 读 PR(GitHub MCP)
  2. 识别改动点:
     - 改了支付模块
     - 改了退款逻辑
     - 改了订单状态机
  3. 在 Linear 建 3 个测试任务
  4. 标题:[测试] 支付模块 xxx
  5. 描述:含 PR 链接 + 改动摘要
  6. 负责人 = QA 团队
  7. 优先级 = Medium
  8. 标签 = testing, post-merge

场景 2:Bug 自动入库

配合 Sentry/日志:

你:生产环境报错,日志在 errors.log,建 bug 工单

[报错日志...]

AI:
  1. 分析日志,定位错误
  2. 读相关代码(Filesystem MCP)
  3. 在 Linear 建 bug 工单
  4. 标题:[Bug] 支付回调超时
  5. 描述:错误堆栈 + 复现路径 + 影响范围
  6. 优先级 = Urgent(影响支付)
  7. 负责人 = 支付模块 owner
  8. 标签 = bug, payment, P0

场景 3:周报自动生成

你:生成本周项目周报

AI:
  1. 查本周已完成任务(status=Done, week=this)
  2. 查本周新建任务
  3. 查延期任务
  4. 汇总:
     - 完成 15 个(含 3 个 P0)
     - 新建 12 个
     - 延期 2 个
  5. 存到 Notion(Notion MCP)
  6. Slack 发摘要(Slack MCP)

场景 4:延期预警

你:查哪些任务可能延期

AI:
  1. 查 due_date < 今天 + 3天 且 status != Done
  2. 读每个的进度(评论/子任务)
  3. 判断:
     - 进度 < 70% → 高风险延期
     - 70-90% → 中风险
  4. 输出预警表
  5. 给高风险任务负责人发 Slack

场景 5:Sprint 规划

你:下个 Sprint 选哪些任务

AI:
  1. 查 Backlog 所有未排期任务
  2. 按优先级排序
  3. 估算每个的复杂度(读描述判断)
  4. 按团队容量(10 人 × 5 天 = 50 人天)选
  5. 输出建议:
     - P0 全选(8 个,预估 20 人天)
     - P1 选 15 个(预估 25 人天)
     - 留 5 人天 buffer
  6. 创建 Sprint,批量排期

权限管控要点

1. 只读优先

日常查询用只读 API Key
写操作用独立 Key + 二次确认

Linear API Key 权限:

  • Read:只读
  • Read + Write:读写(高风险)

2. 团队隔离

✗ 给 MCP 全团队访问权 → 可能误改其他团队任务
✓ 用 Team 级 API Key,限制到本团队

3. 敏感任务隔离

✗ 安全/合规工单也授权 → AI 可能输出敏感信息
✓ 敏感工单单独项目,不给 MCP 授权

4. 写操作 system prompt 规则

你连的是生产 Linear。规则:
1. 创建任务前确认标题与所属项目
2. 不删除已有任务(改状态为 Canceled)
3. 改负责人前提示用户
4. 大批量操作(>5 个)需用户确认
5. 改优先级前确认(防止 AI 把所有任务设成 Urgent)

注意事项

1. API 限流

Linear API 限速约 1500 请求/小时。批量操作加 sleep:

import time
for task in tasks:
    linear.create_task(task)
    time.sleep(2.5)  # 避免限流

2. 状态机复杂

Linear 任务有状态机:

Backlog → Todo → In Progress → In Review → Done
                              → Canceled

AI 改状态要按流转,不能跳级(如 Backlog 直接到 Done)。

3. 自定义属性

Linear 支持自定义属性,AI 操作时要匹配:

优先级:Urgent/High/Medium/Low
类型:Bug/Task/Feature
标签:团队自定义

4. 关联局限

Linear 关联 PR 需 PR 在 GitHub 侧也配 Linear 集成
→ 单向关联可能不完整
→ 配 GitHub MCP 双向确认

5. Webhook 触发

Linear 状态变更可触发 Webhook
→ MCP 客户端订阅 Webhook 实现实时响应
→ 但 MCP 是请求-响应模式,Webhook 要单独处理

与其他 MCP 的协作

组合场景
Linear + GitHubPR 自动转工单
Linear + Slack任务变更通知团队
Linear + Notion周报存档知识库
Linear + Filesystem读日志建 bug 工单

与 Notion MCP 的区别

维度Linear MCPNotion MCP
定位项目工单知识库
结构工单/状态机/Sprint数据库/页面
流程强(状态流转)弱
协作任务分配文档协作
适合开发任务跟踪知识沉淀

协作三件套

Linear MCP(任务) → 谁做什么
Slack MCP(沟通) → 进展同步
Notion MCP(知识) → 做完存档

三者覆盖了项目协作全流程。

小结

Linear MCP 把项目工单从"被动登记"变成 AI 主动驱动。

记住一个原则:只读 Key 日常用,写操作用独立 Key + 二次确认。配合 GitHub MCP(PR 转工单)、Slack MCP(变更通知)、Notion MCP(周报存档),协作三件套集齐——任务、沟通、知识全打通。

相关推荐

查看更多 →
MCP编程开发

MCP Resources 实战:让服务端把 8 万行设计文档喂给 Agent,附四套客户端配置与13 行排查表

Tools 是「Agent 问你答」,Resources 是「你问Agent 答」——同一个 MCP Server 里,方向相反的两种能力,而且很多人在写 Server 时只实现了 Tools,漏掉了 Resources。结果是文档、规范、schema、日志这类只读数据只能靠 Agent 一个个调 Tool 去捞,每次捞都要过一次模型判断,成本高还不稳定。本文讲透MCP 四大原语里的第二个:Resources。涵盖 resources/list、resources/read、resources/templates/list 三个方法与 URI 模板机制(RFC 6570 展开规则),以及 Resource 与 Tool 的选型对照(把同一份数据做成 Tool 还是 Resource 的实测差异)。给出一个可运行的「设计文档中心」Server 完整实现(含 40+ 行 TypeScript,含分页、版本快照、访问审计),以及 Claude Code / Cursor / VS Code + Copilot / Trae 四套带中文注释的配置 JSON。三个实战场景:Agent 读设计文档回答「这个接口为什么这么设计」、按版本读取历史 schema 做迁移校验、把资源目录挂进 IDE 侧边栏。另含资源数量膨胀到 500+ 时的分页与 URI 命名规范、五条安全红线(为什么资源 URI 绝不能暴露绝对路径和凭据),以及 13 行故障排查表。

2026-10-13
#MCP#Model Context Protocol
MCP开发

MCP Elicitation 实战:让服务端在缺参数时反向向用户提问——受限 Schema 设计 + 四套客户端配置 + 13 行排查表

写 MCP Server 的人迟早会遇到一个尴尬场景:工具必填参数用户没给,服务端要么猜一个(猜错就出事),要么返回一个干巴巴的「缺少参数 xx」让 Agent 自己去追问(Agent 经常追问得驴唇不对马嘴)。MCP 协议里的 Elicitation 就是为这个场景设计的第三个「反向能力」——服务端可以在执行过程中主动向客户端发起一次提问,由客户端把问题渲染成表单弹给用户,用户填完再回传,全程服务端不需要自己实现任何 UI、不需要存任何凭据。本文讲透它的机制与边界:elicitation/create 请求的完整结构、为什么 requestedSchema 被刻意限制成只支持原始类型(这是安全设计不是能力不足)、用户的三种响应(accept / decline / cancel)各自的语义差异、以及最关键的——为什么不能在 Elicitation 里索取密码和 API Key。含 TypeScript SDK 完整实现(含类型定义与降级路径)、Claude Code / Cursor / VS Code + Copilot / Trae 四套带中文注释的配置、三个实战场景(部署确认 / 缺失参数补全 / 敏感操作二次确认)、与 Sampling / 传统参数校验的选型对比、六条安全注意事项,以及 13 行故障排查表。

2026-10-12
#MCP#Model Context Protocol
MCP开发

MCP Roots 与 Sampling 实战:让服务端主动划边界、反向要推理——四套客户端配置 + 14 行排查表

多数人写 MCP Server 只用到 Resources / Tools / Prompts 三项,Roots 和 Sampling 这两个反向能力基本闲置,结果就是 Server 既不知道自己该在哪干活,也没有推理能力。本文把这两个方向的能力讲透:Roots 是客户端告诉服务端「工作区边界在哪」的机制(URI 列表、roots/list 双向协商、listChanged 动态通知、路径穿越的必修防御),Sampling 是服务端反过来向客户端的 LLM 请求一次推理的机制(服务端不知道任何 API Key,模型由客户端挑、账由客户端付、人可以卡在中间审批)。含 TypeScript SDK 完整实现代码(含 sampling/createMessage 的类型定义与 human-in-the-loop 回调)、Claude Code / Cursor / VS Code + Copilot / Trae 四套带中文注释的配置、三个实战场景(单仓守卫 / 日志归因摘要 / 隐私脱敏代理)、与其他方案的选型对比表、六条安全注意事项,以及 14 行故障排查表。

2026-10-10
#MCP#Model Context Protocol
MCP开发

MCP 无状态化改造:协议层不再存状态之后——并发、水平扩容、断线重连三大硬伤的根治方案与四套客户端配置

2026 年 MCP 协议经历了一次方向性的改动:核心交互不再依赖服务端保存的会话状态,状态不再存储在协议层,而是被甩给应用层处理。对写过有状态 MCP Server 的人来说,这次改动的直接感受是「少了一大堆坑」——会话粘连导致的多实例不可用、水平扩容一扩就断连、断线重连要么报错要么整段重放。本文讲清楚三件事:为什么协议层存状态在生产环境必然出问题(并发、扩容、重连三个硬伤,各配一组实测对照数据);无状态化之后你手里的工具清单发生了什么变化(transport 类、协议方法、Serverless 适配);以及状态外置的三种标准实现(外部存储、客户端持有、资源句柄),每种都给出可直接跑的 TypeScript SDK 代码。含 Claude Code / Cursor / VS Code / Trae 四套带中文注释的完整配置、三个实战场景、选型对比表、安全注意事项(含 DNS 重绑定的必修项),以及 14 行故障排查表。

2026-10-08
#MCP#Model Context Protocol