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 应用
- 登录 Linear。
- 进入设置 > 应用,点击“创建新应用”。
- 填写应用名称和描述,并选择所需权限(建议最少权限)。
获取令牌
在应用详情页,找到并复制 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
微信扫一扫