链载Ai

标题: 解读模型上下文协议(MCP):新一代工程师的入门指南 [打印本页]

作者: 链载Ai    时间: 5 小时前
标题: 解读模型上下文协议(MCP):新一代工程师的入门指南

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

点关注图片不迷路

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

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

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

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

现有痛点

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

MCP 解决方案

解决重复造轮子的问题

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

三、MCP 基础概念

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

  1. 万能遥控器:MCP如同一个能够控制所有家电的万能遥控器,让AI助手用统一指令操作不同的企业系统,无需为每个系统配备特定的控制方式。
  1. AI的USB-C接口:MCP也被比作AI领域的USB-C接口,提供了一个统一标准,使AI可以轻松连接各种外设(如数据库、邮件系统、报告生成工具),避免了对多种专用接口的需求,简化了AI集成过程。
  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 工作流程

工作原理: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. 构建爬取工具







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5