介绍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

相关推荐
lxmyzzs26 分钟前
基于深度学习CenterPoint的3D目标检测部署实战
人工智能·深度学习·目标检测·自动驾驶·ros·激光雷达·3d目标检测
跟着珅聪学java1 小时前
Apache OpenNLP简介
人工智能·知识图谱
AwhiteV1 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
Black_Rock_br2 小时前
AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
人工智能·macos
☺����2 小时前
实现自己的AI视频监控系统-第一章-视频拉流与解码2
开发语言·人工智能·python·音视频
fsnine2 小时前
机器学习——数据清洗
人工智能·机器学习
gyratesky3 小时前
如何使用LLM+MCP创建超文本内容
ai编程·mcp·trae
小猿姐3 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
算法_小学生3 小时前
循环神经网络(RNN, Recurrent Neural Network)
人工智能·rnn·深度学习
吱吱企业安全通讯软件4 小时前
吱吱企业通讯软件保证内部通讯安全,搭建数字安全体系
大数据·网络·人工智能·安全·信息与通信·吱吱办公通讯