大语言模型 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

社区也在积极推进:

为什么

官方给的选择理由:

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。

执行直接安装:

shell 复制代码
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

相关推荐
XINVRY-FPGA几秒前
Xilinx XCAU10P-2FFVB676I 赛灵思 Artix UltraScale+ FPGA
嵌入式硬件·安全·阿里云·ai·fpga开发·云计算·fpga
蹦蹦跳跳真可爱5898 分钟前
Python----循环神经网络(WordEmbedding词嵌入)
人工智能·python·rnn·自然语言处理
妄想成为master9 分钟前
面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)
人工智能·目标检测·计算机视觉
※DX3906※9 分钟前
小土堆pytorch--神经网络-非线性激活&线性层及其他层介绍
人工智能·pytorch·神经网络
gaosushexiangji18 分钟前
实验分享|基于千眼狼sCMOS科学相机的流式细胞仪细胞核成像实验
大数据·人工智能·科技·数码相机·计算机视觉
米饭咔咔吃22 分钟前
飞桨paddle import fluid报错【已解决】
人工智能·paddlepaddle·paddle
米饭咔咔吃29 分钟前
飞桨paddle ‘ParallelEnv‘ object has no attribute ‘_device_id‘【已解决】
人工智能·paddlepaddle·paddle
熊猫在哪32 分钟前
野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(四)安装RKNN Toolkit Lite2
人工智能·python·嵌入式硬件·深度学习·神经网络·目标检测·机器学习
大咖分享课35 分钟前
现代人工智能系统的实用设计模式
人工智能·设计模式
江沉晚呤时39 分钟前
使用 C# 入门深度学习:线性代数详细讲解
人工智能·后端·深度学习·线性代数·c#·.netcore