技术速递|为什么我们开源 MCP 服务器?这意味着什么?
作者:Kedasha Kerr排版:Alan Wang了解维护者们如何使用 GitHub MCP Server,以及他们正在构建什么。想象一下,你正在 VS Code 中使用 Copilot 的 Agent 模式进行编码。你问它:“PR #72 的状态是什么?”但模型并没有从 GitHub 获取详细信息,而是基于过时的上下文或猜测的语义编造了一个答案。听起来很有说服力,但其实是错的。毕竟,模型的表
作者:Kedasha Kerr
排版:Alan Wang
了解维护者们如何使用 GitHub MCP Server,以及他们正在构建什么。
想象一下,你正在 VS Code 中使用 Copilot 的 Agent 模式进行编码。你问它:“PR #72 的状态是什么?”但模型并没有从 GitHub 获取详细信息,而是基于过时的上下文或猜测的语义编造了一个答案。听起来很有说服力,但其实是错的。毕竟,模型的表现取决于它所获得的上下文。如果大语言模型(LLM)无法连接其他应用和工具,它们的作用就大打折扣。
这正是 模型上下文协议(MCP) 诞生要解决的核心问题。
MCP 是一个开放协议,它标准化了 LLM 应用如何连接并与外部工具和数据源交互。它类似于语言服务器协议(LSP):二者都遵循客户端—服务器架构,简化了系统之间的交互,并提供了标准化的通信模式。从本质上说,MCP 就是 LLM 的 LSP。
而现在,GitHub 已经将其自有 MCP 服务器开源。它作为 GitHub 与任意 LLM 之间的可信接口,能够减少幻觉答案,并解锁全新的自动化工作流。
想要快速了解 MCP 吗?
我们整理了一份指南,涵盖你需要知道的一切(甚至包括那些你不好意思开口问的问题)。
👉获取指南
MCP 架构
MCP 基于客户端—服务器架构,其中 MCP 主机(如 Copilot Chat 这样的 AI 应用)与 MCP 服务器保持专用的 1:1 连接。需要理解的一些关键概念:
-
MCP 主机:希望通过 MCP 访问数据的 LLM 应用(例如 VS Code、Copilot Chat)
-
MCP 客户端:在主机应用内部,与 MCP 服务器保持 1:1 连接
-
MCP 服务器:通过 MCP 暴露特定功能的轻量级程序
GitHub MCP Server
GitHub MCP 服务器直接将 AI 工具连接到 GitHub 平台。与其执行 REST 或 GraphQL API 调用,你可以将兼容 MCP 的客户端或 agent 指向该服务器,并请求你所需的内容。
例如,你可以让它:
-
列出某个仓库中所有未关闭的问题
-
显示等待审核的拉取请求
-
获取某个仓库或文件的元数据
-
创建或评论一个 issue
神奇之处在于:你现在可以用自然语言发出请求,它们会被自动转换为结构化、语义明确的 API 调用。你不再需要创建自定义 API 端点或解析 markdown 描述。只需用自然语言请求,就能从 GitHub 获取实时数据。
而且,由于该服务器使用 MCP 协议,它可以与任何兼容主机一起工作。Copilot Workspace、VS Code 插件、基于 LLM 的产品、自定义聊天 UI、本地自有 agent——都能通过相同的标准化接口来请求上下文或触发操作。
工作原理
该架构在概念上很简单,但功能强大:
-
服务器(Server):GitHub MCP 服务器是一个独立服务,用于监听结构化的 MCP 请求。
-
客户端(Client):主机与服务器之间的连接器。它知道如何将用户意图转化为有效的 MCP 请求。
-
主机(Host):AI 前端(如 IDE 助手或聊天 UI),负责承载对话并将结构化的提示传递下游。
当用户提出一个问题时:
-
主机将问题转化为语义请求
-
客户端将其打包为 MCP 请求
-
服务器从 GitHub 获取真实数据,并以结构化 JSON 格式返回
这创造了语言模型、用户体验以及可访问数据/工具之间的清晰分层。每一层都是模块化的、可测试的、可替换的。
如何开始使用 GitHub 远程 MCP 服务器
最棒的是:你今天就可以开始使用 GitHub 的 MCP 服务器!你需要准备:
-
MCP 主机:VS Code 或任何支持 MCP 的 LLM 应用
-
MCP 客户端:Copilot agent、LLM 聊天 UI 或其他支持 MCP 的自定义客户端
-
GitHub MCP 服务器:可在 GitHub MCP Server 官方仓库获取
在 VS Code 中安装 GitHub MCP Server 的步骤:
- 添加服务器配置:复制以下代码片段:
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
}
}
}
-
创建配置文件:
-
在项目根目录下新建一个名为
/vscode
的文件夹 -
在该文件夹内创建一个名为
mcp.json
的文件 -
将上面的代码粘贴到文件中
-
-
完成设置:
-
点击出现的启动按钮
-
按提示完成 OAuth 流程
-
现在,你就可以在 VS Code 中使用 GitHub MCP 服务器了!
实际应用场景
MCP 服务器的早期采用者已经用它构建出了一些非常实用的工具。
- Markdown 自动化
某团队使用 MCP 服务器将数十个 GitHub issue 转换成社区微型站点的 Markdown 内容文件。这些 issue 是在一次活动中收集到的。过去,将它们转换为可直接发布的网站内容需要繁琐的人工格式调整。有了 MCP,该团队编写了一个脚本,能够自动获取所有带标签的 issue,清理并格式化文本,并自动提交文件。整个过程变得快速且可重复执行。
- 每周团队简报
另一团队构建了一个轻量级机器人,用于扫描特定的 GitHub 仓库并生成每周简报。它会提取最近的拉取请求、issue 以及已合并的更改,并将其总结成 Markdown 格式。报告会在每周一早晨自动发布到 Slack,让分布式团队无需开会也能保持一致。由于使用了 MCP,该机器人并不依赖硬编码的 GitHub 查询;同样的代码也可以在任何符合 MCP 的服务器上运行。
- 对话式项目助手
一个小型开源团队开发了一个基于聊天的界面,贡献者可以用自然语言提出问题,比如“有哪些 issue 正在等待审核?”或者“上一个版本里改了什么?”。该 agent 利用 MCP 将这些问题转换为结构化的 GitHub 查询,获取实时数据,并返回对话式的摘要。
- 个人 LLM 仪表盘
一名开发者将自己的 GitHub 账号连接到一个支持 MCP 的本地仪表盘 agent。该助手每天早上会主动推送提醒:需要审核的 PR、个人仓库里长期未更新的 issue,甚至基于已合并的更改生成草稿发布说明。它就像一个个性化的 Copilot,替你实时关注 GitHub 动态。
通过为 AI 模型提供真实、结构化的上下文,MCP 服务器让工具变得既更智能且更安全。
更多资料
更多推荐
所有评论(0)