Linear MCP Server

by magarcia
Verified
MIT License
  • Apple

Integrations

  • Interfaces with Linear's GraphQL API, enabling structured queries and mutations for accessing and manipulating data in the Linear platform.

  • Provides integration with Linear's issue tracking system, allowing management of issues, teams, projects, labels, milestones, and attachments. Supports creating and updating issues, adding comments, searching and filtering issues, managing relationships between issues, and accessing detailed information about teams, projects, and users.

线性 MCP 服务器

线性 API模型上下文协议服务器。

该服务器通过 MCP 提供与 Linear 问题跟踪系统的集成,允许 LLM 与 Linear 问题进行交互。

安装

自动安装

要通过Smithery自动为 Claude Desktop 安装 Linear MCP 服务器:

npx @smithery/cli install mcp-server-linearapp --client claude

手动安装

  1. 创建或获取 Linear 个人 API 密钥: https://linear.app/settings/account/security
  2. 将服务器配置添加到 Claude Desktop:
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "linear": { "command": "npx", "args": ["-y", "mcp-server-linearapp"], "env": { "LINEAR_API_KEY": "your_linear_api_key_here" } } } }

成分

工具

用户相关工具

  1. linear_get_viewer :获取有关经过身份验证的用户的信息
    • 无需输入
    • 返回用户个人资料信息,包括 ID、姓名、电子邮件和活动状态
  2. linear_get_user_issues :获取分配给用户的问题
    • 可选输入:
      • userId (字符串):用户 ID(对于已验证的用户可省略)
      • includeArchived (布尔值):包括存档问题
      • limit (数字,默认值:50):最大结果数
  3. linear_get_user_teams :获取与用户关联的团队
    • 可选输入:
      • userId (字符串):获取团队的用户 ID(对于经过身份验证的用户则省略)
      • includeArchived (布尔值):包括存档的团队
      • limit (数字,默认值:50):返回的最大团队数量
    • 返回用户所属团队的列表
  4. linear_get_user_projects :获取与用户关联的项目
    • 可选输入:
      • userId (字符串):获取项目的用户 ID(对于经过身份验证的用户则省略)
      • includeArchived (布尔值):包括存档项目
      • limit (数字,默认值:50):返回的最大项目数
      • status (字符串):按项目状态过滤(例如“已完成”、“进行中”)
    • 返回用户作为领导或成员的项目列表

团队相关工具

  1. linear_get_teams :获取组织中的团队
    • 可选输入:
      • includeArchived (布尔值):包括存档的团队
      • limit (数字,默认值:50):返回的最大团队数量
  2. linear_get_team :获取特定团队的详细信息
    • 必需输入:
      • teamId (字符串):获取详细信息的团队 ID
    • 返回团队信息,包括名称、密钥、成员和设置
  3. linear_get_team_issues :获取特定团队的问题
    • 必需输入:
      • teamId (字符串):获取问题的团队 ID
    • 可选输入:
      • includeArchived (布尔值):包括存档问题
      • limit (数字,默认值:50):返回的最大问题数
      • status (字符串):按问题状态过滤
      • priority (数字):按优先级过滤
      • assigneeId (字符串):按受让人过滤

项目相关工具

  1. linear_get_projects :获取组织中的项目
    • 可选输入:
      • teamId (字符串):按团队过滤项目
      • includeArchived (布尔值):包括存档项目
      • limit (数字,默认值:50):返回的最大项目数
      • status (字符串):按项目状态过滤
  2. linear_get_project :获取有关特定项目的详细信息
    • 必需输入:
      • projectId (字符串):获取详细信息的项目 ID
    • 返回详细的项目信息,包括进度、状态、团队、负责人和日期
  3. linear_get_project_issues :获取特定项目的问题
  • 必需输入:
    • projectId (字符串):获取问题的项目 ID
  • 可选输入:
    • includeArchived (布尔值):包括存档问题
    • limit (数字,默认值:50):返回的最大问题数
    • status (字符串):按问题状态过滤
    • priority (数字):按优先级过滤

