Search K
Appearance
Appearance
MCP(Model Context Protocol,模型上下文协议)是一种用于大语言模型与外部应用程序交互的协议。它定义了一套标准化的规则和接口,帮助大模型在上下文中更高效地调用外部资源或服务。它本质上是一个程序,是一个经典的CS架构,mcp不像传统的协议定义,它没有一个确定的数据结构,它的核心是通过自然语言描述清楚有哪些MCP Server,承担什么作用,然后让大模型语言模型通过推理去选择最合适的MCP Server以及MCP Tool,所以它的核心本质上还是提示词工程。
MCP 协议的主要目标是解决大模型如何更好地调用外部应用的问题。
MCP Host: 支持MCP协议的软件,常见的有cloude desktop、cursor、cline、cherry Studio MCP Tool: 本质上就是一个函数,比如我们需要查天气,需要写一个查天气的函数
用户发送问题的时候,cline拿到问题后,会将这个问题传给模型,让他解答,与常规不同的是,cline 除了传递用户问题外,还会附带注册好的MCP Server,以及每个MCP Server所包含的tool列表,cline告诉模型,这些tool可能会帮助你解决用户问题,需要调用哪个,跟我说,我来帮你调用。
MCP.so 阿里云百炼 HiMCP Smithery.ai(新手推荐这个) shareMCP MCP Market PulseMCP Glama MCP cursor.directory Portkey.ai Cline's MCP Marketplace MCP Hub MCPServers Awesome MCP Servers(最火)
MCP和大模型的交互,根据中介(cline、5ire)不同,所采用的方式也不同,这里怎么理解这个交互呢?就是mcp host怎样让大模型知道我的工具列表,以及该如何调用呢? 比如cline是将这些tools放到了系统提示词里面; 5ire是借助了某些大模型里面的function call功能,所以它在不支持function call的大模型中,不能使用。 所以说MCP协议实现的方式多种多样。
方式: 通过cloudfare的AI Gateway(大模型代理功能)抓取,配置好这个后,所有的大模型都会先通过cloudfare,再到达大模型提供商,再这个过程中,cloudfare会给我们记录日志





它包括了系统提示词、用户问题、以及vscode的一些环境变量,在里面的系统提示磁力爱按,我们可以看到,cline将这些tools放到了系统提示词里面,然后发送给了大模型模型上下文协议
背景:从rag,到function call、再到mcp,每一代方案都在试图解答一个问题:模型如何以更自然的方式获得外部世界的帮助?
简单来说:如何让大模型调用本地的一些工具并加以利用
比如:调用我们的浏览器打开页面、链接我们的db进行数据操作...,然后拿到结果进一步去完善我们的任务。
我们总有疑问,mcp这玩意要怎样用呢? 我们设想一个场景,我们今天想和朋友去杭州玩,但是那里的天气怎么样,不同的天气下,去玩的地方肯定受影响,下雨天,去西湖玩耍就不是那么明智吧,我可以选择去一些室内活动的地方吧, 所以我们要知道那天天气怎样,然后去哪里玩?
我们分析这个场景,要让大模型来完成这个任务,要怎样处理呢?
1、 查询天气 2、 拿到天气结果,然后去查找哪里适合玩耍,需要买什么票 3、 将结果总结
但是大模型,它是预训练的,它不知道天气怎样呀,所以这个地方需要借助第三方的帮助了,与此同时去玩的地方有些它也是每天变化的,所以也需要借助第三方的帮助。
MCP的核心组件:Host、Client、Server Host: 负责接收用户问题、调用LLM和工具调用 Client:维护和Server的连接、并提供已注册工具(tools)列表 Server:提供具体的工具调用
各部分分工明确: Host 负责询问与协调,Client 管理工具注册,LLM 执行推理决策,Tools 执行具体服务。
参考: https://www.cnblogs.com/CareySon/p/18827525/mcp_lifecycle_via_demo#:~:text=