Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它允许 Claude 与 Linear 的 API 交互,以管理团队、问题、项目和周期。

通信
开发者工具
TypeScript
访问服务器

README

Linear MCP 服务器

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

Cline MCP Marketplace

功能

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

快速开始

对于 Cline MCP Marketplace 用户:

  1. 通过 Cline MCP Marketplace 安装服务器
  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": "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 // 要返回的项目数量(默认值: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": "必需的问题标题",
    "description": "可选的问题描述",
    "assigneeId": "optional-assignee-id",
    "stateId": "optional-state-id",
    "priority": 0, // 可选优先级 (0-4)
    "estimate": 1, // 可选估计
    "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": "可选的新标题",
    "description": "可选的新描述",
    "assigneeId": "optional-assignee-id",
    "stateId": "optional-state-id",
    "priority": 0, // 可选优先级 (0-4)
    "estimate": 1, // 可选估计
    "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 状态:在 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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript