支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


解读模型上下文协议(MCP):新一代工程师的入门指南

发布日期:2025-03-22 12:05:34 浏览次数: 1645 来源:老贾探AI
推荐语

新一代工程师必读!MCP协议如何革新AI模型与数据的交互

核心内容:
1. MCP协议的背景与核心目标
2. MCP如何解决AI模型与数据集成的痛点
3. MCP的基础概念与作用,如何提升开发效率

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

MCP(Model Context Protocol,模型上下文协议)是一种开放标准协议,它让大型语言模型(LLM)能够与外部工具和数据源无缝通信,从而极大地扩展了AI的能力。核心目标:建立类似USB-C的标准化协议,统一AI模型与外部资源的交互接口,实现"一次集成,处处运行"。解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。

点关注图片不迷路

一、模型上下文协议(MCP)背景

MCP(Model Context Protocol)是由人工智能公司 Anthropic(开源Claude) 于 2024 年 11 月推出的开放协议,旨在解决 LLM 与外部数据源之间的通信标准化问题。其背景可概括为:

  • 数据孤岛限制:传统 AI 模型因无法高效访问分散的本地或远程数据(如数据库、API、文件系统),导致潜力受限。
  • 集成碎片化:不同数据源需定制化开发接口,增加开发成本且难以扩展(LangChain 和 LlamaIndex 整体代码的抽象层次过高)。
  • AI 生态需求:随着 LLM 应用场景扩展(如 Claude、Qwen 等),亟需统一协议连接工具、内容库及业务系统。

MCP 的提出类似于为 AI 应用打造“USB-C 端口”,实现通用连接标准。

二、为什么需要 MCP?解决哪些痛点?

现有痛点

  1. 数据隔离:LLM 无法直接访问企业内外部数据源(如数据库、API),需复杂定制开发。
  2. 安全风险:传统集成方式可能暴露敏感数据,缺乏标准化授权机制。
  3. 工具碎片化:不同数据源需独立适配,维护成本高。
  4. 上下文局限:模型依赖静态预训练数据,难以动态结合实时业务数据生成响应。

MCP 解决方案

  • 统一接口:通过标准化协议连接多种数据源(文件、API、数据库等),简化集成,提供了一个通用的桥梁。
    • 服务商:可以基于 MCP 开放自己的 API 和功能,融入更大的生态。
    • 开发者:无需从头构建集成逻辑,直接利用现成的 MCP 服务即可增强 AI Agent 的能力。
  • 安全控制:用户授权机制确保数据操作合规,支持本地部署避免数据外泄。
  • 动态上下文:实时获取外部数据增强模型响应质量,如结合数据库查询生成精准答案。

解决重复造轮子的问题

MCP 的标准化设计让开发者可以复用社区贡献的资源。例如,一个支持 GitHub 操作的 MCP 服务器一旦开发完成,其他开发者就能直接调用,而无需重复实现。这种"一次开发,多次使用"的模式极大提升了效率。

三、MCP 基础概念

  • 定义:MCP协议旨在解决传统AI系统与外部数据源和工具集成时的碎片化问题,为AI模型与外部世界之间的交互提供标准化接口。

  • 作用:它就像AI的“通用翻译器”,让AI能够安全、可控地访问各种外部资源,如文件系统、数据库、API等,并执行具体任务。例如,当你让AI整理电脑里的会议记录时,它可以通过MCP协议直接调取文件系统,完成分类归档、生成摘要等操作。

通过两个比喻简明地解释了 MCP 的作用:

  1. 万能遥控器:MCP如同一个能够控制所有家电的万能遥控器,让AI助手用统一指令操作不同的企业系统,无需为每个系统配备特定的控制方式。
  • 既能让"电视"播放监控视频(调用安防系统),也能让"空调"调节数据温度(调整服务器负载),还能让"音响"播报业务报告(触发语音合成)
  1. AI的USB-C接口:MCP也被比作AI领域的USB-C接口,提供了一个统一标准,使AI可以轻松连接各种外设(如数据库、邮件系统、报告生成工具),避免了对多种专用接口的需求,简化了AI集成过程。
  • 通过MCP,一个AI助手可以连U盘(数据库)、插打印机(邮件系统)、接显示器(报告生成),接口都一样,只是功能不同。
  1. AI的通用翻译器:让AI能够安全、可控地访问各种外部资源,如文件系统、数据库、API等,并执行具体任务。例如,当你让AI整理电脑里的会议记录时,它可以通过MCP协议直接调取文件系统,完成分类归档、生成摘要等操作。