问题相关工具

  1. linear_create_issue :创建一个新的线性问题
  • 必需输入:
    • title (字符串):问题标题
    • teamId (字符串):创建问题的团队 ID
  • 可选输入:
    • description (字符串):问题描述(支持 markdown)
    • priority (数字,0-4):优先级(1=紧急,4=低)
    • status (字符串):初始状态名称
  1. linear_update_issue :更新现有问题
  • 必需输入:
    • id (字符串):要更新的问题 ID
  • 可选输入:
    • title (字符串):新标题
    • description (字符串):新描述
    • priority (数字,0-4):新的优先级
    • status (字符串):新状态名称
  1. linear_search_issues :使用灵活过滤来搜索问题
  • 可选输入:
    • query (字符串):在标题/描述中搜索的文本
    • teamId (字符串):按团队过滤
    • status (字符串):按状态过滤
    • assigneeId (字符串):按受让人过滤
    • labels (string[]):按标签过滤
    • priority (数字):按优先级过滤
    • limit (数字,默认值:10):最大结果数
  1. linear_add_comment :向问题添加评论
  • 必需输入:
    • issueId (字符串):需要评论的问题 ID
    • body (字符串):评论文本(支持 markdown)
  • 可选输入:
    • createAsUser (字符串):自定义用户名
    • displayIconUrl (string): 自定义头像URL

