【人工智能时代】-什么是MCP?本地如何开发MCP Server

前言

MCP(Model Context Protocol)全称模型上下文协议,是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。

AI工具会朝着两个方向发展:

  1. 掌握更多的信息
  2. 控制更多的工具

在没有联网搜索之前,大模型的数据来源只有训练数据的时候以及推理我们告诉他的东西。所以后来的rag、知识库都是让AI掌握更多的信息,而MCP的出现是为了让大模型控制更多的工具,赋予更多能力。

MCP

在 MCP 出现之前,如果大模型需要访问外部数据的时候了,通常使用 Function Calling 的方式。Function Calling 是通过给模型预设函数描述(包括函数名、参数说明、返回值格式等),让模型在合适的时候返回一个符合结构的 JSON 格式,外部系统再解析这个 JSON,调用实际的后端函数。

但 Function Calling 的方式没有一个统一的开发规范,你开发的函数我不能用,我开发的函数你不能用,而且开发起来很麻烦,为了解决这个问题,MCP 出现了。

MCP就是AI大模型的标准化工具箱,大模型可以通过MCP调用外界的AI工具,而AI工具在开发的时候也需要遵循MCP协议。MCP 允许应用程序以标准化方式为 LLM 提供上下文,将提供上下文的问题与实际的 LLM 交互分开

我们本地的数据,例如

<think>好的,用户想了解MCP协议的概念和工作原理。我需要先整理已有的信息,然后根据提供的引用内容进行回答。 首先,引用[1]中提到MCP是模型上下文协议,用于结构化描述AI模型的上下文需求,包括输入输出格式和数据约束。而引用[2]补充了MCP的架构,分为Host、Client、Server,以及如何连接本地和远程资源。这两个引用结合起来,可以解释MCP的基本概念和运作方式。 用户的问题有两个部分:MCP协议是什么,以及如何工作。需要分点回答,结构清晰。同时要注意使用中文,并正确应用行内公式和独立公式的格式。不过目前的内容中没有涉及数学公式,所以可能不需要插入LaTeX。但根据系统级指令,如果有变量或技术术语需要用行内公式的话,可能需要适当处理,但这里看起来主要是概念性的描述,可能不需要。 接下来要确保回答符合用户的要求,即结构清晰,分步骤解释,并引用提供的资料。同时,生成相关问题部分需要与MCP相关,可能涉及应用场景、架构优势、安全性等。 需要检查是否有遗漏的信息,例如MCP的核心用途、为何使用MCP等,这些在引用[1]里有提到,需要整合到回答中。此外,引用[2]中提到的CS结构、各个组件的角色,如Host、Client、Server,也需要详细说明其工作流程。 最后,确保回答中引用的标识正确添加,例如在解释概念时引用[^1],在讨论架构时引用[^2]。</think>### 模型上下文协议(MCP)的概念与工作原理 #### 1. **MCP协议是什么?** 模型上下文协议(Model Context Protocol, MCP)是一种用于**结构化描述AI模型的上下文需求**的通信协议。它通过定义输入输出格式、数据约束和交互规则,帮助AI工具(如大语言模型)与本地或远程资源(如文件、数据库、API)安全高效地交互。 简单来说,MCP像一座桥梁,连接AI应用(如Claude Desktop或IDE插件)与底层数据服务,使模型能按需获取结构化数据,同时保障本地资源的安全性。 --- #### 2. **MCP如何工作?** MCP基于**客户端-服务器架构(C/S)**,包含以下核心组件: - **MCP Host**:需要数据的AI程序(如聊天工具或开发环境),发起数据请求。 - **MCP Client**:与Server一一对应的协议客户端,负责转发Host的请求。 - **MCP Server**:轻量级服务,提供对本地资源(文件、数据库)或远程服务(API)的安全访问能力。 **工作流程示例**: 1. Host(如IDE插件)向Client发送数据请求(如读取本地代码文件)。 2. Client将请求转发给对应的Server。 3. Server验证权限后,从本地文件系统读取数据并返回。 4. Host将处理后的数据(如代码摘要)通过模型生成结果。 --- #### 3. **MCP的核心用途** - **安全访问控制**:通过Server限制直接访问权限,避免敏感数据泄露。 - **标准化交互**:统一数据交换格式(如JSON Schema),降低集成复杂度。 - **资源扩展性**:支持同时连接多个Server,整合本地与云端资源。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoli8748_软件开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值