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