返回市场
线性-MCP-服务器

线性-MCP-服务器

作者:cpropster2 星标更新:2025-03-07

项目介绍

Linear MCP 服务器

这是一个用于 Linear 的模型上下文协议(MCP)服务器,允许 Claude 通过 Linear 的 API 来管理团队、问题、项目和周期。

Cline MCP 市场

功能

  • linear_get_teams: 获取所有团队及其状态和标签
  • linear_search_issues: 搜索问题,支持过滤和分页
  • linear_get_cycles: 获取团队的所有周期
  • linear_get_projects: 获取所有项目
  • linear_create_issue: 创建新问题
  • linear_update_issue: 更新现有问题

快速开始

对于 Cline MCP 市场用户:

  1. 通过 Cline MCP 市场安装服务器
  2. 在 MCP 配置文件中配置您的 Linear 凭证
  3. 使用 linear_search_issues 测试连接以验证安装

请参阅下面的详细 安装验证安装 部分。

安装

  1. 克隆此仓库
  2. 安装依赖项:
    npm install
    
  3. 构建服务器:
    npm run build
    

安装过程有三个主要步骤:

  1. 设置:克隆并构建服务器(上述步骤)
  2. 配置:设置您的 Linear OAuth 令牌并配置 MCP 服务器
  3. 验证:测试连接确保其正常工作

⚠️ 直到您验证连接正常工作之前,安装是不完整的!

配置

服务器需要一个 Linear OAuth 令牌来与 Linear API 进行身份验证。您可以在 MCP 配置文件中设置此令牌。

获取 Linear OAuth 令牌

  1. https://linear.app/settings/api/applications 创建一个 Linear OAuth 应用程序
  2. 创建一个 OAuth 应用程序
  3. 将应用程序命名为 Cline MCP
  4. 设置重定向 URI 为 http://localhost:3000/callback
  5. 记录客户端 ID 和客户端密钥
  6. 创建并复制一个基于用户的开发者令牌

MCP 配置

在您的 MCP 配置文件中添加以下内容:

{
  "mcpServers": {
    "github.com/cpropster/linear-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/linear-mcp-server/build/index.js"
      ],
      "env": {
        "LINEAR_CLIENT_ID": "your-client-id",
        "LINEAR_CLIENT_SECRET": "your-client-secret",
        "LINEAR_REDIRECT_URI": "http://localhost:3000/callback",
        "LINEAR_REFRESH_TOKEN": "your-refresh-token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

用您的实际凭证替换占位符凭证。

验证安装

⚠️ 重要:直到您验证 MCP 连接正确工作之前,安装是不完整的。

配置 MCP 服务器后,必须测试连接以确保其正常工作:

  1. 重新加载 MCP 配置
  2. 使用 linear_search_issues 工具测试连接:
use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_search_issues",
  arguments={
    "first": 5
  }
)

如果成功,您会看到如下响应:

{
  "issues": {
    "nodes": [
      {
        "id": "123abc",
        "title": "示例问题 1",
        "identifier": "TEAM-123",
        "description": "这是一个示例问题"
        // ... 其他问题数据
      },
      // ... 更多问题
    ]
  }
}

如果连接正常工作,您将看到来自您的 Linear 账户的问题列表。如果您看到错误,请检查您的配置和凭证。

常见问题:

  • args 字段中的服务器路径不正确
  • Linear 令牌无效或已过期
  • 缺少必需的环境变量
  • 配置中禁用了服务器

使用

获取团队

使用 linear_get_teams 工具检索所有团队:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_get_teams",
  arguments={}
)

搜索问题

使用 linear_search_issues 工具搜索问题:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_search_issues",
  arguments={
    "query": "可选搜索查询",
    "teamIds": ["可选团队ID"],
    "first": 10 // 返回的问题数量(默认:50)
  }
)

获取周期

使用 linear_get_cycles 工具检索团队的周期:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_get_cycles",
  arguments={
    "teamId": "所需团队ID"
  }
)

获取项目

使用 linear_get_projects 工具检索项目:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_get_projects",
  arguments={
    "teamId": "可选团队ID",
    "first": 10 // 返回的项目数量(默认:50)
  }
)

创建问题

使用 linear_create_issue 工具创建新问题:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_create_issue",
  arguments={
    "teamId": "所需团队ID",
    "title": "所需问题标题",
    "description": "可选问题描述",
    "assigneeId": "可选负责人ID",
    "stateId": "可选状态ID",
    "priority": 0, // 可选优先级(0-4)
    "estimate": 1, // 可选估算
    "cycleId": "可选周期ID",
    "projectId": "可选项目ID",
    "labelIds": ["可选标签ID"]
  }
)

更新问题

使用 linear_update_issue 工具更新现有问题:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_update_issue",
  arguments={
    "issueId": "所需问题ID",
    "title": "可选新标题",
    "description": "可选新描述",
    "assigneeId": "可选负责人ID",
    "stateId": "可选状态ID",
    "priority": 0, // 可选优先级(0-4)
    "estimate": 1, // 可选估算
    "cycleId": "可选周期ID",
    "projectId": "可选项目ID",
    "labelIds": ["可选标签ID"]
  }
)

调试

如果您在 验证步骤 中遇到问题,或者 MCP 连接停止工作,您可以使用这些调试技巧:

  1. 检查 MCP 配置:确保您的 MCP 配置文件具有正确的服务器路径和凭证。
  2. 运行测试客户端:使用包含的测试客户端验证服务器可以连接到 Linear:
    node test-client.js
    
    这将运行一系列测试以验证服务器可以连接到 Linear 并检索数据。
  3. 检查 Linear API 状态:在 status.linear.app 验证 Linear API 是否正常运行。
  4. 检查服务器日志:如果您手动运行服务器,请检查控制台输出中的错误消息。

开发

该服务器使用 TypeScript 和 Linear SDK 构建。主要实现位于 src/index.ts

要对服务器进行更改:

  1. 编辑 src/ 中的源代码
  2. 使用 npm run build 构建服务器
  3. 使用测试客户端测试您的更改
  4. 更新 MCP 配置以使用新的构建

安全注意事项

此 MCP 服务器需要访问您的 Linear 账户。为了保护您的数据安全:

  1. 永远不要提交敏感令牌.env 文件和任何包含令牌的文件在 .gitignore 中被排除
  2. 使用环境变量:始终在 MCP 配置中使用环境变量而不是硬编码令牌
  3. 限制权限:在创建 Linear OAuth 应用程序时,仅授予所需的权限
  4. 定期轮换令牌:定期生成新令牌并更新您的配置

服务器使用官方的 Linear SDK,并通过 HTTPS 与 Linear 的 API 通信,确保您的数据安全传输。

许可证

MIT