mcpField
L
Linear MCP Server

Linear MCP Server

本地服务
github.com/geropl版本控制1267 周前更新

关于 Linear MCP Server

用 Go 编写的 Linear MCP 服务,通过 MCP 协议提供 Linear API 操作,适用于需要在 AI 客户端中处理 issue 和团队信息的用户。默认只读,可通过选项启用写操作,并带有请求速率限制。

主要功能

  1. 01创建、更新和搜索 issue
  2. 02获取分配给用户的 issue
  3. 03添加 issue 评论
  4. 04查询团队信息
  5. 05API 请求速率限制

适用场景

  1. 01在 AI 客户端中查找并筛选 Linear issue
  2. 02检索某位用户负责的 issue
  3. 03通过 MCP 创建或更新 issue、添加评论

MCP 相关

作为 MCP 服务,它向客户端提供 Linear issue 和团队信息相关工具。默认禁用创建、更新和评论等写入工具,可启用写入访问。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Linear MCP 服务

一个使用 Go 编写的 Linear 模型上下文协议(MCP)服务。此服务通过 MCP 协议提供与 Linear API 交互的工具。

功能

  • 创建、更新和搜索 Linear issue
  • 获取分配给用户的 issue
  • 为 issue 添加评论
  • 获取团队信息
  • 对 API 请求进行速率限制,以遵守 Linear 的 API 限制

前提条件

  • Go 1.23 或更高版本
  • Linear API 密钥

安装

从 Releases 安装

Linux、macOS 和 Windows 的预编译二进制文件可在 GitHub Releases 页面获取。

  1. 下载适用于你平台的二进制文件
  2. 将其设为可执行文件(Linux/macOS):
chmod +x linear-mcp-go-*
  1. 按照“用法”部分中的说明运行二进制文件
自动安装
# Download linux binary for the latest release
RELEASE=$(curl -s https://api.github.com/repos/geropl/linear-mcp-go/releases/latest)
DOWNLOAD_URL=$(echo $RELEASE | jq -r '.assets[] | select(.name | contains("linux")) | .browser_download_url')
curl -L -o ./linear-mcp-go $DOWNLOAD_URL
chmod +x ./linear-mcp-go

# Setup the mcp server (.gitpod.yml, dotfiles repo, etc.)
./linear-mcp-go setup --tool=cline

用法

运行服务
  1. 将 Linear API 密钥设为环境变量:
export LINEAR_API_KEY=your_linear_api_key
  1. 运行服务:
# Run in read-only mode (default)
./linear-mcp-go serve

# Run with write access enabled
./linear-mcp-go serve --write-access

服务将启动,并通过 stdin/stdout 监听 MCP 请求。

为 AI 助手进行设置

setup 命令可自动完成各种 AI 助手的安装和配置流程:

# Set your Linear API key as an environment variable
export LINEAR_API_KEY=your_linear_api_key

# Set up for Cline (default)
./linear-mcp-go setup

# Set up with write access enabled
./linear-mcp-go setup --write-access

# Set up with auto-approval for read-only tools
./linear-mcp-go setup --auto-approve=allow-read-only

# Set up with specific tools auto-approved
./linear-mcp-go setup --auto-approve=linear_get_issue,linear_search_issues

# Set up with write access and auto-approval for read-only tools
./linear-mcp-go setup --write-access --auto-approve=allow-read-only

# Set up for a different tool (only "cline" supported for now)
./linear-mcp-go setup --tool=cline

此命令将:

  1. 检查是否已安装 Linear MCP 二进制文件
  2. 如有需要,将当前二进制文件复制到安装目录
  3. 配置 AI 助手以使用 Linear MCP 服务
  4. 如果需要,为指定工具设置自动批准

可使用 --auto-approve 标志指定在 Cline 配置中应自动批准哪些工具:

  • --auto-approve=allow-read-only:自动批准所有只读工具(linear_search_issues、linear_get_user_issues、linear_get_issue、linear_get_teams)
  • --auto-approve=tool1,tool2,...:自动批准指定的逗号分隔工具列表

目前支持的 AI 助手:

  • Cline(VSCode 扩展)

默认情况下,服务以只读模式运行,这意味着以下工具处于禁用状态:

  • linear_create_issue
  • linear_update_issue
  • linear_add_comment

要启用这些工具,请使用 --write-access=true 标志。

可用工具

linear_create_issue

使用指定的详细信息创建新的 Linear issue。支持创建子 issue 和分配标签。

参数:

  • title(必填):Issue 标题
  • team(必填):团队标识符(键、UUID 或名称)
  • description:Issue 描述
  • priority:优先级(0-4)
  • status:Issue 状态
  • parentIssue:可选的父 issue ID,用于创建子 issue
  • labels:可选的逗号分隔标签 ID 列表,用于分配标签
linear_update_issue

更新现有 Linear issue 的属性。

参数:

  • id(必填):Issue ID
  • title:新标题
  • description:新描述
  • priority:新优先级(0-4)
  • status:新状态
linear_search_issues

根据灵活条件搜索 Linear issue。

参数:

  • query:可选的搜索文本,在标题和描述中查找
  • teamId:按团队 ID 筛选
  • status:按状态名称筛选(例如,'In Progress'、'Done')
  • assigneeId:按被指派用户的 ID 筛选
  • labels:按标签名称筛选(逗号分隔)
  • priority:按优先级筛选(1=紧急,2=高,3=普通,4=低)
  • estimate:按预估点数筛选
  • includeArchived:在结果中包含已归档的 issue(默认:false)
  • limit:返回结果的上限(默认:10)
linear_get_user_issues

获取分配给特定用户或已验证用户的 issue。

参数:

  • userId:可选的用户 ID。若未提供,则返回已验证用户的 issue
  • includeArchived:在结果中包含已归档的 issue
  • limit:返回 issue 的最大数量(默认:50)
linear_get_issue

根据 ID 获取单个 Linear issue。

参数:

  • issueId(必填):要获取的 issue ID
linear_add_comment

向现有的 Linear 问题添加评论。

参数:

  • issueId(必填):要评论的问题 ID
  • body(必填):Markdown 格式的评论文本
  • createAsUser:可选的自定义用户名,用于显示评论
  • displayIconUrl:可选的评论头像 URL
linear_get_teams

获取 Linear 团队,可选按名称筛选。

参数:

  • name:可选的团队名称筛选条件。返回名称中包含此字符串的团队。

测试

测试使用 go-vcr 实现,并针对 https://linear.app/linear-mcp-go-test 执行。

执行测试

使用现有录制文件(cassettes):

go test -v ./...
重新录制测试:

需要设置 LINEAR_API_KEY。

go test -v -record=true ./...

这将更新所有不会改变远程状态的测试。

go test -v -recordWrites=true ./...

这将重新运行所有测试,包括可能影响其他测试用例结果的测试,可能需要进一步手动调整。

go test -v -golden=true ./...

更新所有 .golden 字段。

发布流程

项目使用 GitHub Actions 自动执行测试和发布:

  1. main 分支上的所有推送和拉取请求都会自动进行测试
  2. 推送与 v* 模式匹配的标签(例如 v1.0.0)时,会自动创建新版本
  3. Linux、macOS 和 Windows 的二进制文件会被构建并附加到版本中

创建新版本:

  1. 更新 pkg/server/server.go 中的版本
  2. 提交更改
  3. 创建并推送与版本匹配的标签:
git tag v1.0.0
git push origin v1.0.0

GitHub Actions 工作流会自动创建包含相应二进制文件的版本。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。