当前位置: 首页 > article >正文

大语言模型 17 - MCP Model Context Protocol 介绍对比分析 基本环境配置

MCP

基本介绍

官方地址:

  • https://modelcontextprotocol.io/introduction
    “MCP 是一种开放协议,旨在标准化应用程序向大型语言模型(LLM)提供上下文的方式。可以把 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种标准化的方式,让你的设备能够连接各种外设和配件一样,MCP 也提供了一种标准化的方式,让 AI 模型能够连接不同的数据源和工具。”

在这里插入图片描述
● MCP 主机(MCP Hosts):像 Claude Desktop、IDE 或 AI 工具等程序,它们希望通过 MCP 访问数据。
● MCP 客户端(MCP Clients):维护与服务器 1:1 连接的协议客户端。
● MCP 服务器(MCP Servers):轻量级程序,它们通过标准化的模型上下文协议(Model Context Protocol)公开特定的功能。
● 本地数据源(Local Data Sources):你的计算机上的文件、数据库和服务,MCP 服务器可以安全地访问这些数据。
● 远程服务(Remote Services):通过互联网可用的外部系统(例如 API),MCP 服务器可以与其连接。

https://www.anthropic.com/news/model-context-protocol
在这里插入图片描述

社区也在积极推进:

  • https://github.com/modelcontextprotocol

在这里插入图片描述

为什么

官方给的选择理由:
MCP 帮助您在 LLM 之上构建智能体和复杂的工作流。LLM 经常需要与数据和工具集成,而 MCP 提供:
● 越来越多的预构建集成,您的 LLM 可以直接接入
● 在不同的 LLM 提供商和供应商之间灵活切换的能力
● 在您的基础设施内保护数据的最佳实践

对比FC

MCP 本质上是 通过 JSON 的标准,将工具的能力、参数等描述清楚,在和大模型对话的时候,传递到上下文中。
而 Function Call 是需要 LLM 支持的,比如在 DeepSeek-R1 中,开源版本不支持 Function Call 的,所以此时我们实现的功能就会受到限制。
Function Call 主要用于扩展模型的功能,使其能执行任务,而 Model Context Protocol (MCP) 主要用于维持对话上下文,增强模型的个性化和记忆能力。
两者互补,使得 AI 既能高效执行任务,又能保持对话连贯性。

这里呢,我生成了一个表格来进行对比:
在这里插入图片描述

应用场景

● 智能代码编辑器 (IDE): 与文件系统、版本控制、包管理器和文档集成,以实现更丰富的上下文感知和代码建议 。
● 智能助手和生产力工具: 使 AI 助手能够访问日历、电子邮件、文档和其他个人或企业数据,以执行诸如安排日程、总结信息和管理工作流程等任务 。
● 增强的数据分析平台: 允许 AI 自主发现并与多个数据库、数据可视化工具和模拟进行交互,以进行复杂的数据分析 。 提到 AI2SQL 是使用 MCP 进行 AI 驱动数据查询的一个例子。
● 用于特定任务的自定义 AI 代理: 构建专门的 AI 代理,可以利用特定的工具和数据源来自动化客户支持、财务和运营等领域的任务 。

我怎么看

接触了这么多 LLM、Agent,很多时候大模型只是充当一个衔接的能力,本质还是要提供出API,才可以对大模型的能力进行扩展,来实现和业务的结合。
经常会出现:AI 集成问题(M 个模型 x N 个工具需要 M*N 个集成)
但实际在做东西的时候,我发现对应的开放出这些API来是非常困难的,每个平台都不一样,各自的接口也都不一样,所以 MCP 可以帮助我更轻松的把这些东西衔接起来。
有点像:OpenAI 的 API 定义了一个结构,大家后续出的API都是按照这个结构来的,这样的话,大家在 Python 编码的时候,只需要修改 base_url 和 api_key 就好了,剩下的入参和回参都是一样的。

在这里插入图片描述

安装UV

uv 是一个现代化的 Python 软件包管理器,旨在取代 pip、venv 和 virtualenv。
在这里插入图片描述

执行直接安装:

curl -LsSf https://astral.sh/uv/install.sh | sh

官方示例

Data and file systems

● Filesystem - Secure file operations with configurable access controls
● PostgreSQL - Read-only database access with schema inspection capabilities
● SQLite - Database interaction and business intelligence features
● Google Drive - File access and search capabilities for Google Drive

Development tools

● Git - Tools to read, search, and manipulate Git repositories
● GitHub - Repository management, file operations, and GitHub API integration
● GitLab - GitLab API integration enabling project management
● Sentry - Retrieving and analyzing issues from Sentry.io

Web and browser automation

● Brave Search - Web and local search using Brave’s Search API
● Fetch - Web content fetching and conversion optimized for LLM usage
● Puppeteer - Browser automation and web scraping capabilities

Productivity and communication

● Slack - Channel management and messaging capabilities
● Google Maps - Location services, directions, and place details
● Memory - Knowledge graph-based persistent memory system

AI and specialized tools

● EverArt - AI image generation using various models
● Sequential Thinking - Dynamic problem-solving through thought sequences
● AWS KB Retrieval - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime

http://www.lryc.cn/news/2384188.html

相关文章:

  • 【软考向】Chapter 9 数据库技术基础
  • 实战:Dify智能体+Java=自动化运营工具!
  • STM32单片机GUI系统1 GUI基本内容
  • 从零开始学习three.js(21):一文详解three.js中的矩阵Matrix和向量Vector
  • 应届本科生简历制作指南
  • VUE3+TS实现图片缩放移动弹窗
  • 大语言模型训练数据格式:Alpaca 和 ShareGPT
  • 实现动态增QuartzJob,通过自定义注解调用相应方法
  • PyTorch可视化工具——使用Visdom进行深度学习可视化
  • Qt无边框界面添加鼠标事件
  • 企业级爬虫进阶开发指南
  • Ubuntu ping网络没有问题,但是浏览器无法访问到网络
  • 网络安全-等级保护(等保) 2-7 GB/T 25058—2019 《信息安全技术 网络安全等级保护实施指南》-2019-08-30发布【现行】
  • 数据结构实验10.1:内部排序的基本运算
  • C#:多线程
  • 基于Zynq SDK的LWIP UDP组播开发实战指南
  • c#将json字符串转换为对象数组
  • 机器学习在智能水泥基复合材料中的应用与实践
  • wps编辑技巧
  • 开放世界RPG:无缝地图与动态任务的拓扑学架构
  • 【图像处理入门】1. 数字图像的本质:从像素到色彩模型
  • (已解决:基于WSL2技术)Windows11家庭中文版(win11家庭版)如何配置和使用Docker Desktop
  • Ubuntu20.04部署KVM
  • OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()
  • 计算机视觉与深度学习 | matlab实现ARIMA-WOA-CNN-LSTM时间序列预测(完整源码和数据)
  • 可视化图解算法43:数组中的逆序对
  • 【Python】使用Python实现调用API获取图片存储到本地
  • 腾讯2025年校招笔试真题手撕(一)
  • Vue3 与 Vue2 区别
  • java集合详细讲解