四、MCP 核心组件

MCP 主要五个核心组件:

  1. MCP Host:运行 AI 模型的应用程序,例如:Pycharm、Visual Studio、Claude Desktop、Cursor、Cline。
  2. MCP Client:是用来在 Hosts 应用程序内维护与 Server 之间 1:1 连接。一个主机应用中可以运行多个MCP客户端,从而同时连接多个不同的服务器。
  3. MCP Server:核心部分,通过标准化协议为 Clients 提供资源(Resources)、工具(Tools)、提示词(Prompts)。
  4. 本地资源:本地文件、数据库等直接可访问的数据。
  5. 远程资源:外部 API 或云服务,例如 GitHub 或 Slack。
  • MCP Server 能力
    • Resources资源:静态数据源(如文件内容、API 响应)。
    • Tools工具:可调用的函数或服务(如 SQL 查询、第三方 API)。
    • Prompts提示词:预定义的任务模板,指导模型生成特定格式响应。
  • 通讯机制
    • stdio 传输:MCP定义了一套基于JSON-RPC 2.0的消息通信协议。本地进程间通过标准输入输出交换 JSON-RPC 消息。
    • HTTP with SSE:远程通信采用服务端推送事件(Server-Sent Events)。
  • 安全与控制
    • 消息透明:采用纯JSON格式封装三种消息类型——请求(带唯一ID)、响应(含结果/错误)和通知(无回复)。每条消息包含方法名和参数,类似函数调用,直观表达"执行操作/获取数据"等行为。
    • 开发友好:相比二进制协议(如gRPC),JSON消息可人工阅读,配合结构化日志更易调试。协议层自动处理请求响应匹配、错误传递和并发管理,开发者只需关注业务逻辑。
    • 用户需显式授权工具调用,操作记录可审计。

五、MCP 工作流程

工作原理:MCP协议采用客户端-服务器架构,通过标准化的接口(如基于JSON-RPC的通信)实现上下文的动态传递和工具的灵活调用。当AI需要访问外部数据或工具时,MCP客户端会向对应的MCP服务器发送请求,服务器处理后返回结果,从而实现AI与外部资源的交互。

以 PostgreSQL 数据库查询为例,典型流程如下:

  1. 初始化连接:Client 启动 Server 进程并获取能力列表(Tools/Resources/Prompts)。
  2. 用户查询:用户提问(如“查询金额最高的订单”)。
  3. LLM 决策:模型判断需调用工具(如 SQL 查询),Client 向 Server 发送请求。
  4. 执行与返回:Server 执行工具(生成 SQL 并查询数据库),结果返回给 LLM 生成最终响应。
  5. 用户展示:响应经授权后展示,支持查看原始数据来源(如 SQL 语句)。

六、MCP 与 Function Calling 的区别




生态支持
开源社区共建工具仓库
依赖模型提供商(如 OpenAI)
安全性
用户授权与本地化部署支持
依赖模型服务商的安全策略

七、MCP Server 分类及应用

MCP Server是MCP服务的核心,主要从官方、第三方以及社区MCP Server三个角度对关注度较高的应用进行细分。

官方MCP Server

类别
名称
描述
链接
核心基础设施
modelcontextprotocol/server-filesystem
提供标准化文件访问接口,支持细粒度权限控制
https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem
拓展工具
modelcontextprotocol/Google Drive
与 Google Drive 集成
https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive
AI增强工具
modelcontextprotocol/aws-kb-retrieval-server
官方向量检索方案
https://github.com/modelcontextprotocol/servers/tree/main/src/aws-kb-retrieval-server

