链载Ai

标题: 深度解析:AI Agent 应用开发中 MCP 入门要点 [打印本页]

作者: 链载Ai    时间: 1 小时前
标题: 深度解析:AI Agent 应用开发中 MCP 入门要点

一、背景

1、大模型应用中两个互联领域的重大挑战

(1)Agent 与 Tools(工具)的交互

Agent 需要调用外部工具和API、访问数据库、执行代码等。

(2)Agent 与 Agent(其他智能体或用户)的交互

Agent 需要理解其他 Agent 的意图、协同完成任务、与用户进行自然的对话。

MP解决第一个挑战,A2A解决第二个挑战。

MCP就是大模型连接世界的标准、桥梁!

二、核心概念

MCP 定义:MCP(Model Context Protocol,模型上下文协议)是 Anthropic 于 2024 年 11 月推出的开放标准,旨在为大语言模型(LLM)提供统一、标准化的方式与外部数据源和工具通信,解决传统 AI 集成架构碎片化、扩展困难的问题。

1、核心价值

官网:

https://modelcontextprotocol.io/introduction

github:

https://github.com/modelcontextprotocol

2、如何理解LLM与MCP?

看到这张图,大概可以联想到前段时间特别火的Manus智能体,掌握了MCP,感觉自己也可以轻松做出一个Manus了。

借助 MCP,只要支持了该协议,就能轻松将各种数据源和工具连接到 LLM。

3、 MCP的理解

传统AI集成的问题:这种为每个数据源构建独立连接的方式,可以被视为一个M*N问题。

问题:架构碎片化,难以扩展,限制了AI获取必要上下文信息的能力

MCP解决方案:提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。

MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。

4、哪些平台支持MCP查询(MCP Server)

github查看:


各种平台:


注意:

5、MCP应用场景

三、MCP的通信机制

根据 MCP 的规范,当前支持两种通信机制(传输方式):

1、Stdio方式

优点


缺点


可能大家还有一个疑问,Stdio方式是一种典型的C/S架构, 我们使用大模型基本都是直接使用在线(API)方式,为啥还需要用到Stdio方式呢?这种方式重要吗?

答:联想上面的一个机器人的图,MCP的Server端就是机器人的 机械臂、眼睛等设备,Client在机器人的大脑里靠近LLM大模型,Server与Client必须在一个设备里(机器人)。

再联系下,让LLM操作自己电脑里的文件(比如打开某个目录打开某个文件)、执行本机的cmd命令,连接内网的数据库等(Server端)操作,都需要Server端放在本地电脑里,Client端需要桥接LLM与Server端,所以也要放本地电脑里,LLM可以不在本地电脑里。

因此,Stdio是非常重要的MCP通信机制。本文也大都基于Stdio方式讲解。


2、SSE方式

场景


优点

配置方式非常简单,基本上就一个链接就行,直接复制他的链接填上就行。


3、 stdio的本地环境安装

stdio的本地环境有两种:Python 编写的服务和TypeScript 编写的服务。分别对应着uvx 和npx 两种指令,这两种指令一般都需要安装。

(1)安装uvx

powershell-ExecutionPolicyByPass-c"irmhttps://astral.sh/uv/install.ps1|iex”

验证:重启终端并运行以下命令检查是否正常:

uv--versionuvx--help

(2)安装npx

只需要安装node.js即可,安装包从官网下载。

https://nodejs.org/zh-cn

四、Stdio方式的架构

1、5个核心概念

MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:

(1)MCP Host

作为运行MCP 的主应用程序,例如Claude Desktop、Cursor、Cline或AI 工具。为用户提供与LLM交互的接口,同时集成MCP Client 以连接MCP Server。

(2)MCP Client

MCP client 充当 LLM 和 MCP server 之间的桥梁,嵌入在主机程序中,主要负责:

有哪些常用的Clients?

MCP 官网 列出来一些支持 MCP 的 Clients。

https://modelcontextprotocol.io/clients

分为两类:


更多的Client参考这里:

MCP Clients:

https://www.pulsemcp.com/clients

Awesome MCP Clients:

https://github.com/punkpeye/awesome-mcp-clients/

(3)MCP Server

每个 MCP 服务器都提供了一组特定的工具,负责从本地数据或远程服务中检索信息。是 MCP 架构中的关键组件。

与传统的远程 API 服务器不同,MCP 服务器既可以作为本地应用程序在用户设备上运行(Stdio方式),也可部署至远程服务器(SSE方式)。

比如你让助手:


作用:让 LLM 不仅能“说”,还能“做”(执行代码、查询数据等)。

MCP Server 的本质

本质是运行在电脑上的一个nodejs或python程序。可以理解为客户端用命令行调用了电脑上的nodejs或python程序。


2、工作流程

API 主要有两个

数据流向图







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