Model Context Protocol(MCP)是一个通信层,它为 Claude 提供上下文和工具,而无需您编写大量繁琐的集成代码。您不必自己构建每一个工具函数,MCP 将这一负担转移给了专门的服务器来处理繁重的工作。

当您第一次接触 MCP 时,您会看到展示基本架构的图表:一个 MCP 客户端(您的服务器)连接到包含工具、提示和资源的 MCP 服务器。每个 MCP 服务器都充当与外部服务(如 GitHub、AWS 或数据库)之间的接口。
MCP 解决的问题
假设您正在构建一个聊天界面,用户可以在其中向 Claude 询问他们的 GitHub 数据——比如"我所有仓库中有哪些未关闭的拉取请求?"这样的问题。如果不使用 MCP 来处理这个问题,您需要为您想要支持的每一个 GitHub 操作创建工具。

GitHub 拥有庞大的功能——仓库、拉取请求、问题、项目等等。构建一个完整的 GitHub 集成意味着要编写数量惊人的工具模式(schema)和函数:

这会产生大量您必须编写、测试和维护的代码。这正是 MCP 发挥作用的地方。
MCP 的工作原理
MCP 将工具定义和执行的负担从您的服务器转移到专门的 MCP 服务器上。您不必自己编写所有那些 GitHub 工具,而是连接到一个已经实现了这些工具的 GitHub MCP 服务器。

MCP 服务器充当外部服务的包装器,提供 Claude 可以使用的预构建工具。您可以访问所有这些 GitHub 功能,而无需自己编写任何集成代码。

常见问题
谁来编写 MCP 服务器?
任何人都可以创建 MCP 服务器实现。通常,服务提供商自己会制作他们自己的官方实现。例如,AWS 可能会发布一个官方的 MCP 服务器,其中包含针对其各种服务的工具。
这与直接调用 API 有什么不同?
当您直接调用某个服务的 API 时,您仍然需要自己编写工具模式和函数实现。MCP 服务器已经为您提供了这些定义好的工具模式和函数,从而节省了您的开发时间。

MCP 不就是和工具使用一样吗?
这是一个常见的误解。MCP 服务器和工具使用是互补但不同的概念。工具使用是指 Claude 调用函数来完成任务。MCP 则关乎这些函数由谁提供——不是由您自己编写,而是由其他人已经在 MCP 服务器中实现了它们。
关键的洞察在于,MCP 服务器为您提供了已经定义好的工具模式和函数,而直接使用工具则需要您自己编写所有内容。两者都涉及 Claude 使用工具,但 MCP 大大减少了您这一端所需的开发工作。