Linear MCP Integration Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides tools for interacting with the Linear issue tracking system, enabling management of issues, teams, projects, and sprints, with capabilities for creating issues, searching, filtering by status, and retrieving workflow states.

线性 MCP 集成服务器

该服务器通过模型上下文协议 (MCP) 提供 Linear 集成功能。它允许 AI 模型与 Linear 进行交互,以进行问题跟踪和项目管理。

特征

服务器通过MCP接口提供以下工具:

linear_create_issue

使用以下参数创建一个新的线性问题:

  • title (必填):问题标题
  • teamId (必填):创建问题的团队 ID
  • description (可选):问题描述(支持 markdown)
  • priority (可选):优先级(0-4)
  • status (可选):初始状态名称

线性搜索问题

通过灵活过滤来搜索线性问题:

  • query (可选):标题/描述中要搜索的文本
  • teamId (可选):按团队过滤
  • status (可选):按状态过滤
  • assigneeId (可选):按受让人过滤
  • priority (可选):优先级(0-4)
  • limit (可选,默认值:10):返回的最大结果

linear_sprint_issues

获取当前冲刺/迭代中的所有问题:

  • teamId (必填):获取冲刺问题的团队 ID

线性搜索团队

搜索并检索线性团队:

  • query (可选):在团队名称中搜索的文本

linear_filter_sprint_issues

按状态过滤当前冲刺问题并自动过滤到当前用户:

  • teamId (必填):获取冲刺问题的团队 ID
  • status (必填):要过滤的状态(例如“待发布产品”)

linear_get_workflow_states

获取团队所有可用的工作流程状态(状况):

  • teamId (必需):获取工作流状态的团队 ID

线性列表项目

获取所有可用项目及其 ID 的列表:

  • teamId (可选):按团队过滤项目的团队 ID
  • limit (可选,默认值:50):返回的最大项目数

开发人员设置

  1. 从 Linear 的设置 > API 部分获取 Linear API 密钥
  2. 复制环境示例:
    cp .env.example .env
  3. 修改文件.env并更改 API 线性:
    LINEAR_API_KEY=votre_clé_api_linear_ici
  4. 安装依赖项:
    npm install
  5. 启动服务器:
    # Development mode with auto-reload npm run dev # Production mode npm start # Build TypeScript npm run build # Run linter npm run lint # Run tests npm run test # Inspect MCP server npm run inspect

如果项目是从 GitHub 克隆的,则需要进行 Docker 设置

您还可以使用 Docker 运行此应用程序:

  1. 确保您的系统上安装了 Docker 和 Docker Compose
  2. 按照上述说明,使用 Linear API 密钥创建一个.env文件
  3. 构建并启动容器:
    # Build and start the container in detached mode docker-compose up -d # View logs docker-compose logs -f # Stop the container docker-compose down
  4. 服务器将在容器内运行,并将自动重启,除非明确停止

使用 Docker(使用 docker-compose 的简化方法)

  1. 使用您的 Linear API 密钥创建一个.env文件:
    LINEAR_API_KEY=your_linear_api_key_here
  2. 创建docker-compose.yml文件:
    version: '3.8' services: mcp-linear-server: image: madebynando/mcp-linear-server:latest container_name: mcp-linear-server restart: unless-stopped env_file: - .env volumes: - ./logs:/app/logs
  3. 启动容器:
    docker-compose up -d
  4. 要配置 Cursor,请使用:
    • 传输类型:命令
    • 命令:docker exec -i mcp-linear-server node dist/server.js

Docker 开发

对于使用 Docker 进行开发:

# Build the image docker build -t mcp-linear-server . # Run in development mode with auto-reload docker run -it --rm \ -v $(pwd):/app \ -v /app/node_modules \ --env-file .env \ mcp-linear-server \ npm run dev

技术细节

  • 使用 TypeScript 和模型上下文协议 SDK 构建
  • 使用 Linear SDK 进行 API 交互
  • 包括错误处理、速率限制和连接管理
  • 支持自动重新连接并可配置重试次数
  • 实施心跳监控以监测连接健康状况
  • 在调试模式下提供详细日志记录

错误处理

该服务器包括全面的错误处理:

  • API超时保护
  • 连接丢失时自动重新连接尝试
  • 带有时间戳的详细错误日志
  • 优雅关机处理
  • 连接健康状况的心跳监控

依赖项

  • @linear/sdk :线性 API 客户端
  • @modelcontextprotocol/sdk :MCP 服务器实现
  • zod :运行时类型检查和验证
  • dotenv :环境变量管理
  • TypeScript 和相关开发工具

有关依赖项的完整列表,请参阅package.json

在游标中使用

要在 Cursor 中使用此服务器,您可以将其添加为 MCP 服务器。

没有 Docker

**警告:**在 Cursor 中添加 MCP 服务器时,请确保在命令中直接设置LINEAR_API_KEY 。这对于服务器正确进行身份验证并与 Linear API 交互至关重要。否则将导致身份验证错误,服务器将无法正常运行。

例子:

env LINEAR_API_KEY=your_linear_api_key node /path/to/your/mcp-linear-server/dist/server.js
  1. 打开光标设置菜单
  2. 前往“MCP 服务器”部分
  3. 点击“添加 MCP 服务器”
  4. 输入以下详细信息:
    • 名称:linear-mcp-server
    • 传输类型:命令
    • 命令:env LINEAR_API_KEY=your_linear_api_key node /path/to/your/mcp-linear-server/dist/server.js
  5. 点击“保存”
  6. 现在您应该可以在 Cursor 的工具列表中看到线性工具。

使用 Docker

  1. 打开光标设置菜单
  2. 前往“MCP 服务器”部分
  3. 点击“添加 MCP 服务器”
  4. 输入以下详细信息:
    • 名称:linear-mcp-server
    • 传输类型:命令
    • 命令:docker exec -i mcp-linear-server node dist/server.js
  5. 点击“保存”
  6. 现在您应该可以在 Cursor 的工具列表中看到线性工具。

指导克劳德

当指示 Claude 使用此 MCP 服务器时,您可以参考以下端点:

linear_create_issue

创建一个具有标题、描述、团队 ID、优先级和状态的新线性问题。

linear_search_issues

通过查询、团队、状态、受让人、优先级和限制进行灵活过滤来搜索线性问题。

linear_sprint_issues

获取特定团队当前冲刺/迭代中的所有问题。

linear_search_teams

按名称搜索并检索线性团队。

linear_filter_sprint_issues

根据特定团队的状态过滤当前的冲刺问题。

linear_get_workflow_states

获取特定团队的所有可用工作流状态(状况)。

linear_list_projects

获取所有可用项目及其 ID 的列表,可选择按团队进行筛选。

ID: mjhmw08m6v