教程 搜索 / 原生 Mac IDE / 通过 MCP 连接 Linear 和 GitHub
📝 文字 ● 中级 更新于 2026-05-13

如何通过 MCP 将 Linear 和 GitHub 连接到 LingCode?

TL;DR:Linear 和 GitHub 均提供官方 MCP 服务端。通过 npm i -g @linear/mcp-server(GitHub 同理)安装后,在 ~/.lingcode/mcp.json 中添加对应条目并填入 API 令牌,Agent 即可直接搜索 Issue、开 PR、读取工单上下文。

GitHub 和 Linear 是日常工程工作中最实用的两个真实 MCP 服务。完成本教程后,"找到限速器相关的工单"、"为这些改动开一个 PR"、"本 sprint 还剩哪些任务"——每个需求只需一句提示词。

MCP 协议的抽象介绍请参阅连接 MCP 服务器教程,本教程聚焦于具体操作。大多数工程师的日常工作都与两个 LingCode 原本不了解的服务紧密相连:Issue 跟踪系统(本例以 Linear 为代表——Jira、Asana 等结构相同)和代码托管平台(本例以 GitHub 为代表——GitLab、Bitbucket 同理)。Agent 在没有这些连接的情况下也能正常工作,但有了它们之后,每次"看看工单,决定要做什么"只需一句提示词,而不是三步操作。

Linear 和 GitHub 都以 npm 包的形式发布了 MCP 服务端,配置方式完全相同:安装包、生成个人 API 令牌、将令牌粘贴到 mcp.json,重启对话。麻烦之处在于凭证配置,而非 MCP 接线本身——每个服务只需配置一次,之后永远不用再动。

之所以将两者合为一个教程——而不是分开写——是因为它们的工作流可以组合使用。既能读 Linear 工单又能开 GitHub PR 的 Agent,与只能做其中一件事的 Agent 有本质区别。"实现这张工单要求的功能,然后开一个 PR 并附上工单链接"可以成为一句提示词,这就是最终的价值所在。

你将学到

第一步:生成 Linear API 密钥

1

Linear → Settings → API → Personal API keys

登录 Linear,点击头像 → SettingsAPIPersonal API keys,点击 Create key,填写名称(如 "LingCode")并选择权限范围。

该密钥继承你的用户权限。若你是管理员,密钥也具有管理员权限;若你对某些工作区只有只读权限,密钥同样受此约束。权限在用户层级控制,而非密钥层级。

复制密钥——它只显示一次。格式为 lin_api_…

第二步:生成 GitHub 个人访问令牌

2

细粒度令牌优于经典令牌

前往 GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens,生成新令牌。关键字段如下:

  • 有效期(Expiration):90 天较为合理。足够长,不会频繁续期;足够短,不会让遗忘的旧令牌成为长期风险。
  • 仓库访问范围(Repository access):选择"Only select repositories",只勾选你实际需要 Agent 操作的仓库。"All repositories"虽然可行,但影响范围远大于必要。
  • 权限(Permissions):Repository → Contents(读+写)、Pull requests(读+写)、Issues(读+写)、Metadata(只读)。除非有明确需求,跳过 Actions、Secrets、Administration。

复制令牌——格式为 github_pat_…

为何选细粒度令牌而非经典令牌:经典令牌在用户层级授权,覆盖你所有的仓库。细粒度令牌可以指定"此令牌只能操作这三个仓库"。对于 Agent 驱动的工具而言,权限范围越小越好。

第三步:将两个服务端添加到 mcp.json

3

一个文件,两条配置

~/.claude/mcp.json 中添加(用户级配置正合适——这些是个人账号令牌):

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_..."
      }
    },
    "linear": {
      "command": "npx",
      "args": ["-y", "mcp-server-linear"],
      "env": {
        "LINEAR_API_KEY": "lin_api_..."
      }
    }
  }
}

两者均使用 stdio 传输,均通过 npx 启动(无需全局安装——npx 会自动拉取并运行)。令牌放在各自服务端的 env 字段中,切勿写入公共的 shell 配置文件。

第四步:首次工具调用——审批权限提示

4

你会看到什么

打开对话,输入:"有哪些 Linear 工单分配给了我?"Agent 选择工具后,会弹出权限提示,显示即将调用的 mcp__linear__list_issues 及其参数。点击批准。

每个服务端的首次调用需要预热:npx 下载包(仅一次),服务端启动并注册工具,然后执行调用。同一会话内的后续调用速度很快。

GitHub 同理:输入 "列出 org/repo 上开放的 PR",出现提示时批准。之后两个服务端都处于就绪状态。

第五步:组合使用——从工单到 PR

5

一句提示词,四次工具调用

同时连接两个服务的价值在于组合能力。试试:

"读取 Linear 工单 ACME-1234,查看相关代码,实现工单描述的功能,然后开一个草稿 PR 并附上工单链接。"

Agent 会调用 Linear 读取工单、调用本地文件工具查看并修改代码、调用 GitHub 开 PR——在一次对话轮次中完成四个工具族的调用,每次调用都有结构化参数和结构化结果。PR 描述中会引用 Linear 工单;根据你的 Linear 设置,合并 PR 还可以自动更新工单状态。

你本来需要在三个工具之间来回切换十分钟,现在什么都不用做。

第六步:常见问题

6

初次配置的三个易错点

  • 令牌权限范围过窄。GitHub 令牌若只有 Contents: read,则无法开 PR。Agent 的工具调用会返回 403 错误,此时需要重新生成一个权限更宽的令牌。
  • Linear 工作区 ID 混淆。如果你有多个 Linear 工作区,密钥只对其中一个有效。操作前先问 Agent 当前读取的是哪个工作区,不要想当然。
  • 工具描述已过时。更新 MCP 包后若工具签名有变化,当前对话的工具列表会停留在旧版本。更新服务端后请开启新对话。
请勿共享这些令牌。拥有管理员权限的 Linear 密钥可以删除 Issue;拥有写权限的 GitHub 令牌可以强制推送。一旦泄露,任意一个令牌造成的损害都相当严重。请像对待 SSH 私钥一样妥善保管存有这些令牌的文件。

下一步