L

Linear MCP服务器

@cpropster/linear-mcp-server
0 Stars 352 次浏览 cpropster 更新于 2026-08-23

一种模型上下文协议服务器,允许克劳德与线性公司的API进行交互,以管理团队、问题、项目和周期。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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": "Example issue 1",
        "identifier": "TEAM-123",
        "description": "This is an example issue"
        // ... other issue data
      },
      // ... more issues
    ]
  }
}

如果连接正常工作,您将看到来自您的 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": "Optional search query",
    "teamIds": ["Optional team IDs"],
    "first": 10 // Number of issues to return (default: 50)
  }
)

获取周期

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

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_get_cycles",
  arguments={
    "teamId": "required-team-id"
  }
)

获取项目

使用 linear_get_projects 工具检索项目:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_get_projects",
  arguments={
    "teamId": "optional-team-id",
    "first": 10 // Number of projects to return (default: 50)
  }
)

创建问题

使用 linear_create_issue 工具创建新问题:

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_create_issue",
  arguments={
    "teamId": "required-team-id",
    "title": "Required issue title",
    "description": "Optional issue description",
    "assigneeId": "optional-assignee-id",
    "stateId": "optional-state-id",
    "priority": 0, // Optional priority (0-4)
    "estimate": 1, // Optional estimate
    "cycleId": "optional-cycle-id",
    "projectId": "optional-project-id",
    "labelIds": ["optional-label-ids"]
  }
)

更新问题

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

use_mcp_tool(
  server_name="github.com/cpropster/linear-mcp-server",
  tool_name="linear_update_issue",
  arguments={
    "issueId": "required-issue-id",
    "title": "Optional new title",
    "description": "Optional new description",
    "assigneeId": "optional-assignee-id",
    "stateId": "optional-state-id",
    "priority": 0, // Optional priority (0-4)
    "estimate": 1, // Optional estimate
    "cycleId": "optional-cycle-id",
    "projectId": "optional-project-id",
    "labelIds": ["optional-label-ids"]
  }
)

调试

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

  1. 检查 MCP 配置:确保您的 MCP 配置文件具有正确的服务器路径和凭据。

  2. 运行测试客户端:使用随附的测试客户端来验证服务器是否可以连接到 Linear:

    node test-client.js
    

    这将运行一系列测试以验证服务器是否可以连接到 Linear 并检索数据。

  3. 检查 Linear API 状态:验证 Linear API 是否在 status.linear.app 上正常运行。

  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

相关 MCP 服务