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

当您第一次接触 MCP 时,您会看到展示基本架构的图表:一个 MCP 客户端(您的服务器)连接到包含工具、提示和资源的 MCP 服务器。每个 MCP 服务器都充当与外部服务(如 GitHub、AWS 或数据库)交互的接口。
MCP 解决的问题
假设您正在构建一个聊天界面,用户可以在其中询问 Claude 有关其 GitHub 数据的问题。用户可能会问:"我所有仓库中有哪些开放的拉取请求?"要回答这个问题,Claude 需要能够访问 GitHub API 的工具。

GitHub 拥有庞大的功能——仓库、拉取请求、问题、项目等等。要处理 GitHub 的所有功能,您需要创建大量的工具模式和函数:

这意味着要为以下这样的函数编写、测试和维护大量代码:
get_repos()list_repos()create_repos()search_issues()update_issue()create_issue()get_issue()create_file()
MCP 如何改变这一切
MCP 将工具定义和执行的负担从您的服务器转移到 MCP 服务器上。您不必自己编写所有这些 GitHub 集成工具,而是由其他人为 GitHub 创建一个包含所有必要工具和函数的 MCP 服务器。

MCP 服务器充当外部服务的包装器,提供您可以立即使用的预构建工具。您的服务器则成为连接到这些专门服务器的 MCP 客户端。

谁创建 MCP 服务器
任何人都可以创建 MCP 服务器实现。通常,服务提供商自己会创建官方的 MCP 实现。例如,AWS 可能会发布他们自己的官方 MCP 服务器,其中包含针对其各种服务的工具。
您也可以创建自己的 MCP 服务器,以包装对您需要集成的任何服务的访问。
常见问题

使用 MCP 服务器与直接调用服务的 API 有什么不同?
MCP 服务器为您提供已经定义好的工具模式和函数。如果您直接调用 API,您将需要自己编写这些工具定义。MCP 为您节省了这部分实现工作。
MCP 服务器和工具使用不是同一件事吗?
这是一个常见的误解。MCP 服务器和工具使用是互补但不同的概念。MCP 服务器提供预构建的工具模式和函数,而工具使用则是关于 Claude 实际如何调用这些工具。MCP 真正关注的是由谁来完成创建和维护工具实现的工作。
关键的好处是,MCP 服务器让您能够访问复杂的集成,而无需自己构建和维护所有这些代码。您可以获得工具使用的强大功能,同时大大减少开发开销。