标签管理工具

  1. linear_get_labels :获取组织中的标签
  • 可选输入:
    • teamId (字符串):按团队过滤标签
    • includeArchived (布尔值):包含存档标签
    • limit (数字,默认值:50):返回的最大标签数
  1. linear_create_label :创建新标签
  • 必需输入:
    • name (字符串):标签名称
    • teamId (字符串):要创建标签的团队 ID
  • 可选输入:
    • color (字符串):颜色十六进制代码(例如“#FF0000”)
    • description (字符串):标签描述
  1. linear_update_label :更新现有标签
  • 必需输入:
    • id (字符串):要更新的标签ID
  • 可选输入:
    • name (字符串):新标签名称
    • color (字符串):新的颜色十六进制代码
    • description (字符串):新描述

附件管理工具

  1. linear_add_attachment :向问题添加附件
  • 必需输入:
    • issueId (字符串):要添加附件的问题 ID
    • url (字符串):附件的 URL
    • title (字符串):附件的标题
  • 可选输入:
    • subtitle (字符串):附件的字幕
    • icon (字符串):附件的图标 URL
  1. linear_get_attachments :获取问题的附件
  • 必需输入:
    • issueId (string): 获取附件的问题 ID

问题关系工具

  1. linear_link_issues :创建问题之间的关系
  • 必需输入:
    • issueId (字符串):源问题 ID
    • relatedIssueId (字符串):目标问题ID
    • type (字符串):关系类型(例如,“blocks”、“related”、“duplicate”)
  1. linear_get_issue_relations :获取问题的关系
  • 必需输入:
    • issueId (字符串):获取关系的问题 ID
  • 可选输入:
    • type (字符串):按关系类型过滤

里程碑管理工具

  1. linear_get_milestones :获取项目的里程碑
  • 可选输入:
    • projectId (字符串):按项目过滤里程碑
    • includeArchived (布尔值):包括已存档的里程碑
    • limit (数字,默认值:50):返回的最大里程碑数量
  1. linear_create_milestone :创建一个新的里程碑
  • 必需输入:
    • name (字符串):里程碑名称
    • projectId (字符串):创建里程碑的项目 ID
    • targetDate (字符串):目标完成日期(ISO 格式)
  • 可选输入:
    • description (字符串):里程碑描述
    • sortOrder (数字):里程碑列表中的位置
  1. linear_update_milestone :更新现有里程碑
  • 必需输入:
    • id (字符串):要更新的里程碑 ID
  • 可选输入:
    • name (字符串):新里程碑名称
    • targetDate (字符串):新的目标日期
    • description (字符串):新描述
    • status (字符串):新状态(例如,“计划”、“进行中”、“已完成”)

资源

  • linear-issue:///{issueId} :查看单个问题的详细信息
    • 返回问题信息,包括标题、描述、评论和元数据
  • linear-team:///{teamId} :查看团队详细信息
    • 返回团队信息,包括名称、密钥、描述和成员
  • linear-team:///{teamId}/issues :查看团队问题
    • 返回特定团队的所有问题及其状态和优先级信息
  • linear-project:///{projectId} :查看项目详情
    • 返回项目信息,包括名称、描述、进度、状态、负责人、团队和时间表
  • linear-project:///{projectId}/issues :查看项目问题
    • 返回特定项目的所有问题及其状态和分配信息
  • linear-project:///{projectId}/milestones :查看项目里程碑
    • 返回特定项目的所有里程碑以及进度和状态信息
  • linear-user:///{userId}/assigned :查看用户分配的问题
    • 返回分配给特定用户的问题以及项目和团队上下文
  • linear-organization: :查看组织信息
    • 返回组织级信息,包括名称和设置
  • linear-viewer: :查看当前用户上下文
    • 返回有关已验证用户的信息
  • linear-viewer:///teams :查看经过身份验证的用户的团队
    • 返回当前用户所属的所有团队
  • linear-viewer:///projects :查看经过身份验证的用户的项目
    • 返回当前用户参与的所有项目(作为领导或成员)
  • linear-viewer:///assigned :查看分配给经过身份验证的用户的问题
    • 返回分配给当前用户的所有问题以及项目和团队上下文
  • linear-label:///{labelId} :查看标签详情
    • 返回标签信息,包括名称、颜色和相关问题

使用示例

以下是您可以使用 Claude Desktop 与 Linear 进行交互的示例提示:

问题管理

  • “为身份验证系统创建新的错误报告”→使用linear_create_issue创建具有适当详细信息的新问题
  • “将工单 FRONT-123 的优先级更新为紧急”→使用linear_update_issue修改现有问题的优先级
  • “向登录页面错误添加一条评论,解释根本原因”→使用linear_add_comment向现有问题添加信息

查找和过滤问题

  • “显示我所有高优先级问题”→使用linear_get_user_issueslinear-viewer:///assigned查找分配给您的高优先级问题
  • “查找所有正在进行的前端任务”→使用linear_search_issues来定位状态为“正在进行”的前端相关问题
  • “目前分配给 Sarah 的问题有哪些?” → 使用linear_get_user_issues和 Sarah 的 ID 查看她的分配情况

团队和项目管理

  • “我是哪些团队的成员?” → 使用linear_get_user_teamslinear-viewer:///teams列出经过身份验证的用户所属的所有团队
  • “显示我正在领导或参与的项目”→使用linear_get_user_projectslinear-viewer:///projects获取与当前用户相关的所有项目
  • “移动应用项目目前进展如何?” → 使用linear_get_project获取项目详细信息,包括进度
  • “列出前端团队的所有活跃项目”→结合linear_get_team查找团队 ID,并使用linear_get_projects与团队过滤器查找活跃项目

状态和工作量分析

  • “请提供计费系统问题的最新更新摘要”→使用linear_search_issues识别相关问题,然后使用linear-issue:///{issueId}获取问题详细信息
  • “移动团队目前的工作量是多少?” → 使用linear-team:///{teamId}/issueslinear_get_team_issues来分析整个团队的问题分布情况
  • “显示我在组织中的角色和职责”→使用linear_get_viewerlinear-viewer:///teams来分析团队成员和角色

标签和分类

  • “为高优先级安全问题创建‘安全’标签”→使用linear_create_label创建具有适当设置的新标签
  • “前端团队有哪些可用的标签?” → 使用linear_get_labels和前端团队 ID 查看可用的分类
  • “将‘需要文档’标签应用于所有 API 问题”→使用linear_search_issues查找与 API 相关的问题,然后使用linear_update_issue更新每个问题

里程碑管理

  • “为 Beta 版本创建里程碑”→使用linear_create_milestone设置项目里程碑和目标日期
  • “移动应用项目中即将实现哪些里程碑?” → 使用linear_get_milestones和项目 ID 查看计划交付点
  • “将 API v2 里程碑的状态更新为已完成”→使用linear_update_milestone更改里程碑状态

问题关系

  • “将问题 FRONT-123 标记为阻塞 API-456”→使用linear_link_issues在问题之间创建阻塞关系
  • “这个错误阻止了哪些问题?” → 使用linear_get_issue_relations查找依赖项
  • “显示与身份验证系统相关的所有问题”→使用带有适当过滤器的linear_search_issues ,然后使用linear_get_issue_relations探索关系

发展

  1. 安装依赖项:
npm install
  1. .env中配置 Linear API 密钥:
LINEAR_API_KEY=your_api_key_here
  1. 构建服务器:
npm run build

对于使用自动重建的开发:

npm run watch

执照

此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

-
security - not tested
A
license - permissive license
-
quality - not tested

模型上下文协议服务器使大型语言模型能够与 Linear 的问题跟踪系统进行交互,从而允许管理问题、项目、团队和其他 Linear 资源。

  1. Installation
    1. Automatic Installation
    2. Manual Installation
  2. Components
    1. Tools
    2. Resources
  3. Usage examples
    1. Issue Management
    2. Finding and Filtering Issues
    3. Team and Project Management
    4. Status and Workload Analysis
    5. Label and Categorization
    6. Milestone Management
    7. Issue Relationships
  4. Development
    1. License
      ID: hb4oc9s50d