高效阅读:智能评估与个性化导航
本书阅读时间约为3小时。
但并非所有章节都与您相关。
这份2分钟的智能评估将测试您当前的专业知识,
并为您个性化推荐最相关、最有用的章节,助您更高效地学习。
内容总览:快速定位章节
核心概念:模型上下文协议 (MCP)
1.1) 什么是MCP?
想象一下,您只会说英语。而要从只会说法语的人那里获取信息,您必须学习法语。从只会说德语的人那里获取信息,您必须学习德语。依此类推。
在这种情况下,学习哪怕5种语言对您来说都将是一场噩梦。但如果您添加一个懂得所有语言的翻译器,情况会怎样?
这很简单,不是吗?
翻译器就像一个MCP!
它允许您(智能体)通过一个单一接口与其他人(工具或其他功能)进行交流。
正式来说,尽管大型语言模型(LLMs)拥有令人印象深刻的知识和推理能力,使其能够执行许多复杂任务,但它们的知识仅限于其初始训练数据。如果它们需要访问实时信息,就必须自行使用外部工具和资源。
模型上下文协议(Model Context Protocol - MCP) 是一个标准化的接口和框架,允许AI模型与外部工具、资源和环境无缝交互。
MCP充当AI系统与各项功能(工具等)之间的通用连接器,类似于USB-C如何标准化电子设备之间的连接。
1.2) 为何创建MCP?
没有MCP时,添加新工具或集成新模型是一件令人头疼的事。如果您有三个AI应用程序和三个外部工具,您可能最终需要编写九个不同的集成模块(每个AI x 每个工具)因为没有共同标准。这无法扩展。
AI应用程序的开发者每次都在重复造轮子,而工具提供商不得不支持多个不兼容的API才能触及不同的AI平台。
让我们详细了解一下。
挑战:M×N 集成问题
在MCP之前,AI与外部数据和操作连接的现状就像是零散的临时解决方案。您要么为每个工具硬编码逻辑,要么管理不健壮的提示链,或者使用供应商特定的插件框架。
这导致了臭名昭著的 M×N 集成问题。本质上,如果您有 M 个不同的AI应用程序和 N 个不同的工具/数据源,您可能最终需要 M × N 个自定义集成。
下图展示了这种复杂性:每个AI(每个“模型”)可能需要独特的代码来连接到每个外部服务(数据库、文件系统、计算器等),导致意大利面条式的互连。
解决方案:MCP 简化集成 M+N 模式
MCP通过在中间引入一个标准接口来解决这个问题。我们不再是M×N的直接集成,而是M+N的实现:每个 M 个AI应用程序都实现一次MCP客户端,每个 N 个工具都实现一次MCP服务器。
现在大家都说同一种“语言”,可以说,新的配对不再需要自定义代码,因为它们已经通过MCP相互理解了。
下图展示了这种转变。对比传统模式,MCP显著降低了连接复杂度。
- 左侧(MCP之前),每个模型都必须与每个工具连接,形成混乱的网状。
- 右侧(有了MCP),每个模型和工具都连接到中央MCP层,大大简化了连接。这也可以与我们之前讨论的翻译器示例联系起来。
1.3) MCP架构概览
MCP核心遵循客户端-服务器架构(很像Web或其他网络协议)。然而,其术语是为AI上下文量身定制的。需要理解三个主要角色:宿主(Host)、客户端(Client)和 服务器(Server)。
宿主 (Host)
宿主是面向用户的AI应用程序,是AI模型存在并与用户交互的环境。例如:ChatGPT、Claude桌面应用、AI增强型IDE (Cursor)。
它捕获用户输入,保存对话历史,并显示模型的回复。
客户端 (Client)
MCP客户端是宿主内部的一个组件,负责处理与MCP服务器的底层通信。
将其视为适配器或信使,将宿主的指令转换为MCP服务器可以理解的语言并执行。
服务器 (Server)
MCP服务器是提供功能(工具、数据等)给应用程序的外部程序或服务。
它以标准化方式暴露一组动作或资源,可以本地或远程运行,并执行来自客户端的请求。
1.4) MCP核心能力:工具、资源与提示
工具、提示和资源构成了MCP框架的三大核心能力。能力本质上是服务器提供的特性或功能。
- ➤工具(Tools): 可执行的操作或函数,AI(宿主/客户端)可以调用它们(通常带有副作用或外部API调用)。
- ➤资源(Resources): AI(宿主/客户端)可以查询信息的只读数据源(无副作用,仅检索)。
- ➤提示(Prompts): 服务器可以提供的预定义提示模板或工作流。
工具 (Tools)
工具是代表AI模型执行某些功能的函数。它们通常涉及外部API调用、文件I/O等,并且由AI模型自主选择并触发。
例如,一个天气查询工具:
@mcp.tool()
def get_weather(location: str):
"""
获取指定地点的当前天气信息。
:param location: 城市名或地点名。
:return: 包含温度和天气状况的字典。
"""
# ... (实际调用外部天气服务) ...
return {"temperature": "15°C", "conditions": "多云"}
MCP确保工具调用经过开发者/治理批准,防止滥用。它们是模型控制的动态功能。
资源 (Resources)
资源为AI模型提供只读数据源,如数据库、知识库、文档内容等,不涉及副作用或重计算。
它们通常由宿主应用程序控制访问,是AI获取上下文信息的重要途径:
@mcp.resource("file://{path}")
def read_file(path: str):
"""
读取指定路径的文件内容。
"""
with open(path, "r", encoding="utf-8") as f:
return f.read()
资源通过URI或名称标识,确保安全和权限控制,如同按需提供的参考材料。
提示 (Prompts)
提示是预定义的指令模板或对话流,用于引导AI行为,而非AI自发使用。它们通常由用户或开发者控制,提供标准化策略。
例如,一个代码审查提示:
@mcp.prompt()
def code_review_prompt():
"""
生成一个用于代码审查任务的prompt。
"""
return [
{"role": "system", "content": "你是一个严谨的代码审查专家..."},
{"role": "user", "content": "请审查以下Python代码片段:"}
]
通过MCP,这些复杂的提示可以按需检索和更新,模糊了数据与指令之间的界限,类似于ChatGPT插件但更加标准化和可发现。
实践应用:前沿MCP项目案例
MCP客户端是AI应用程序(如Cursor)中的一个组件,用于建立与外部工具的连接。了解如何100%本地构建它,实现AI与本地数据库的交互。
核心工作流程:
- 用户提交查询。
- 智能体连接到本地MCP服务器发现并选择工具。
- 智能体根据查询调用工具并获取所需上下文。
- 智能体返回上下文感知的响应。
学习如何创建MCP驱动的智能RAG,该RAG可以优先级搜索向量数据库,并在需要时智能回退到Web搜索,获取最新信息。
核心工作流程:
- 用户通过MCP客户端提问。
- 客户端联系MCP服务器并选择最合适的工具(向量DB或Web搜索)。
- 工具执行查询,获取相关数据。
- 返回信息给客户端生成响应。
构建一个MCP驱动的AI智能体,直接从Cursor或Claude Desktop获取、分析并生成股票市场趋势洞察,甚至自动生成可视化图表。
核心工作流程:
- 用户提交金融查询。
- MCP智能体启动金融分析师团队(CrewAI)。
- 团队进行市场研究并创建可执行的分析脚本。
- 智能体运行脚本生成分析图表并返回洞察。
本项目教您如何构建一个MCP驱动的语音智能体,该智能体可以通过语音查询数据库或执行Web搜索,并返回语音响应。
核心工作流程:
- 用户语音查询通过AssemblyAI转录。
- 智能体发现并选择数据库或Web搜索工具。
- LLM调用相应工具,获取数据并生成文本响应。
- 应用程序通过文本转语音(TTS)传递响应。
本项目构建一个MCP服务器,通过MindsDB和Cursor IDE驱动的统一界面,使用自然语言查询和聊天超过200多个数据源。
核心工作流程:
- 用户提交查询。
- 智能体连接到MindsDB MCP服务器发现工具。
- 根据用户查询智能选择并调用工具。
- 返回上下文相关的响应。
探索如何使用MCP为RAG应用赋能,使其能够处理包含表格、图表、图像及复杂布局的真实世界文档。
核心工作流程:
- 用户与MCP客户端(Cursor IDE)交互并提交查询。
- 客户端连接到MCP服务器并选择文档处理工具。
- 工具利用GroundX的先进能力对复杂文档执行深度搜索。
- 搜索结果返回给客户端以生成最终响应。
了解如何构建一个MCP服务器,该服务器可以生成任何类型的合成数据集。它使用Cursor作为MCP宿主,并利用SDV生成逼真的表格合成数据。
核心工作流程:
- 用户提交数据生成或可视化查询。
- 智能体连接到MPC服务器发现工具。
- 智能体根据查询使用Dacacebo's SDV工具。
- 返回合成数据创建、评估或可视化的相关响应。
构建一个100%本地的ChatGPT深度研究功能替代品,帮助您获取任何主题的详细洞察。
核心工作流程:
- 用户提交查询。
- Web搜索智能体通过Linkup执行深度Web搜索。
- 研究分析师验证并去重结果。
- 技术作者撰写带有引用的连贯响应。
我们有一个MCP驱动的视频RAG,它可以摄取视频并让您通过对话与之互动。它还会智能地获取事件发生的精确视频片段。
核心工作流程:
- 用户指定视频文件和查询。
- 摄取工具在Ragie中索引视频内容。
- 查询工具从Ragie索引中检索相关视频信息和引用。
- 显示视频工具返回回答查询的视频片段。
我们有一个MCP驱动的音频分析工具包,它接受音频文件并让您对其进行转录并提取见解,例如情感分析、说话人标签、摘要和主题检测。它还允许您与音频进行聊天。
核心工作流程:
- 用户的音频输入通过本地MCP服务器发送到AssemblyAI。
- AssemblyAI转录并提供摘要、说话人、情感和主题等多种洞察。
- 转录后,用户还可以与音频(通过文本界面)进行聊天。