Cpropster_linear Mcp Server

Cpropster_linear Mcp Server

🚀 线性 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

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-28 19:30

相似服务问题