MCP 服务器是近期出现的热门词汇,乍一看,它听起来就像是永无止境的科技热词中,与人工智能并列的又一个协议。
一旦理解了 MCP 是什么,大家就会明白为什么人们对它如此痴迷。
本文并非旨在进行终极深度探索,相反,只是对 MCP 服务器的进行简单介绍。
首先,我们以 USB-C 为例来解释 MCP,示例图如下所示:
图.1 MCP 架构示意
1] 什么是 MCP 服务器
MCP 代表模型上下文协议 (Model Context Protocol),是 Anthropic 于 2024 年 11 月推出的一项开放标准。
MCP 提出的目的是改进 AI 模型与外部系统的交互方式,并非通过修改模型本身,而是通过为模型提供对真实世界数据、工具和服务的结构化、安全访问。
MCP 服务器是一项独立服务,它以 AI 模型能够理解的标准化格式提供特定功能,例如读取文件、查询数据库、调用 API 或提供可复用提示。
开发者无需为每个单独的数据源或工具构建自定义集成,而是可以实现符合共享协议的 MCP 服务器。
这消除了对重复样本代码的需求,并降低了 AI 应用程序的复杂度。
2] MCP 服务器能做什么
MCP 能做的事情相当多。根据设置方式,MCP 服务器可以公开:
- 资源:AI 可以读取的文件、文档或数据库查询等内容
- 工具:操作,例如发送电子邮件、创建 GitHub 问题或查看天气等
- 提示:以可重复的方式引导 AI 行为的预定义指令或模板
所有这些信息都通过 JSON-RPC 2.0 接口公开,这意味着 AI 客户端可以查询可用资源,调用相应的函数,并获得清晰、结构化的响应。
3] MCP 服务器如何工作
MCP 服务器遵循明确定义的架构,旨在标准化 AI 模型访问外部工具、数据和服务的方式。
图.2 服务器-客户端架构
系统的每个部分都有明确的角色,共同构建一个模块化且可扩展的 AI 集成环境。
- 主机应用程序
这些是 AI 代理运行的环境,例如编程助手、桌面应用程序或对话式 UI。
它们不直接与外部系统交互,而是依靠 MCP 客户端来代理这些连接。
- MCP 客户端
MCP 客户端负责管理 AI 代理与 MCP 服务器之间的连接。它处理协议级任务,例如功能发现、权限和通信状态。
客户端与服务器保持直接的持久连接,确保请求和响应得到正确处理。
- MCP 服务器
服务器公开定义的功能,例如使用模型上下文协议 (MCP) 读取文件、执行函数或检索文档。
每个服务器都配置为以标准化格式呈现这些功能,以便 AI 模型无需自定义集成逻辑即可解释。
- 底层数据或工具
这包括服务器连接到的所有内容:文件系统、数据库、外部 API 或内部服务。
服务器调解访问、应用权限控制、格式化响应并仅公开客户端有权使用的内容。
模型主机、客户端、服务器和数据源之间的角色分离,使 AI 应用程序能够清晰地扩展和互操作。
开发人员可以专注于定义服务器内部的实用功能,因为他们知道任何兼容 MCP 的客户端都可以可预测且安全地访问这些功能。
4] MCP 与 API 的区别
如果不仔细研究,MCP 看起来可能只是对常规 API 的一个花哨的包装,但实际上它们之间存在一些关键的区别:
功能 | 传统 API | MCP 服务器 |
---|---|---|
用途 | 通用软件通信 | 专门为 AI 模型提供数据、工具或提示 |
交互 | 需要手动集成和解析 | 以模型友好的格式呈现信息 |
标准化 | 每个服务差异很大 | 统一协议(MCP) |
安全性 | 必须根据具体情况实施 | 内置控件和隔离 |
用例 | 后端服务、应用程序等 | 增强 Claude、Copilot 或 Cursor 等 AI 代理 |
基本上,API 是为应用程序设计的,MCP 服务器是为 AI 设计的。
5] 如何启动自托管的 服务器
虽然完全可以从零开始构建自定义 MCP 服务器,但多数情况下不必从零开始。
现在已经有越来越多的开源 MCP 服务器可供我们克隆、部署,并使用我们喜欢的 AI 助手(例如 Claude、Cursor 等)进行测试。
例如 mcpservers.org 就是一个非常出色的展示开源 MCP 服务器的网站,网站截图如下:
图.3 mcpservers.org 网站截图
以上,我们已经对 MCP 服务器是什么、它们能做什么以及为什么它们会迅速成为不断发展的 AI 领域的基石有了基本的了解。
虽然只是触及了皮毛,但希望这篇介绍能够揭开一些最初的复杂性,并凸显这些服务器在构建更强大、更安全、更集成的 AI 应用方面所蕴含的巨大潜力。