使用说明
线性MCP服务器
该服务器通过MCP与Linear的问题跟踪系统集成,允许LLM与Linear问题进行交互。
安装
自动安装
通过以下方式自动安装Claude Desktop的Linear MCP服务器 铁匠铺:
npx @smithery/cli install mcp-server-linearapp --client claude
手动安装
-
创建或获取Linear个人API密钥: https://linear.app/settings/account/security
-
将服务器配置添加到Claude Desktop:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- MacOS:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "mcp-server-linearapp"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}
组件
工具
用户相关工具
-
linear_get_viewer:获取已验证用户的信息- 无需输入
- 返回用户配置文件信息,包括ID、姓名、电子邮件和活动状态
-
linear_get_user_issues:将问题分配给用户- 可选输入:
userId(string):用户ID(对于经过身份验证的用户省略)includeArchived(boolean):包括已存档的问题limit(数字,默认值:50):最大结果
- 可选输入:
-
linear_get_user_teams:获取与用户关联的团队- 可选输入:
userId(string):获取团队的用户ID(对于经过身份验证的用户省略)includeArchived(boolean):包括已存档的团队limit(数字,默认值:50):返回的最大团队数量
- 返回用户所属团队的列表
- 可选输入:
-
linear_get_user_projects:获取与用户关联的项目- 可选输入:
userId(string):要获取项目的用户ID(对于经过身份验证的用户省略)includeArchived(boolean):包括已存档的项目limit(数字,默认值:50):要返回的最大项目数status(string):按项目状态筛选(例如,“已完成”、“正在进行”)
- 返回用户作为潜在客户或成员的项目列表
- 可选输入:
团队相关工具
-
linear_get_teams:在组织中组建团队- 可选输入:
includeArchived(boolean):包括已存档的团队limit(数字,默认值:50):返回的最大团队数量
- 可选输入:
-
linear_get_team:获取特定团队的详细信息- 所需输入:
teamId(string):用于获取详细信息的团队ID
- 返回团队信息,包括名称、密钥、成员和设置
- 所需输入:
-
linear_get_team_issues:为特定团队获取问题- 所需输入:
teamId(string):用于获取问题的团队ID
- 可选输入:
includeArchived(boolean):包括已存档的问题limit(数字,默认值:50):要返回的最大问题数status(string):按问题状态筛选priority(数字):按优先级筛选assigneeId(string):按受让人筛选
- 所需输入:
项目相关工具
-
linear_get_projects:在组织中获取项目- 可选输入:
teamId(string):按团队筛选项目includeArchived(boolean):包括已存档的项目limit(数字,默认值:50):要返回的最大项目数status(string):按项目状态筛选
- 可选输入:
-
linear_get_project:获取特定项目的详细信息- 所需输入:
projectId(string):用于获取详细信息的项目ID
- 返回详细的项目信息,包括进度、状态、团队、潜在客户和日期
- 所需输入:
-
linear_get_project_issues:获取特定项目的问题- 所需输入:
projectId(string):用于获取问题的项目ID
- 可选输入:
includeArchived(boolean):包括已存档的问题limit(数字,默认值:50):要返回的最大问题数status(string):按问题状态筛选priority(数字):按优先级筛选
- 所需输入:
问题相关工具
-
linear_create_issue:创建新的线性问题- 所需输入:
title(string):发行标题teamId(string):在中创建问题的团队ID
- 可选输入:
description(string):问题描述(支持markdown)priority(数字,0-4):优先级(1=紧急,4=低)status(string):初始状态名称
- 所需输入:
-
linear_update_issue:更新现有问题- 所需输入:
id(string):要更新的问题ID
- 可选输入:
title(string):新标题description(string):新描述priority(数字,0-4):新优先级status(string):新状态名称
- 所需输入:
-
linear_search_issues:使用灵活的筛选搜索问题- 可选输入:
query(string):在标题/描述中搜索的文本teamId(string):按团队筛选status(string):按状态筛选assigneeId(string):按受让人筛选labels(string[]):按标签筛选priority(数字):按优先级筛选limit(数字,默认值:10):最大结果
- 可选输入:
-
linear_add_comment:为问题添加评论- 所需输入:
issueId(string):要评论的问题IDbody(string):注释文本(支持markdown)
- 可选输入:
createAsUser(string):自定义用户名displayIconUrl(字符串):自定义头像URL
- 所需输入:
标签管理工具
-
linear_get_labels:在组织中获取标签- 可选输入:
teamId(string):按团队筛选标签includeArchived(boolean):包括存档标签limit(数字,默认值:50):要返回的最大标签数
- 可选输入:
-
linear_create_label:创建新标签- 所需输入:
name(string):标签名称teamId(string):在中创建标签的团队ID
- 可选输入:
color(string):颜色十六进制代码(例如“#FF0000”)description(string):标签描述
- 所需输入:
-
linear_update_label:更新现有标签- 所需输入:
id(string):要更新的标签ID
- 可选输入:
name(string):新标签名称color(string):新颜色十六进制代码description(string):新描述
- 所需输入:
附件管理工具
-
linear_add_attachment:为问题添加附件- 所需输入:
issueId(string):要添加附件的问题IDurl(string):附件的URLtitle(string):附件标题
- 可选输入:
subtitle(string):附件字幕icon(string):附件的图标URL
- 所需输入:
-
linear_get_attachments:获取问题的附件- 所需输入:
issueId(string):用于获取附件的问题ID
- 所需输入:
问题关系工具
-
linear_link_issues:在问题之间建立关系- 所需输入:
issueId(string):源问题IDrelatedIssueId(string):目标问题IDtype(string):关系类型(例如,“块”、“相关”、“重复”)
- 所需输入:
-
linear_get_issue_relations:为某个问题建立关系- 所需输入:
issueId(string):用于获取关系的问题ID
- 可选输入:
type(string):按关系类型筛选
- 所需输入:
里程碑管理工具
-
linear_get_milestones:获取项目的里程碑- 可选输入:
projectId(string):按项目筛选里程碑includeArchived(布尔值):包括存档的里程碑limit(数字,默认值:50):要返回的最大里程碑数
- 可选输入:
-
linear_create_milestone:创建新的里程碑- 所需输入:
name(string):里程碑名称projectId(string):在中创建里程碑的项目IDtargetDate(string):目标完成日期(ISO格式)
- 可选输入:
description(string):里程碑描述sortOrder(编号):里程碑列表中的位置
- 所需输入:
-
linear_update_milestone:更新现有里程碑- 所需输入:
id(字符串):要更新的里程碑ID
- 可选输入:
name(string):新里程碑名称targetDate(字符串):新的目标日期description(string):新描述status(string):新状态(例如,“计划中”、“进行中”和“已完成”)
- 所需输入:
资源
-
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交互的示例提示:
问题管理
-
“为身份验证系统创建新的错误报告”→ use
linear_create_issue创建具有适当详细信息的新问题 -
“将FRONT-123的优先级更新为紧急”→ use
linear_update_issue修改现有问题的优先级 -
“在登录页面错误中添加注释,解释根本原因”→ use
linear_add_comment向现有问题添加信息
查找和筛选问题
-
“显示我所有的高优先级问题”→ use
linear_get_user_issues或linear-viewer:///assigned查找分配给您的高优先级问题 -
“查找所有正在进行的前端任务”→ use
linear_search_issues查找状态为“进行中”的前端相关问题 -
“目前分配给Sarah的问题是什么?”→ use
linear_get_user_issues使用Sarah的身份证查看她的作业
团队和项目管理
-
“我属于哪些团队?”→ use
linear_get_user_teams或linear-viewer:///teams列出经过身份验证的用户所属的所有团队 -
“向我展示我正在领导或参与的项目”→ use
linear_get_user_projects或linear-viewer:///projects获取与当前用户关联的所有项目 -
“移动应用程序项目的当前进展如何?”→ use
linear_get_project获取项目的详细信息,包括进度 -
“列出前端团队的所有活动项目”→ 结合
linear_get_team查找团队ID和linear_get_projects使用团队筛选器查找活动项目
状态和工作量分析
-
“给我一份关于计费系统问题的最新更新摘要”→ use
linear_search_issues确定相关问题,然后linear-issue:///{issueId}获取问题详细信息 -
“移动团队目前的工作量是多少?”→ use
linear-team:///{teamId}/issues或linear_get_team_issues分析整个团队的问题分布 -
“向我展示我在组织中的角色和职责”→ use
linear_get_viewer和linear-viewer:///teams分析团队成员和角色
标签和分类
-
为高优先级安全问题创建“安全”标签→ use
linear_create_label使用适当的设置创建新标签 -
“前端团队提供哪些标签?”→ use
linear_get_labels使用前端团队ID查看可用的分类 -
“将‘需求文档’标签应用于所有API问题”→ use
linear_search_issues查找与API相关的问题,然后使用更新每个问题linear_update_issue
里程碑管理
-
“为测试版创建里程碑”→ use
linear_create_milestone设定一个具有目标日期的项目里程碑 -
“移动应用项目即将迎来哪些里程碑?”→ use
linear_get_milestones使用项目ID查看计划交付点 -
“将API v2里程碑的状态更新为已完成”→ use
linear_update_milestone更改里程碑状态
问题关系
-
“将问题FRONT-123标记为阻止API-456”→ use
linear_link_issues在问题之间创建阻塞关系 -
“这个bug阻止了哪些问题?”→ use
linear_get_issue_relations查找依赖关系 -
“显示与身份验证系统相关的所有问题”→ use
linear_search_issues使用适当的过滤器,然后探索与linear_get_issue_relations
发展
- 安装依赖项:
npm install
- 在中配置线性API密钥
.env:
LINEAR_API_KEY=your_api_key_here
- 构建服务器:
npm run build
对于自动重建的开发:
npm run watch
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。
