介绍MCP的背景及流程

文章目录

  • [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

相关推荐
hao_wujing5 小时前
深度学习网络入侵检测系统警报
人工智能·深度学习
L-ololois5 小时前
【AI】模型vs算法(以自动驾驶为例)
人工智能·算法·自动驾驶
猎嘤一号6 小时前
使用 PyTorch 和 SwanLab 实时可视化模型训练
人工智能·pytorch·深度学习
Jay Kay6 小时前
论文阅读:强化预训练
人工智能·语言模型·自然语言处理
蹦蹦跳跳真可爱5898 小时前
Python----神经网络发(神经网络发展历程)
人工智能·python·深度学习·神经网络·计算机视觉
学步_技术8 小时前
增强现实—Flame: Learning to navigate with multimodal llm in urban environments
人工智能·机器学习·计算机视觉·语言模型·自然语言处理·ar
飞飞是甜咖啡8 小时前
【机器学习】Teacher-Student框架
人工智能·算法·机器学习
愿所愿皆可成9 小时前
机器学习之集成学习
人工智能·随机森林·机器学习·集成学习
广州正荣9 小时前
成绩管理革新者:C++驱动的智能数据处理平台
c++·人工智能·科技
Prokint.9 小时前
GPU算力租用平台推荐(AI/游戏串流/渲染/办公)
人工智能·游戏·云计算·gpu算力