返回 MCP 目录
public公开dns本地运行

cpropster_linear-mcp-server

这是一个用于Linear的MCP服务器,允许Claude通过API管理Linear中的团队、问题、项目和周期。提供团队查询、问题搜索、周期获取、项目管理和问题创建/更新等功能。

article

README

🚀 线性 MCP 服务器

线性 MCP 服务器是一款用于与 Linear API 进行交互的实用工具。它具备多个功能模块,可实现获取团队、状态、优先级等信息,还能创建和更新问题,极大地提高了与 Linear 平台交互的效率。

🚀 快速开始

安装依赖

可使用 npm 或 yarn 进行依赖安装:

npm install linear-sdk @types/node --save-dev

yarn add linear-sdk @types/node -D

初始化项目

创建 src/index.ts 文件,并添加以下代码:

import { Linear } from '@linear/sdk';

const linear = new Linear({
  token: 'your_linear_token',
});

async function main() {
  try {
    const teams = await linear.teams.list();
    console.log('Teams:', teams);
    
    // 可选:执行其他操作,如创建问题
    const issue = await linear.issues.create({
      teamId: 'team_id', 
      title: 'Test Issue',
      description: 'This is a test issue.',
      assigneeId: 'assignee_id', // 可选
      stateId: 'state_id', // 可选
      priority: 0, // 可选,范围是 0-4
    });
    console.log('Created Issue:', issue);
  } catch (error) {
    console.error('Error:', error);
  }
}

main();

运行

使用 TypeScript 编译并运行项目:

npm run build && npm start

✨ 主要特性

  • 获取团队:可列出所有团队。
  • 获取状态:能列出某个团队的所有状态。
  • 获取优先级:可列出某个团队的所有优先级。
  • 获取标签:能列出某个团队的所有标签。
  • 获取里程碑(时间跟踪):可列出某个团队的所有里程碑。
  • 获取项目:能列出某个团队的项目,还可选择指定团队 ID 和返回数量。
  • 获取周期:需指定团队 ID,可列出某个团队的周期。
  • 创建问题:新建问题时,需指定团队 ID、标题以及其他可选项,如分配人 ID、状态 ID 等。
  • 更新问题:修改现有问题信息时,需指定问题 ID 和其他可选参数。

📦 安装指南

创建 Linear 应用

  1. 登录 Linear
  2. 进入设置 > 应用,点击“创建新应用”。
  3. 填写应用名称和描述,并选择所需权限(建议最少权限)。

获取令牌

在应用详情页,找到并复制 API 令牌。将此令牌添加到 .env 文件中:

LINEAR_TOKEN=your_token_here

💻 使用示例

基础用法

获取所有团队

const teams = await linear.teams.list();

创建问题

const issue = await linear.issues.create({
  teamId: 'team_id',
  title: '新问题',
  description: '这是一个测试问题。',
  assigneeId: 'assignee_id', // 可选
});

📚 详细文档

教程

  • 获取团队列表:调用 teams.list() 方法。
  • 创建问题:使用 issues.create() 方法,并传递必要参数。

常见问题

Q: 如何处理错误?

A: 使用 try-catch 语句捕捉异常,并在控制台输出错误信息:

try {
  // 操作代码
} catch (error) {
  console.error('发生错误:', error);
}

Q: 是否支持多个团队?

A: 是的,可通过 teamId 参数指定操作针对的具体团队。

🔧 技术细节

本项目使用 linear-sdk 与 Linear API 进行交互,通过 TypeScript 编写,利用 @types/node 提供类型支持。在初始化项目时,需要创建 src/index.ts 文件,并在其中引入 linear-sdk 进行实例化,通过实例对象调用相应的方法实现各种功能。

📄 许可证

本项目遵循 MIT 许可证。

⚠️ 重要提示

  • 避免提交敏感信息,确保 .env 文件不在版本控制系统中。
  • 使用环境变量,在代码中通过环境变量访问令牌,例如 process.env.LINEAR_TOKEN

💡 使用建议

欢迎提交问题和拉取请求到 GitHub 仓库:linear-mcp

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端