Linear API服务

一个用于Linear的Rust MCP服务器,提供完整的Linear API CRUD功能,支持多种编码代理工具集成。

  • by davidjpnelson
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 davidjpnelson/linear-mcp-rs

使用说明

线性mcp-rs

用于Linear的Rust MCP服务器。单个~4MB二进制文件,无运行时依赖关系。

安装

gh release download --repo davidjpnelson/linear-mcp-rs -p install.sh -O- | bash

需要 GitHub命令行界面.下载适用于您的OS/arch的正确二进制文件 ~/.local/bin/linear-mcp.

设置

1.线性API键

在创建个人API密钥 https://linear.app → 设置 → 安全和访问 → 个人API密钥

服务器按顺序检查这些:

  1. LINEAR_API_KEY 环境变量
  2. 带服务名称的macOS钥匙串条目 linear-api-key

选项A--环境变量 (添加到 ~/.zshrc):

export LINEAR_API_KEY="lin_api_your_key_here"

选项B-macOS钥匙扣:

security add-generic-password -s linear-api-key -a "$USER" -w "lin_api_your_key_here"

2.添加到您的编码代理

Claude Code
claude mcp add linear-mcp ~/.local/bin/linear-mcp

然后重新启动Claude Code。

OpenAI Codex CLI
codex mcp add linear-mcp -- ~/.local/bin/linear-mcp

或添加到 ~/.codex/config.toml (使用完整的主路径):

[mcp_servers.linear-mcp]
command = "/Users/YOUR_USER/.local/bin/linear-mcp"
Gemini CLI
gemini mcp add --name linear-mcp -- ~/.local/bin/linear-mcp

或添加到 ~/.gemini/settings.json (使用完整的主路径):

{
  "mcpServers": {
    "linear-mcp": {
      "command": "/Users/YOUR_USER/.local/bin/linear-mcp"
    }
  }
}
Open Code

添加 ~/.config/opencode/opencode.json (或 opencode.json 在项目根目录中,使用完整的主路径):

{
  "mcp": {
    "linear-mcp": {
      "type": "local",
      "command": ["/Users/YOUR_USER/.local/bin/linear-mcp"]
    }
  }
}
Jules

Jules内置了线性MCP支持,不需要二进制文件。首选 Jules设置→ MCP,输入Linear API键,然后启动会话。

工具

253个工具,具有线性API的全部CRUD覆盖范围。所有人都接受人性化的输入(团队密钥如 ENG、电子邮件、州名称、项目名称、问题标识符),并自动将其解析为ID。

问题

工具 说明
list_issues 按团队、受让人、状态、项目、标签、优先级筛选。分页。
search_issues 在标题、描述和评论中进行全文搜索
semantic_search 基于人工智能的跨问题语义搜索
get_issue 按标识符列出的全部细节(例如。 ENG-123)或UUID。包括评论、标签、关系。
my_issues 按状态分组分配的问题
create_issue 使用团队密钥、受让人电子邮件、州名称、标签、优先级创建问题
create_issue_from_template 从保存的模板创建问题
batch_create_issues 在团队中同时创建多个问题
update_issue 更新任何字段。使用 "none" 清除受让人/到期日期。
bulk_update_issues 同时更新多个问题(状态、优先级、受让人、标签)
archive_issue 存档问题
unarchive_issue 恢复已存档的问题
add_issue_label 为问题添加标签
remove_issue_label 从问题中删除标签
get_issue_priority_values 列出所有优先级及其值
search_issue_figma_file_key 查找与Figma文件链接的问题
get_issue_filter_suggestion AI为问题查询建议了过滤器

问题关系

工具 说明
list_issue_relations 列出问题的关系
get_issue_relation 获取特定问题关系
create_issue_relation 在问题(相关、块、重复)之间创建关系
update_issue_relation 更新关系类型
delete_issue_relation 删除关系

分诊

工具 说明
list_triage_issues 列出团队分诊状态中的问题
triage_issue 将分流问题移动到目标工作流状态
list_triage_responsibilities 列出分流责任分配
get_triage_responsibility 按ID获得分流责任
create_triage_responsibility 创建分流责任分配
update_triage_responsibility 更新分流责任
delete_triage_responsibility 删除分流责任

工作流状态

工具 说明
list_states 按团队分组的工作流状态
get_workflow_state 按ID获取工作流状态
create_workflow_state 为团队创建新的工作流状态
update_workflow_state 更新工作流状态的名称、颜色或位置
archive_workflow_state 存档工作流状态

评论

