线性MCP服务器
概述
该项目实现了一个模型上下文协议(MCP)服务器,该服务器充当Claude和线性任务/问题管理系统之间的桥梁。它允许Claude通过以下工具与Linear进行交互:
- 获取门票 -检索特定线性票证的详细信息
- get_my_issues -列出分配给当前用户的问题,并按状态进行筛选
- 添加注释 -向Linear票证添加评论
- 创建_发行 -在Linear中创建新问题
- get_teams -检索可用团队以供参考
安装
不需要直接安装。正确配置后,该包将自动下载并由您的Claude集成使用。
用法
- 从您的 线性帐户设置 -单击“个人API密钥”下的“新建API密钥”。
- 在代码编辑器中配置MCP服务器,如下所示。
与VS代码一起使用
一键安装:
将此添加到您的设置JSON文件中:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "linear_api_key",
"description": "Linear API Key",
"password": true
}
],
"servers": {
"linear": {
"command": "npx",
"args": [
"-y",
"@larryhudson/linear-mcp-server"
],
"env": {
"LINEAR_API_KEY": "${input:linear_api_key}"
}
}
}
}
}与Cursor IDE一起使用
将以下内容添加到MCP配置JSON文件中:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@larryhudson/linear-mcp-server"],
"env": {
"LINEAR_API_KEY": ""
}
}
}
}与Claude桌面应用程序一起使用
将以下内容添加到MCP配置JSON文件中:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": [
"-y",
"@larryhudson/linear-mcp-server"
],
"env": {
"LINEAR_API_KEY": ""
}
}
}
}与Cline VS代码扩展一起使用
将以下内容添加到MCP配置JSON文件中:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@larryhudson/linear-mcp-server"],
"env": {
"LINEAR_API_KEY": ""
},
"disabled": false,
"autoApprove": []
}
}
}环境变量
LINEAR_API_KEY-您的Linear API密钥(必需)
运作原理
该服务器基于以下关键技术构建:
- 模型上下文协议(MCP) -允许AI助手与外部工具和API交互的框架
- 线性SDK -用于与Linear API通信的客户端库
- Node.js -JavaScript运行时环境
- 萨德 -工具参数的类型验证库
主要特点
门票检索
- 获取全面的工单详细信息,包括状态、优先级、受让人和团队
- 获取完整描述和所有评论
- 使用嵌入式图像处理Markdown内容
- 下载并包含门票描述中的图片
问题列表
- 检索分配给当前用户的问题
- 按状态筛选(活动、积压、已完成、已取消或全部)
- 返回一个格式化的表,其中包含有关每个问题的关键信息
评论添加
- 允许向现有票证添加新注释
- 确认评论创建成功
技术实施细节
- 图像处理
- 使用正则表达式从Markdown中提取图像URL - 将图像下载到本地临时目录 - 将图像转换为base64以包含在MCP响应中 - 使用MD5哈希URL来创建唯一的文件名
- 线性API集成
- 使用线性API密钥进行身份验证 - 检索问题、票证、评论和用户信息 - 格式化数据以供人类可读显示
- 错误处理
- 优雅地处理API错误、票证丢失和下载失败 - 向用户提供有意义的错误消息
运行服务器
服务器使用MCP协议通过标准输入/输出(stdio)与Claude通信。它要求:
- 线性API键(在代码中配置)
- Node.js运行时环境
- package.json中指定的依赖包
项目结构
这是一个相对简单的Node.js应用程序,只有一个主源文件(index.ts)它定义了MCP服务器、工具和相关的辅助函数。它使用TypeScript来保证类型安全和更好的开发人员体验。
依赖项
@modelcontextprotocol/sdk:核心MCP实施@linear/sdk:线性API客户端dotenv:环境变量管理node-fetch:用于图像下载的HTTP客户端zod:工具参数的模式验证
局限性和潜在改进
- 对大型结果集的分页支持有限(目前仅限于20个问题)
- 对于各种边缘情况,可以改进错误处理
- 图像下载可以从更好的MIME类型检测中受益
- 考虑添加更多工具来管理问题(更新状态、更改受让人等)
- 在创建问题或添加评论时支持附件
