MCP概念
MCP即Model Context Protocol,是Anthropic推出的一种开放协议标准,于2024年11月开源(https://modelcontextprotocol.io/ )。
MCP标准化了应用程序如何向大语言模型(LLM)提供上下文,通过统一的客户端 - 服务器架构解决LLM应用与数据源连接的难题,解决了数据孤岛问题。可以把它想象成人工智能应用程序的USB - C端口,为AI模型提供标准化接口,使其能与不同数据源和工具无缝交互,就像USB - C让设备连接各种外围设备一样。
核心架构
MCP采用客户端 - 服务器架构,主要由以下部分构成:
MCP主机(MCP Hosts):希望通过MCP访问资源的程序,例如Claude Desktop、IDE或AI工具,负责发起连接。
MCP客户端(MCP Clients):与服务器保持1:1连接的协议客户端,在主机程序内部,作为主机与服务器之间的中介,管理两者之间的通信,像一个“中间人”,负责建立和管理连接、传递指令和消息。
MCP服务器(MCP Servers):轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能,为客户端提供上下文、工具和prompt信息,是给AI应用找来的“帮手”,负责提供各种能力。
本地资源(Local Resources):本地机器资源中可供MCP服务器安全访问的资源,如数据库、文件、服务等。
互联网远程服务(Remote Resources):可以通过网页API来双向调用的远程服务。
工作原理
MCP将LLMs与资源之间的通信划分为客户端、服务器和资源三个主要部分。客户端负责发送请求给MCP服务器,服务器再将请求转发给相应的资源。具体工作流程如下:
1.连接:MCP主机连接到一个或多个MCP服务器。
2.初始请求与响应:MCP客户端发送初始请求,查询服务器的功能和可用工具;服务器接收到请求后,返回初始响应,列出其提供的工具、资源和提示。
3.建立连接:客户端收到初始响应后,向服务器确认,至此双方连接建立。
4.请求处理:主机根据需要给客户端发送请求,客户端调用服务器的能力,服务器处理请求,访问相关数据源或外部服务。
5.结果返回:服务器将处理结果返回给客户端,客户端再将信息提供给AI模型,用于生成用户响应。
核心组件
MCP有三大核心组件:
协议层(Protocol layer):负责消息的封装、请求/响应的关联,以及高层通信模式的管理,主要类包括Protocol、Client、Server等。
传输层(Transport layer):负责在MCP客户端和MCP服务器之间实现安全、双向的通信,通信方式有STDIO(标准输入/输出,适用于Client和Server在同一台计算机上运行的本地集成场景)和通过SSE的HTTP(服务器发送的事件,客户端通过HTTP连接到服务器,服务器可使用SSE标准通过持久连接将消息推送到客户端)。
消息类型(Message types):暂未在搜索资料中详细提及具体内容。
优势特点
万能连接:为大模型和外部资源之间的互通提供了标准通道,让大模型连接外部资源变得像J2EE程序通过JDBC访问数据库那样简单便捷,开发者无需为每种数据源单独开发复杂接口代码。
安全可信:拥有访问控制机制和安全框架,支持多种加密算法,重视隐私和安全,强调本地连接优先,用户可自主掌控资源访问权限,降低敏感数据泄露风险。
数据访问标准化:提供通用开放协议,允许开发者以统一方式连接各种数据源,如Google Drive、Slack、GitHub等。
双向安全连接:支持在AI应用和数据源之间建立双向、安全的通信通道,确保数据隐私性和交互完整性。
上下文感知能力:允许AI助手从数据源中提取更全面的上下文信息,提供更精准和相关的回答。
模块化与可扩展性:架构灵活,支持模块化开发,便于开发者扩展以创建更多数据源支持。
开源与社区支持:是完全开源的标准,鼓励开发者社区贡献代码或创建新的连接器,形成健康的开发者生态。
多场景应用支持:适用于软件开发、数据分析、企业自动化、智能客服系统、内容生成平台、医疗、教育、金融等多种场景。
应用场景
软件开发:将AI模型连接到代码存储库或问题跟踪器,增强代码生成工具,提高开发效率和代码质量;开发者还能通过MCP让AI代理直接检索代码仓库内容,快速定位函数定义等信息。
数据分析:允许AI助手访问和分析数据库或云存储中的数据集,处理大规模数据,确保快速传输和处理,提升数据分析的效率和系统性能。
企业自动化:把AI与CRM系统、项目管理平台等业务工具结合,实现企业流程的自动化和优化。
智能客服系统:帮助从多个数据源获取用户信息、订单记录和商品数据,实现不同数据源之间的无缝对接,提高客服响应速度和系统稳定性。
内容生成平台:解决数据连接问题,使开发者更高效地处理文本、图片和视频数据,加快开发进度并提升平台性能。
医疗场景:提供患者病史,让模型更精准地生成诊断建议,还可集成实验室检测系统和医学影像分析工具,为医生提供全面患者信息和诊断支持。
教育场景:集成专业知识或工具,用于设计课程内容、生成多语言学习材料、解答学生问题等。
金融场景:协作完成市场趋势分析、投资报告生成和多语言客户支持,提高金融服务质量和效率。
生态系统
关键采用者:Anthropic和OpenAI等行业领导者已将MCP集成到其产品中,如Anthropic的Claude桌面版和OpenAI的Agent SDK;百度地图、Blender MCP和Replit等工具也通过MCP实现了与外部API和服务的无缝集成;开发者工具和IDE,如Cursor、JetBrains和Theia IDE,通过MCP集成了AI工具,提升了开发效率。
社区驱动的MCP服务器:尽管Anthropic尚未发布官方MCP市场,但社区已创建多个独立的服务器集合平台,如MCP.so、Glama和Pulse MCP,提供数千个MCP服务器。
SDKs和工具:官方SDK支持多种语言,如TypeScript、Python、Java等,方便开发者在不同环境中实现MCP;社区还贡献了多种框架和工具,如Easy MCP、Fast MCP和Foxy Contexts,简化了MCP服务器的开发和部署。
面临挑战
当前MCP的认证和访问控制机制仍处于初步阶段,MCP服务器的权限控制范围缺乏有效控制和详细规范及强制性要求,增加了安全风险。对于普通用户来说,判断MCP服务器是否安全存在挑战,部分插件提供的MCP Market虽降低了技术门槛,但也带来安全隐患,用户可能在不了解服务器功能或来源的情况下运行,导致安全问题。
案例1:获取当前电脑的桌面文件
MCP服务实现功能:获取当前电脑的桌面文件。流程如下:
1、先通过python实现功能
2、在Trae中配置服务
3、智能体调用,在Trae中构建智能体。
Python代码实现功能
import os
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("FileSystem") # 服务名称
@mcp.tool()
async def get_desktop_files() -> list:
"""获取当前用户的桌面文件列表(支持Windows/macOS/Linux)"""
return os.listdir(os.path.expanduser("~/Desktop"))
if __name__ == "__main__":
mcp.run(transport='stdio') # 使用标准输入输出通信
在Trae中配置服务
1、在AI侧栏,选择MCP。点击“添加”按钮。
2、选择手动配置:
3、填入服务配置信息后,点击“确定”按钮。
{
"mcpServers": {
"desktopfiles": {
"command": "uv",
"args": [
"--directory",
"D:\\慕课网\\讲课内容\\MCP介绍\\MCP_PRJ_1\\weather",
"run",
"desktopfiles.py"
]
}
}
}
请将以上的文件名称和路径进行修改。
确定以后,会在MCP界面,显示新添加的MCP项。如下图所示:
4、创建智能体
在AI侧栏,选择智能体,再点击“创建智能体”按钮。
5、填写智能体信息。包括名称,提示词。并选择新添加的MCP(工具)。
内容填写完毕后,点击“创建”按钮。
在会话中调用智能体(MCP)
在trae会话中,@开头,选择新建的智能体,或者鼠标点击“智能体”再选择新建的智能体。
然后输入您的问题:
回车后,大模型会根据您的问题,调用特定的工具获取结果。以下是呈现的结果:
总结
通过本文,向您您对MCP有了一个全面的认识,MCP是一座宝藏,有带我们一起来挖掘。
这个项目是一个简单的案例,但是也是一个完整的实现,大家可以基于这个做出满足自身业务需求的MCP应用。
元表纪AI共学,为您提供一流的学习资源。
掌握MCP,开启AI新征程——加入我们,解锁无限学习资源
在当今科技飞速发展的时代,人工智能(AI)正以前所未有的速度重塑着世界。而在这场波澜壮阔的AI革命中,Model Context Protocol(MCP)犹如一颗耀眼的新星,正逐渐成为AI领域的中流砥柱,占据着举足轻重的地位。
MCP作为Anthropic推出的开放协议标准,自开源以来便在AI界引发了广泛关注。它标准化了应用程序与大语言模型(LLM)之间的上下文交互,通过独特的客户端 - 服务器架构,成功打破了数据孤岛的困境,让AI应用与各类数据源和工具得以无缝对接。这一创新性的举措,不仅极大地提升了AI系统的性能和效率,更为AI技术在各个领域的广泛应用铺平了道路。
从软件开发到数据分析,从企业自动化到智能客服,从内容生成到医疗、教育、金融等专业领域,MCP的身影无处不在。它赋予了AI助手强大的上下文感知能力,使其能够从海量数据中提取关键信息,为用户提供更加精准、个性化的服务。可以说,掌握MCP就等于掌握了开启AI无限可能的钥匙,能够在未来的科技竞争中占据先机。
然而,MCP作为一个新兴的技术领域,充满了挑战与机遇。其复杂的架构、丰富的功能和不断更新的标准,都需要我们投入大量的时间和精力去学习和钻研。但请不要畏惧,因为我们深知学习的重要性,也明白大家在探索MCP之路上的需求。
在这里,我们为每一位渴望学习MCP的朋友提供了丰富且优质的学习资料。无论你是初学者,对MCP一无所知,还是已经有一定基础,想要深入探究其奥秘,我们的资料都能满足你的需求。从详细的教程文档,到生动的视频讲解;从实际案例分析,到最新的行业动态资讯,我们应有尽有。这些资料均由行业专家精心整理和撰写,旨在帮助你系统地学习MCP知识,快速掌握其核心要点。
通过学习MCP,你将站在AI领域的前沿,与行业的顶尖人才共同前行。你将有机会参与到各种创新项目中,锻炼自己的实践能力,积累宝贵的经验。更重要的是,你将为自己的职业发展打下坚实的基础,开启通往未来科技世界的大门。
不要再犹豫,不要再等待。现在就加入我们的学习大家庭,一起探索MCP的神秘世界,掌握AI时代的必备技能。让我们携手共进,在MCP的引领下,创造更加美好的未来!