第三方MCP Server

类别
名称
描述
链接
数据库服务
Tinybird MCP Server
实时数据分析
https://github.com/tinybirdco/mcp-tinybir
云服务
Qdrant MCP Server
向量搜索云服务
https://github.com/qdrant/mcp-server-qdrant/
AI服务
LlamaCloud Server
大模型托管平台
https://github.com/run-llama/mcp-server-llamacloud
开发工具服务
Neo4j
图数据库服务
https://github.com/neo4j-contrib/mcp-neo4j/
拓展工具服务
Firecrawl
网页爬取
https://github.com/mendableai/firecrawl-mcp-server?tab=readme-ov-file#firecrawl-mcp-server

社区MCP Server

类别
名称
描述
链接
本地工具集成
punkpeye/mcp-obsidian
支持双向同步 Obsidian 笔记库
https://github.com/punkpeye/mcp-obsidian
自动化工具
appcypher/mcp-playwright
浏览器自动化
https://github.com/appcypher/awesome-mcp-servers#browser-automation
垂直领域工具
r-huijts/mcp-aoai-web
艺术数据访问
https://github.com/r-huijts/rijksmuseum-mcp
开发者工具
sammcj/mcp-package-version
开发依赖管理
https://github.com/sammcj/mcp-package-version
隐私增强工具
hannesrudolph/mcp-ragdocs
本地文档检索
https://github.com/hannesrudolph/mcp-ragdocs

八、MCP在网页爬取的场景的最佳实践

假设需通过 MCP 实现动态网页数据抓取:

  1. 构建爬取工具
  • 定义 WebCrawlerTool,参数包含 URL 和解析规则(如 XPath)。
  • 注册为 MCP Server
    • 将工具部署为 Server,暴露 call_tool 方法执行爬取逻辑。
  • 动态调用
    • LLM 根据用户问题(如“获取某新闻网站头条”)生成工具调用请求,返回结构化数据。
  • 安全增强
    • 限制爬取频率,通过用户授权控制敏感操作。

    标准开发流程

    1. 定义功能:明确MCP服务器将提供哪些功能,比如文件管理、数据库查询、网络服务等。
    2. 实现MCP层:遵循标准化的MCP协议规范进行开发,包括消息格式、通信逻辑等。
    3. 选择传输方式:在本地传输(如stdio)或远程传输(如服务器发送事件/WebSockets)之间选择。
    4. 创建资源/工具:开发或连接MCP将要交互的特定数据源和服务,如文件系统、数据库、API等。
    5. 设置客户端:在MCP服务器和客户端之间建立安全稳定的连接通道。

    九、应用场景

    • 行程规划助手:AI助手通过MCP服务器无缝检查日历可用时间、预订航班、发送确认邮件等,无需为每个工具单独开发集成代码。
    • 高级IDE(智能代码编辑器):开发环境通过MCP协议连接文件系统、版本控制、包管理器和文档系统,实现更丰富的上下文感知能力和更智能的代码建议。
    • 复杂数据分析:AI分析平台通过统一的MCP层自动发现并与多个数据库、可视化工具和模拟系统进行交互,无需手动管理连接。
    • 文件管理:让AI助手整理文件、归档、生成摘要等,如通过MCP服务器访问本地文件系统。
    • 信息查询:直接搜索本地文档或询问PDF内容,获取所需信息。
    • 沟通辅助:根据报告起草Slack消息,或总结团队聊天。
    • 网络服务:通过MCP服务器获取天气、地图导航或新闻简报。

    十、总结与展望

    总结:

    • 价值:统一了 LLM 与外部系统的交互标准,降低集成成本,提升模型实用性。
    • 局限:暂不支持复杂逻辑(如循环)、远程连接依赖本地中转。

    展望:

    • 远程连接:2025 年路线图计划支持 OAuth 2.0 认证与无状态服务。
    • 生态扩展:更多企业和社区加入(如 Block、Apollo),推动工具标准化。
    • 行业应用:在医疗、金融等领域结合私有数据增强模型专业化能力。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询