工具 说明
list_comments_all 列出所有问题的评论
get_comment 按ID获取特定评论
add_comment 添加标记注释(支持线程回复)
update_comment 编辑现有评论
delete_comment 删除评论

反应

工具 说明
add_reaction 在评论中添加表情符号反应
remove_reaction 通过UUID删除反应

标签

工具 说明
list_labels 列出工作区和团队范围的标签
get_issue_label 按ID获取特定标签
create_label 创建标签(工作区或团队范围,带颜色)
update_label 更新标签的名称或颜色
archive_label 存档标签

项目

工具 说明
list_projects 具有状态、进度、领导和团队的项目
get_project 完整的项目详细信息
create_project 使用团队关联、潜在客户和日期创建项目
update_project 更新项目详细信息
archive_project 归档项目
unarchive_project 还原已存档的项目
delete_project 永久删除项目
update_project_relation 更新项目关系的锚点类型
get_project_filter_suggestion AI建议的项目查询过滤器

项目里程碑和更新

工具 说明
list_project_milestones 列出项目的里程碑
get_project_milestone 获取特定的项目里程碑
create_project_milestone 创建具有目标日期的里程碑
list_project_updates 列出项目的状态更新
create_project_update 向项目发布状态更新

项目状态

工具 说明
list_project_statuses 列出所有项目状态
get_project_status 按ID获取项目状态
create_project_status 创建新的项目状态
update_project_status 更新项目状态
archive_project_status 归档项目状态
unarchive_project_status 恢复已存档的项目状态

项目标签

工具 说明
list_project_labels 列出项目级标签
get_project_label 按ID获取项目标签
create_project_label 创建项目标签
update_project_label 更新项目标签
delete_project_label 删除项目标签

循环

工具 说明
list_cycles 列出团队的周期
get_cycle 获取循环详细信息
create_cycle 创建具有开始/结束日期的新周期
add_issue_to_cycle 将问题添加到循环中
remove_issue_from_cycle 从循环中删除问题

举措

工具 说明
list_initiatives 列出所有工作空间计划
create_initiative 创建一个包含状态、所有者和目标日期的计划
update_initiative 更新倡议
archive_initiative 将倡议存档
unarchive_initiative 恢复已存档的计划
delete_initiative 永久删除倡议
update_initiative_to_project 将倡议更新到项目链接
archive_initiative_update 存档倡议更新
unarchive_initiative_update 恢复已存档的计划更新
update_initiative_update 更新倡议更新

倡议关系

工具 说明
list_initiative_relations 列出倡议关系
get_initiative_relation 通过ID获得主动关系
create_initiative_relation 建立主动关系
update_initiative_relation 更新倡议关系
delete_initiative_relation 删除倡议关系

客户

工具 说明
get_customer_need 通过ID获取客户需求
archive_customer_need 归档客户需求
unarchive_customer_need 恢复已存档的客户需求
delete_customer_need 删除客户需求
merge_customers 合并两条客户记录

客户状态

工具 说明
list_customer_statuses 列出所有客户状态
get_customer_status 通过ID获取客户状态
create_customer_status 创建客户状态
update_customer_status 更新客户状态
delete_customer_status 删除客户状态

客户层次

工具 说明
list_customer_tiers 列出所有客户层级
get_customer_tier 按ID获取客户级别
create_customer_tier 创建客户层
update_customer_tier 更新客户层
delete_customer_tier 删除客户层

发布

工具 说明
get_release 通过ID获取释放
search_releases 按查询字符串搜索发布
archive_release 存档发布
unarchive_release 恢复已存档的版本
delete_release 删除发布

释放管道

工具 说明
list_release_pipelines 列出发布管道
get_release_pipeline 按ID获取发布管道
create_release_pipeline 创建发布管道
update_release_pipeline 更新发布管道
delete_release_pipeline 删除发布管道

发布阶段

工具 说明
list_release_stages 列出发布阶段
get_release_stage 按ID获取发布阶段
create_release_stage 创建发布阶段
update_release_stage 更新发布阶段

发布问题

工具 说明
list_issue_to_releases 列出发布关联的问题
get_issue_to_release 按ID获取发布链接的问题
add_issue_to_release 在发布中添加问题
remove_issue_from_release 从发布中删除问题

文件

工具 说明
list_documents 列出文档,可选择按项目筛选
get_document 获取完整文档内容
get_document_content_history 获取文档的内容修订历史记录
search_documents 跨文档的全文搜索
create_document 创建文档,可选择链接到项目
update_document 更新文档标题或内容
unarchive_document 还原已存档的文档

团队

