linear

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Linear

Linear

Overview

概述

Interact with Linear via
mcporter
to manage issues, projects, teams, and initiatives. All commands use
mcporter call linear.<tool>
syntax. The
list_issues
tool does not support server-side assignee filtering reliably — when filtering by assignee, fetch all issues and pipe through a python script to filter client-side.
通过
mcporter
与Linear交互,以管理问题、项目、团队和计划。所有命令均使用
mcporter call linear.<tool>
语法。
list_issues
工具无法可靠支持服务端经办人过滤——按经办人过滤时,请获取所有问题并通过Python脚本在客户端进行过滤。

Querying Issues

查询问题

List my issues

列出我的问题

The
assignee
filter and
query
parameter trigger GraphQL errors on the Linear MCP server. Always fetch all issues and filter client-side with
jq
:
  1. Check
    git config user.email
    to determine the user's identity
  2. Pipe mcporter output through
    jq
    :
bash
mcporter call linear.list_issues limit:250 --output json | jq -r --arg email "$(git config user.email)" '
  .issues | map(select(.assignee == $email)) |
  (map(select(.status != "Done"))) as $open |
  (map(select(.status == "Done")) | sort_by(.completedAt) | reverse) as $done |
  ($open[] | "  \(.identifier): \(.title) [\(.status // "Unknown")]"),
  (if ($done | length) > 0 then "\n--- Done ---" else empty end),
  ($done[:5][] | "  \(.identifier): \(.title)"),
  (if ($done | length) > 5 then "  + \(($done | length) - 5) more completed issues" else empty end),
  "\nTotal: \($open | length) open, \($done | length) done"
'
assignee
过滤器和
query
参数会在Linear MCP服务器上触发GraphQL错误。请始终获取所有问题并通过
jq
在客户端过滤:
  1. 检查
    git config user.email
    以确定用户身份
  2. 将mcporter的输出通过管道传递给
    jq
bash
mcporter call linear.list_issues limit:250 --output json | jq -r --arg email "$(git config user.email)" '
  .issues | map(select(.assignee == $email)) |
  (map(select(.status != "Done"))) as $open |
  (map(select(.status == "Done")) | sort_by(.completedAt) | reverse) as $done |
  ($open[] | "  \(.identifier): \(.title) [\(.status // "Unknown")]"),
  (if ($done | length) > 0 then "\n--- Done ---" else empty end),
  ($done[:5][] | "  \(.identifier): \(.title)"),
  (if ($done | length) > 5 then "  + \(($done | length) - 5) more completed issues" else empty end),
  "\nTotal: \($open | length) open, \($done | length) done"
'

Get a specific issue

获取特定问题

bash
mcporter call linear.get_issue id=B-1234
bash
mcporter call linear.get_issue id=B-1234

Filter by status

按状态过滤

bash
mcporter call linear.list_issues state="In Progress" limit:50
bash
mcporter call linear.list_issues state="In Progress" limit:50

Filter by team

按团队过滤

bash
mcporter call linear.list_issues team=Product limit:50
bash
mcporter call linear.list_issues team=Product limit:50

Creating Issues

创建问题

bash
mcporter call linear.create_issue title="Bug title" team=Product project="Project Name" description="Description here"
Do NOT ask the user for extra details. Use what they gave you and fill in sensible defaults:
  • team
    — always
    Product
  • project
    — required. If not specified by user, list projects with
    mcporter call linear.list_projects
    and pick the most relevant one.
  • description
    — write one yourself from the context the user provided
  • priority
    — default to
    3
    (Normal) unless the user indicates urgency
  • assignee
    ,
    state
    ,
    labels
    ,
    dueDate
    — only include if the user explicitly provides them
bash
mcporter call linear.create_issue title="Bug title" team=Product project="Project Name" description="Description here"
请勿向用户索要额外信息。 使用用户提供的内容并填写合理的默认值:
  • team
    — 始终设为
    Product
  • project
    — 必填项。如果用户未指定,请使用
    mcporter call linear.list_projects
    列出项目并选择最相关的一个。
  • description
    — 根据用户提供的上下文自行撰写
  • priority
    — 默认设为
    3
    (正常),除非用户表明有紧急需求
  • assignee
    ,
    state
    ,
    labels
    ,
    dueDate
    — 仅在用户明确提供时才包含

Updating Issues

更新问题

bash
mcporter call linear.update_issue id=ISSUE_ID state="Done"
Use the issue's UUID
id
field (not the identifier like B-1234). Get it from
get_issue
or
list_issues
output first.
bash
mcporter call linear.update_issue id=ISSUE_ID state="Done"
请使用问题的UUID
id
字段(而非B-1234这类标识符)。请先从
get_issue
list_issues
的输出中获取该ID。

Other Resources

其他资源

ActionCommand
List teams
mcporter call linear.list_teams
Get team details
mcporter call linear.get_team query=Product
List projects
mcporter call linear.list_projects
Get project
mcporter call linear.get_project query="Project Name"
List users
mcporter call linear.list_users
Get current user
mcporter call linear.get_user query=me
List issue statuses
mcporter call linear.list_issue_statuses team=Product
Add comment
mcporter call linear.create_comment issueId=UUID body="Comment text"
操作命令
列出团队
mcporter call linear.list_teams
获取团队详情
mcporter call linear.get_team query=Product
列出项目
mcporter call linear.list_projects
获取项目
mcporter call linear.get_project query="Project Name"
列出用户
mcporter call linear.list_users
获取当前用户
mcporter call linear.get_user query=me
列出问题状态
mcporter call linear.list_issue_statuses team=Product
添加评论
mcporter call linear.create_comment issueId=UUID body="Comment text"

Displaying Results

结果展示

When presenting issues to the user, show all non-Done issues but limit Done issues to the 5 most recent (sorted by
completedAt
descending). After the Done list, include a count of how many additional Done issues were omitted (e.g., "+ 12 more completed issues"). This keeps the output scannable without losing important open work.
向用户展示问题时,请显示所有未完成(非Done)的问题,但已完成(Done)的问题仅显示最近5个(按
completedAt
降序排序)。在已完成问题列表后,注明省略的已完成问题数量(例如:"+ 12 more completed issues")。这样既能保持输出简洁易读,又不会遗漏重要的未完成工作。

Common Mistakes

常见错误

  • Do not use the
    query
    parameter on
    list_issues
    for assignee filtering — it triggers a GraphQL search that errors out. Use the
    assignee
    parameter or fall back to client-side
    jq
    filtering.
  • The
    update_issue
    tool requires the issue's UUID
    id
    , not the human-readable identifier (e.g.,
    B-1234
    ). Fetch the issue first to get the UUID.
  • When piping mcporter output to
    jq
    for filtering, use
    --output json
    to ensure parseable JSON output.
  • The assignee field in responses may be an email address rather than a display name. Check both when filtering.
  • 请勿在
    list_issues
    上使用
    query
    参数进行经办人过滤——这会触发导致错误的GraphQL搜索。请使用
    assignee
    参数或退而求其次,通过客户端
    jq
    过滤。
  • update_issue
    工具需要问题的UUID
    id
    ,而非人类可读的标识符(例如
    B-1234
    )。请先获取问题以得到UUID。
  • 将mcporter输出通过管道传递给
    jq
    进行过滤时,请使用
    --output json
    以确保输出为可解析的JSON格式。
  • 响应中的经办人字段可能是邮箱地址而非显示名称。过滤时请同时检查这两者。