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 并附上工单链接"可以成为一句提示词,这就是最终的价值所在。
mcp.json 条目登录 Linear,点击头像 → Settings → API → Personal API keys,点击 Create key,填写名称(如 "LingCode")并选择权限范围。
该密钥继承你的用户权限。若你是管理员,密钥也具有管理员权限;若你对某些工作区只有只读权限,密钥同样受此约束。权限在用户层级控制,而非密钥层级。
复制密钥——它只显示一次。格式为 lin_api_…。
前往 GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens,生成新令牌。关键字段如下:
复制令牌——格式为 github_pat_…。
在 ~/.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 配置文件。
打开对话,输入:"有哪些 Linear 工单分配给了我?"Agent 选择工具后,会弹出权限提示,显示即将调用的 mcp__linear__list_issues 及其参数。点击批准。
每个服务端的首次调用需要预热:npx 下载包(仅一次),服务端启动并注册工具,然后执行调用。同一会话内的后续调用速度很快。
GitHub 同理:输入 "列出 org/repo 上开放的 PR",出现提示时批准。之后两个服务端都处于就绪状态。
同时连接两个服务的价值在于组合能力。试试:
"读取 Linear 工单 ACME-1234,查看相关代码,实现工单描述的功能,然后开一个草稿 PR 并附上工单链接。"
Agent 会调用 Linear 读取工单、调用本地文件工具查看并修改代码、调用 GitHub 开 PR——在一次对话轮次中完成四个工具族的调用,每次调用都有结构化参数和结构化结果。PR 描述中会引用 Linear 工单;根据你的 Linear 设置,合并 PR 还可以自动更新工单状态。
你本来需要在三个工具之间来回切换十分钟,现在什么都不用做。