工具 说明
list_teams 所有持有钥匙的团队
get_team 按密钥或UUID获取团队详细信息
create_team 创建新团队
update_team 更新团队名称、描述或时区
delete_team 删除团队
unarchive_team 恢复已存档的团队
list_archived_teams 列出已存档的团队

团队成员

工具 说明
list_team_memberships 列出团队成员资格,可选择按团队筛选
get_team_membership 通过ID获取团队成员资格
create_team_membership 将用户添加到团队
update_team_membership 更新会员资格(例如所有者标志)
delete_team_membership 从团队中删除用户

用户

工具 说明
list_users 具有角色的工作区成员
get_user 通过电子邮件或UUID获取用户
get_viewer 获取经过身份验证的用户信息
update_user 更新用户显示名称、状态或描述
list_external_users 列出外部(访客)用户

通知

工具 说明
list_notifications 您最近的通知
get_notification 按ID获取特定通知
get_notifications_unread_count 获取未读通知的计数
mark_notification_read 将通知标记为已读

通知订阅

工具 说明
list_notification_subscriptions 列出通知订阅
get_notification_subscription 按ID获取订阅
create_notification_subscription 创建通知订阅(团队、项目或标签范围)
update_notification_subscription 更新订阅

视图

工具 说明
list_views 列出已保存的自定义视图
get_view_issues 获取与自定义视图筛选器匹配的问题
get_custom_view_suggestion AI建议从提示中自定义视图
check_custom_view_has_subscribers 检查自定义视图是否有订阅者

附件

工具 说明
list_attachments 列出问题的附件
get_attachment 按ID获取附件
add_attachment 向问题添加URL附件
attach_link_url 将URL链接附加到问题
get_attachments_for_url 查找与URL匹配的附件

收藏夹

工具 说明
list_favorites 列出您最喜欢的项目
get_favorite 按ID获取收藏夹
add_favorite 喜欢某个问题或项目
update_favorite 更新收藏夹的排序顺序或文件夹
remove_favorite 按UUID删除收藏夹

模板

工具 说明
list_templates 列出问题模板
get_template 按ID获取模板
create_template 创建新模板
update_template 更新模板
delete_template 删除模板

实体外部链接

工具 说明
get_entity_external_link 通过ID获取外部链接
create_entity_external_link 在实体上创建外部链接
update_entity_external_link 更新外部链接
delete_entity_external_link 删除外部链接

表情符号

工具 说明
list_emojis 列出自定义表情符号
get_emoji 通过ID获取表情符号
create_emoji 创建自定义表情符号
delete_emoji 删除自定义表情符号

时间进度计划

工具 说明
list_time_schedules 列出时间表
get_time_schedule 按ID获取时间表
create_time_schedule 制定时间表
update_time_schedule 更新时间表
delete_time_schedule 删除时间表

Git自动化

工具 说明
create_git_automation_state 创建git自动化状态映射
update_git_automation_state 更新git自动化状态映射
delete_git_automation_state 删除git自动化状态映射
create_git_automation_target_branch 创建git自动化目标分支
update_git_automation_target_branch 更新git自动化目标分支
delete_git_automation_target_branch 删除git自动化目标分支

电子邮件接收

工具 说明
get_email_intake_address 通过ID获取电子邮件接收地址
create_email_intake_address 为团队创建电子邮件接收地址
update_email_intake_address 更新电子邮件接收地址
delete_email_intake_address 删除电子邮件接收地址

历史与审计

工具 说明
get_issue_history 对问题变更的审计跟踪
query_audit_log 工作区审核日志(仅限管理员)

集成和Webhooks

工具 说明
list_integrations 列出工作区集成
list_webhooks 列出webhooks(仅限管理员)
create_webhook 创建webhook(仅限管理员)
delete_webhook 删除webhook(仅限管理员)

组织与制度

工具 说明
get_organization 获取工作区组织信息
get_application_info 获取API应用程序信息
get_rate_limit_status 获取当前API费率限制状态
list_roadmaps 列出路线图

建筑

  • MCP-SDK: rmcp v0.15与stdio传输
  • 线性API:原始GraphQL通过 reqwest (无线性SDK)
  • 传输层安全:rustls(不依赖OpenSSL)
  • 缓存:用于实体解析的内存缓存(团队键→ ID,问题标识符→ UUID)
  • 在线富集:在查询中内联获取的相关实体(州、受让人、标签),没有N+1

从源代码构建

需要 防锈工具链.

git clone git@github.com:davidjpnelson/linear-mcp-rs.git
cd linear-mcp-rs
cargo build --release
# Binary: target/release/linear-mcp