Linear MCP Server

Linear MCP Server

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

Category
访问服务器

README

Linear MCP 服务器

npm 版本 smithery badge

一个用于 Linear 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 (string): 用户 ID(省略则为已验证用户)
      • includeArchived (boolean): 包括已存档的问题
      • limit (number, 默认值: 50): 最大结果数
  3. linear_get_user_teams: 获取与用户关联的团队

    • 可选输入:
      • userId (string): 获取团队的用户 ID(省略则为已验证用户)
      • includeArchived (boolean): 包括已存档的团队
      • limit (number, 默认值: 50): 要返回的最大团队数
    • 返回用户所属的团队列表
  4. linear_get_user_projects: 获取与用户关联的项目

    • 可选输入:
      • userId (string): 获取项目的用户 ID(省略则为已验证用户)
      • includeArchived (boolean): 包括已存档的项目
      • limit (number, 默认值: 50): 要返回的最大项目数
      • status (string): 按项目状态筛选(例如,“已完成”、“进行中”)
    • 返回用户作为负责人或成员的项目列表

团队相关工具

  1. linear_get_teams: 获取组织中的团队

    • 可选输入:
      • includeArchived (boolean): 包括已存档的团队
      • limit (number, 默认值: 50): 要返回的最大团队数
  2. linear_get_team: 获取有关特定团队的详细信息

    • 必需输入:
      • teamId (string): 要获取详细信息的团队 ID
    • 返回团队信息,包括名称、密钥、成员和设置
  3. linear_get_team_issues: 获取特定团队的问题

    • 必需输入:
      • teamId (string): 要获取问题的团队 ID
    • 可选输入:
      • includeArchived (boolean): 包括已存档的问题
      • limit (number, 默认值: 50): 要返回的最大问题数
      • status (string): 按问题状态筛选
      • priority (number): 按优先级筛选
      • assigneeId (string): 按受让人筛选

项目相关工具

  1. linear_get_projects: 获取组织中的项目

    • 可选输入:
      • teamId (string): 按团队筛选项目
      • includeArchived (boolean): 包括已存档的项目
      • limit (number, 默认值: 50): 要返回的最大项目数
      • status (string): 按项目状态筛选
  2. linear_get_project: 获取有关特定项目的详细信息

    • 必需输入:
      • projectId (string): 要获取详细信息的项目 ID
    • 返回详细的项目信息,包括进度、状态、团队、负责人和日期
  3. linear_get_project_issues: 获取特定项目的问题

    • 必需输入:
      • projectId (string): 要获取问题的项目 ID
    • 可选输入:
      • includeArchived (boolean): 包括已存档的问题
      • limit (number, 默认值: 50): 要返回的最大问题数
      • status (string): 按问题状态筛选
      • priority (number): 按优先级筛选

问题相关工具

  1. linear_create_issue: 创建新的 Linear 问题

    • 必需输入:
      • title (string): 问题标题
      • teamId (string): 在其中创建问题的团队 ID
    • 可选输入:
      • description (string): 问题描述(支持 markdown)
      • priority (number, 0-4): 优先级(1=紧急,4=低)
      • status (string): 初始状态名称
  2. linear_update_issue: 更新现有问题

    • 必需输入:
      • id (string): 要更新的问题 ID
    • 可选输入:
      • title (string): 新标题
      • description (string): 新描述
      • priority (number, 0-4): 新优先级
      • status (string): 新状态名称
  3. linear_search_issues: 使用灵活的筛选条件搜索问题

    • 可选输入:
      • query (string): 在标题/描述中搜索的文本
      • teamId (string): 按团队筛选
      • status (string): 按状态筛选
      • assigneeId (string): 按受让人筛选
      • labels (string[]): 按标签筛选
      • priority (number): 按优先级筛选
      • limit (number, 默认值: 10): 最大结果数
  4. linear_add_comment: 向问题添加评论

    • 必需输入:
      • issueId (string): 要评论的问题 ID
      • body (string): 评论文本(支持 markdown)
    • 可选输入:
      • createAsUser (string): 自定义用户名
      • displayIconUrl (string): 自定义头像 URL

标签管理工具

  1. linear_get_labels: 获取组织中的标签

    • 可选输入:
      • teamId (string): 按团队筛选标签
      • includeArchived (boolean): 包括已存档的标签
      • limit (number, 默认值: 50): 要返回的最大标签数
  2. linear_create_label: 创建新标签

    • 必需输入:
      • name (string): 标签名称
      • teamId (string): 在其中创建标签的团队 ID
    • 可选输入:
      • color (string): 颜色十六进制代码(例如,“#FF0000”)
      • description (string): 标签描述
  3. linear_update_label: 更新现有标签

    • 必需输入:
      • id (string): 要更新的标签 ID
    • 可选输入:
      • name (string): 新标签名称
      • color (string): 新颜色十六进制代码
      • description (string): 新描述

附件管理工具

  1. linear_add_attachment: 向问题添加附件

    • 必需输入:
      • issueId (string): 要添加附件的问题 ID
      • url (string): 附件的 URL
      • title (string): 附件的标题
    • 可选输入:
      • subtitle (string): 附件的副标题
      • icon (string): 附件的图标 URL
  2. linear_get_attachments: 获取问题的附件

    • 必需输入:
      • issueId (string): 要获取附件的问题 ID

问题关系工具

  1. linear_link_issues: 创建问题之间的关系

    • 必需输入:
      • issueId (string): 源问题 ID
      • relatedIssueId (string): 目标问题 ID
      • type (string): 关系类型(例如,“blocks”、“related”、“duplicate”)
  2. linear_get_issue_relations: 获取问题的关系

    • 必需输入:
      • issueId (string): 要获取关系的问题 ID
    • 可选输入:
      • type (string): 按关系类型筛选

里程碑管理工具

  1. linear_get_milestones: 获取项目的里程碑

    • 可选输入:
      • projectId (string): 按项目筛选里程碑
      • includeArchived (boolean): 包括已存档的里程碑
      • limit (number, 默认值: 50): 要返回的最大里程碑数
  2. linear_create_milestone: 创建新的里程碑

    • 必需输入:
      • name (string): 里程碑名称
      • projectId (string): 在其中创建里程碑的项目 ID
      • targetDate (string): 目标完成日期(ISO 格式)
    • 可选输入:
      • description (string): 里程碑描述
      • sortOrder (number): 里程碑列表中的位置
  3. linear_update_milestone: 更新现有里程碑

    • 必需输入:
      • id (string): 要更新的里程碑 ID
    • 可选输入:
      • name (string): 新里程碑名称
      • targetDate (string): 新目标日期
      • description (string): 新描述
      • status (string): 新状态(例如,“planned”、“inProgress”、“completed”)

资源

  • 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 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选