文章目录
- [1. 问题背景](#1. 问题背景)
- [2. MCP简介](#2. MCP简介)
- [3. MCP总体架构](#3. MCP总体架构)
- [4. MCP的工作原理](#4. MCP的工作原理)
- [5. MCP服务器示例](#5. MCP服务器示例)
- 参考
1. 问题背景
像 ChatGPT、Gemini、Claude 和 DeepSeek 这样的大型语言模型(LLM)是强大的工具,可以处理复杂查询、生成代码、撰写邮件,甚至模拟对话------所有这些都使用自然语言。
但有一个问题:LLM 可以思考,但它们不能行动。
LLM 被设计用来理解和生成类似人类的文本,但它们缺乏直接与外部资源交互的能力。
- 打开浏览器:你不能指示 LLM 启动浏览器并执行诸如导航到网站或点击按钮之类的操作。
- 数据库连接:LLM 无法连接到数据库以获取或更新记录。
- API 交互:尽管 LLM 可以生成 API 请求代码,但它们无法执行这些请求或处理实时响应。
LLM 负责"思考"(例如,生成提示、代码或逻辑)。
MCP 负责"行动"(例如,执行操作、连接到资源和自动化工作流)。
2. MCP简介
模型上下文协议(MCP)是由 Anthropic 开发的开源协议,旨在为大型语言模型与外部系统(如数据库、API 或工具)之间的交互创建一致的方法。
通过标准化这种通信,MCP 确保 LLM可以无缝地与各种外部资源集成,而无需为每种模型和系统的组合定制解决方案。可以将 MCP 想象成 AI 应用程序的 USB-C 接口。正如 USB-C 为设备连接各种外设和配件提供了标准化的方式一样,MCP 为 AI 模型连接不同的数据源和工具提供了标准化的方式。
MCP 可以帮助你在大型语言模型(LLM)的基础上构建智能代理和复杂的工作流。LLM 经常需要与数据和工具进行集成,而 MCP 提供了:
- 一个不断增长的预构建集成列表,你的 LLM 可以直接接入
- 在 LLM 提供商和供应商之间切换的灵活性
- 在你的基础设施内保障数据安全的最佳实践
3. MCP总体架构
在核心层面,MCP 遵循客户端-服务器架构,一个宿主应用程序可以连接到多个服务器:

- MCP hosts:像 Claude Desktop、IDE、AI 工具等希望通过 MCP 访问数据的程序。
- MCP clients:维护与服务器一对一连接的协议客户端。
- MCP servers:通过标准化的模型上下文协议暴露特定能力的轻量级程序。每个独立服务器通常专注于一个特定的集成点,例如 GitHub 用于仓库访问,PostgreSQL 用于数据库操作。
- 本地数据源:你的计算机上的文件、数据库和服务,MCP 服务器可以安全地访问它们。
- 远程服务:通过互联网(例如通过API)可用的外部系统,MCP 服务器可以连接到这些系统。
4. MCP的工作原理

通过以 LLM Claude Desktop 为例来理解 MCP 的工作原理。
1. 用户 → Claude Desktop
请求外部工具操作:用户要求 Claude 执行需要工具的操作,例如打开文件、浏览网页或登录某个地方。
2. Claude Desktop → MCP客户端
初始化 MCP 协议握手:Claude 要求 MCP 客户端连接到可用的 MCP 服务器,以查看它们提供哪些工具。
3. MCP客户端 → MCP服务器
连接阶段:MCP 客户端尝试连接到所有配置的 MCP 服务器(例如服务器1和服务器2)。
4. 能力发现阶段
MCP 客户端发送:"你们提供哪些能力?"
每个服务器响应可用的工具、资源和提示列表。
5. MCP客户端 → Claude Desktop
Claude 收到收集到的信息并注册发现的能力,这意味着它知道哪些工具可用,并可以在对话中使用它们。
6. Claude Desktop → 用户
Claude 通知用户工具和资源已准备好。
现在,Claude 可以对用户的原始请求采取行动(例如打开浏览器、登录、获取文件等)。
5. MCP服务器示例
更多的 MCP servers 示例可参考:https://mcp.so/
PostgreSQL MCP服务器
- 在连接的 PostgreSQL 数据库上执行只读 SQL 查询。
- 通过限制操作仅限于数据检索来确保安全性。
MySQL MCP服务器
- 执行只读 MySQ L查询。
- 适用于验证测试数据或获取测试相关指标。
Selenium MCP服务器
- 通过模型上下文协议为 Selenium WebDriver 提供浏览器自动化支持,支持 Chrome 和 Firefox 浏览器。
GitHub MCP服务器
- 自动执行推送代码和分析仓库等操作。
Playwright MCP服务器
- 使 LLM 或代理能够通过结构化命令控制由 Playwright 管理的浏览器。
Docker MCP服务器
- 通过自然语言控制 Docker 容器、镜像等。
参考
1\] https://dzone.com/articles/modern-test-automation-ai-llm-playwright-mcp