Linear问题管理服务器

一个基于Linear API的模型上下文协议(MCP)服务器,提供程序化管理问题、项目和团队的工具。

  • by tiovikram
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 tiovikram/linear-mcp

使用说明

线性MCP服务器

注意:这是一个自定义实现。有关Cline Linear MCP服务器的官方信息,请参阅 斜/线性mcp.

模型上下文协议(MCP)服务器,提供与Linear的API交互的工具,使人工智能代理能够通过Linear平台以编程方式管理问题、项目和团队。

特性

  • 问题管理

    • 使用可自定义属性(标题、描述、团队、受让人、优先级、标签)创建新问题
    • 列出具有灵活过滤选项的问题(团队、受让人、状态)
    • 更新现有问题(标题、描述、状态、受让人、优先级)
  • 团队管理

    • 列出工作区中的所有团队
    • 访问团队详细信息,包括ID、姓名、密钥和描述
  • 项目管理

    • 列出所有具有可选团队筛选的项目
    • 查看项目详细信息,包括名称、描述、状态和相关团队

先决条件

  • Node.js(v16或更高版本)
  • 具有API访问权限的线性帐户
  • 具有适当权限的线性API密钥

快速开始

  1. 从获取线性API密钥 Linear的开发人员设置

  2. 使用API密钥运行:

LINEAR_API_KEY=your-api-key npx @ibraheem4/linear-mcp

或者将其设置在您的环境中:

export LINEAR_API_KEY=your-api-key
npx @ibraheem4/linear-mcp

开发设置

  1. 克隆存储库:
git clone [repository-url]
cd linear-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

与Inspector一起运行

对于本地开发和调试,您可以使用MCP检查器:

  1. 安装超级通道:
npm install -g supergateway
  1. 使用随附的 run.sh 脚本:
chmod +x run.sh
LINEAR_API_KEY=your-api-key ./run.sh
  1. 访问检查员:
    • 打开 本地主机:1337 在您的浏览器中
    • 检查器通过服务器发送事件(SSE)连接
    • 通过Inspector界面测试和调试工具调用

配置

根据您的客户端在设置文件中配置MCP服务器:

适用于克劳德桌面

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "linear-mcp": {
      "command": "node",
      "args": ["/path/to/linear-mcp/build/index.js"],
      "env": {
        "LINEAR_API_KEY": "your-api-key-here"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

用于VS代码扩展(Cline)

地点: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

{
  "mcpServers": {
    "linear-mcp": {
      "command": "node",
      "args": ["/path/to/linear-mcp/build/index.js"],
      "env": {
        "LINEAR_API_KEY": "your-api-key-here"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

对于光标(cursor.sh)

对于Cursor,服务器必须使用完整路径运行:

node /Users/ibraheem/Projects/linear-mcp/build/index.js

可用工具

创建_发行

在Linear中创建新问题。

{
  title: string;          // Required: Issue title
  description?: string;   // Optional: Issue description (markdown supported)
  teamId: string;        // Required: Team ID
  assigneeId?: string;   // Optional: Assignee user ID
  priority?: number;     // Optional: Priority (0-4)
  labels?: string[];     // Optional: Label IDs to apply
}

list_issues

列出可选筛选器的问题。

{
  teamId?: string;      // Optional: Filter by team ID
  assigneeId?: string;  // Optional: Filter by assignee ID
  status?: string;      // Optional: Filter by status
  first?: number;       // Optional: Number of issues to return (default: 50)
}

update_issue

更新现有问题。

{
  issueId: string;       // Required: Issue ID
  title?: string;        // Optional: New title
  description?: string;  // Optional: New description
  status?: string;      // Optional: New status
  assigneeId?: string;  // Optional: New assignee ID
  priority?: number;    // Optional: New priority (0-4)
}

list_teams

列出工作区中的所有团队。无需参数。

list_项目

列出所有具有可选筛选的项目。

{
  teamId?: string;     // Optional: Filter by team ID
  first?: number;      // Optional: Number of projects to return (default: 50)
}

获取问题

获取有关特定问题的详细信息。

{
  issueId: string; // Required: Issue ID
}

发展

对于自动重建的开发:

npm run watch

错误处理

该服务器包括全面的错误处理功能,用于:

  • API密钥无效
  • 缺少必要参数
  • API线性误差
  • 无效的工具请求

所有错误的格式都正确,并返回描述性消息。

技术细节

内置:

  • TypeScript
  • 线性SDK(@Linear/SDK v37.0.0)
  • MCP SDK(@modelcontextprotocol/SDK v0.6.0)

服务器使用stdio进行通信,并实现模型上下文协议,以与AI代理无缝集成。

许可证

麻省理工学院