linear
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLinear
Linear
Overview
概述
Interact with Linear via to manage issues, projects, teams, and initiatives. All commands use syntax. The 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.
mcportermcporter call linear.<tool>list_issues通过与Linear交互,以管理问题、项目、团队和计划。所有命令均使用语法。工具无法可靠支持服务端经办人过滤——按经办人过滤时,请获取所有问题并通过Python脚本在客户端进行过滤。
mcportermcporter call linear.<tool>list_issuesQuerying Issues
查询问题
List my issues
列出我的问题
The filter and parameter trigger GraphQL errors on the Linear MCP server. Always fetch all issues and filter client-side with :
assigneequeryjq- Check to determine the user's identity
git config user.email - 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"
'assigneequeryjq- 检查以确定用户身份
git config user.email - 将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-1234bash
mcporter call linear.get_issue id=B-1234Filter by status
按状态过滤
bash
mcporter call linear.list_issues state="In Progress" limit:50bash
mcporter call linear.list_issues state="In Progress" limit:50Filter by team
按团队过滤
bash
mcporter call linear.list_issues team=Product limit:50bash
mcporter call linear.list_issues team=Product limit:50Creating 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:
- — always
teamProduct - — required. If not specified by user, list projects with
projectand pick the most relevant one.mcporter call linear.list_projects - — write one yourself from the context the user provided
description - — default to
priority(Normal) unless the user indicates urgency3 - ,
assignee,state,labels— only include if the user explicitly provides themdueDate
bash
mcporter call linear.create_issue title="Bug title" team=Product project="Project Name" description="Description here"请勿向用户索要额外信息。 使用用户提供的内容并填写合理的默认值:
- — 始终设为
teamProduct - — 必填项。如果用户未指定,请使用
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 field (not the identifier like B-1234). Get it from or output first.
idget_issuelist_issuesbash
mcporter call linear.update_issue id=ISSUE_ID state="Done"请使用问题的UUID 字段(而非B-1234这类标识符)。请先从或的输出中获取该ID。
idget_issuelist_issuesOther Resources
其他资源
| Action | Command |
|---|---|
| List teams | |
| Get team details | |
| List projects | |
| Get project | |
| List users | |
| Get current user | |
| List issue statuses | |
| Add comment | |
| 操作 | 命令 |
|---|---|
| 列出团队 | |
| 获取团队详情 | |
| 列出项目 | |
| 获取项目 | |
| 列出用户 | |
| 获取当前用户 | |
| 列出问题状态 | |
| 添加评论 | |
Displaying Results
结果展示
When presenting issues to the user, show all non-Done issues but limit Done issues to the 5 most recent (sorted by 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.
completedAt向用户展示问题时,请显示所有未完成(非Done)的问题,但已完成(Done)的问题仅显示最近5个(按降序排序)。在已完成问题列表后,注明省略的已完成问题数量(例如:"+ 12 more completed issues")。这样既能保持输出简洁易读,又不会遗漏重要的未完成工作。
completedAtCommon Mistakes
常见错误
- Do not use the parameter on
queryfor assignee filtering — it triggers a GraphQL search that errors out. Use thelist_issuesparameter or fall back to client-sideassigneefiltering.jq - The tool requires the issue's UUID
update_issue, not the human-readable identifier (e.g.,id). Fetch the issue first to get the UUID.B-1234 - When piping mcporter output to for filtering, use
jqto ensure parseable JSON output.--output json - The assignee field in responses may be an email address rather than a display name. Check both when filtering.
- 请勿在上使用
list_issues参数进行经办人过滤——这会触发导致错误的GraphQL搜索。请使用query参数或退而求其次,通过客户端assignee过滤。jq - 工具需要问题的UUID
update_issue,而非人类可读的标识符(例如id)。请先获取问题以得到UUID。B-1234 - 将mcporter输出通过管道传递给进行过滤时,请使用
jq以确保输出为可解析的JSON格式。--output json - 响应中的经办人字段可能是邮箱地址而非显示名称。过滤时请同时检查这两者。