前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >别再卷Python了!2025年程序员逆袭的唯一机会,竟是MCP?

别再卷Python了!2025年程序员逆袭的唯一机会,竟是MCP?

作者头像
福大大架构师每日一题
发布于 2025-03-31 11:45:12
发布于 2025-03-31 11:45:12
22700
代码可运行
举报
运行总次数:0
代码可运行

最后一公里

MCP(模型组合编程)在大模型的应用中可以被视为“最后一公里”的解决方案。从一个激进的角度来看,到2025年,每位程序员都应当掌握这一知识。

虽然大模型的功能相当强大,但它们仍然存在一些不足之处。例如,许多大模型在进行简单数学比较时可能犯错,像是判断9.8和9.11哪个更大。尽管经过一段时间的改进,现今的大多数模型已经能够正确回答,但这也显示了它们的局限性。RAG(检索增强生成)技术在这个过程中发挥了重要作用,它的机制与MCP类似,都可以看作是外挂程序,只不过RAG是在大型语言模型(LLM)端,而MCP则是在客户端。

此外,在没有联网的情况下,大模型无法提供实时信息,例如天气预报。这表明,大模型更擅长于处理语言和艺术类的工作,比如写作、总结和生成报告等,这也符合它们的基本特性。相对来说,对多模态模型而言,无论它生成的是梵高风格还是莫奈风格的画作,关键在于结果是否美观。

总体来看,大模型在艺术和语言领域表现出色,但在处理细致的、个性化的需求时则显得力不从心。因此,MCP的重要性在于它可以填补这些空白,为程序员提供更强大的工具去应对多样化的需求。

再说 MCP 是什么

MCP,全称为模型上下文协议(Model Context Protocol),是由Anthropic于2024年11月推出的,Anthropic是一家以其卓越的编程能力而闻名的大模型Claude的开发公司。MCP是一个由社区共同构建的开放协议,旨在提供一个通用的开放标准,以连接大语言模型与外部数据和行为。

值得注意的是,MCP作为一个开放标准,类似于我们电脑上的USB接口或手机的Type-C接口。无论哪个厂家生产的数据线,只要遵循USB或Type-C标准,就可以用于充电或数据传输。同样地,不论哪个硬盘厂商只要提供一个支持Type-C的接口,就能顺利连接到电脑上使用。

再以开发中的接口调用为例,JSON格式就是一个广泛使用的标准。只要将数据构造成符合JSON格式,不论数据接收方使用的是哪种JSON库,正确解析这些数据就变得毫无障碍。

简而言之,Anthropic制定了这个标准,期望大家都能够遵循,从而实现无缝连接和高效交互。

图片
图片

MCP 主机(MCP Hosts)

MCP主机是指那些能够支持MCP协议的程序,例如Claude Desktop、IDE及一些希望通过MCP访问数据的AI工具。而像VSCode中的Cline插件、Cursor和WindSurf等也被视作MCP主机。未来,任何能够支持MCP调用的终端都有可能成为MCP主机,甚至你自己也可以开发相应的客户端。

MCP 客户端(MCP Clients)

MCP客户端是与MCP服务器保持一对一连接的程序。从整体架构来看,主机与客户端通常是结合在一起的,客户端更偏向于编程的描述。可以将它们与数据库工具进行类比,比如Navicat软件本身可以理解为一个主机,而Navicat可以同时连接多个数据库,每个连接对应一个客户端,这些连接在MCP框架中则相当于MCP客户端。

MCP 服务器(MCP Servers)

MCP服务器是轻量级程序,通过标准化的MCP协议来暴露特定功能。MCP服务器是实现“最后一公里”的关键部分,需要根据具体需求进行开发。例如,如果想要让LLM访问自研系统的数据,就需要提供开放的接口供LLM使用。MCP服务可以用多种编程语言来开发,如Python、JavaScript(NodeJS)和Java,目前官方已提供SDK,未来可能还会推出Go、Rust、.NET等其他语言的SDK。

本地数据源(Local Data Sources)

本地数据源包括计算机文件、数据库和服务,MCP服务器能够安全地访问这些数据源。

远程服务(Remote Services)

远程服务是指可以通过互联网访问的外部系统,例如通过API进行交互的系统。比如查询实时天气时,MCP服务器需要连接国家气象局等第三方平台,这就需要通过API进行调用。

调用机制

MCP的调用机制需要客户端、MCP服务器和LLM三者的合作。首先,MCP是一个服务,例如一个查询天气的Spring Boot应用,按照官方标准实现服务接口并在本地启动。接下来,需要在客户端进行配置,类似于在注册中心注册服务,通常通过启动命令(如npx或java)来实现。这意味着客户端启动时会同时启动MCP服务。例如,以下配置文件中配置了两个服务,一个是用Java实现的,另一个是用Node实现的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "mcpServers":{
    "spring-ai-mcp-weather":{
      "command":"java",
      "args":[
        "-Dspring.ai.mcp.server.stdio=true",
        "-jar",
        "/Users/fengzheng/model-context-protocol/weather/starter-stdio-server/target/mcp-weather-stdio-server-0.0.1-SNAPSHOT.jar"
      ]
    },
    "brave-search":{
      "command":"npx",
      "args":[
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env":{
        "BRAVE_API_KEY":"xxxx"
      },
      "autoApprove":[
        "brave_web_search"
      ]
    }
}
}

随后,客户端将能够依据MCP标准获取可用的MCP服务和工具接口。一旦收到了符合需求的请求,客户端就可以调用相应的MCP接口。

整个流程的原理相对简单,以下是一个关于调用流程的示意图。

图片
图片
  1. 用户发送消息:用户通过客户端应用程序发送一条请求消息。
  2. 消息传递:客户端将用户的消息转发给大型语言模型(LLM)。
  3. LLM 请求额外资源:LLM在处理请求时,可能需要更多的工具或数据,因此向客户端提出相应的请求。
  4. 客户端向MCP服务器发起请求:客户端根据LLM的需求,使用MCP协议向MCP服务器发送请求。
  5. MCP服务器访问数据源:MCP服务器根据收到的请求,访问所需的数据源。
  6. 数据源返回所需数据:数据源将所需的信息反馈给MCP服务器。
  7. MCP服务器将数据反馈给客户端:MCP服务器将获取的工具或数据传输回客户端。
  8. 客户端将数据传递给LLM:客户端将从MCP服务器获得的工具或数据传递给LLM。
  9. LLM 生成处理结果:LLM利用提供的工具或数据生成相应的处理结果,并将结果返回给客户端。
  10. 客户端展示最终结果:客户端将LLM生成的处理结果展示给用户。

为什么MCP 重要

在文章开头提到,尽管大型模型(大模型)在很多方面表现出色,但它们依然存在一些短板。这些短板往往反映了不同用户的真实需求。举个例子,某些用户希望获取精确的实时天气信息,这一需求就难以通过大模型直接满足。虽然可以通过搜索天气APP来获取这些信息,但如果在一个统一的应用或终端内实现这一功能,就能省去打开其他应用的步骤,使得使用更加高效。

另外,许多现有的MCP(模型连接器平台)服务已经允许用户直接在大模型的聊天窗口中操作本地数据库。这种集成化的体验为数据操作带来了便利。

再例如,用户可能希望整理自己曾写的关于JVM的文章。通过对大模型的指令,希望将这些文章整合成一份带有目录结构的汇总。如果没有MCP的支持,这样的需求在当前的大模型客户端中是无法实现的。然而,有了可以访问本地文件的MCP,就能够满足这样的需求。

实际上,类似的需求还有很多,任何现有APP的功能都有可能成为MCP服务所需的能力。通过整合这些功能,MCP能够大幅提升用户体验,使得大模型的应用场景更加广泛和灵活。

图片
图片

MCP 和 Function Calling、Agent的区别

谈到MCP(模型连接器平台),我们不可避免地会提到Function Calling(函数调用)和Agent(智能体)。乍一看,这几者似乎功能相似,都是为了解决大模型的一些短板。

MCP是一种在本地运行的系统(至少目前是这样的),像Cursor这样的主机或终端可以调用它。它能够访问本地资源和个性化的API,帮助用户实现特定需求。

Function Calling则是AI模型与外部函数或服务之间互动的一种机制。在这个模式中,模型会生成一个调用请求,宿主应用会解析这个请求并执行相应的操作,最后将结果返回给模型。其特点包括:

  1. 1. 同步执行:模型在发起函数调用后,会等待该函数执行完成并返回结果,才能继续执行后面的程序。
  2. 2. 紧耦合:模型与函数或服务的关系较为密切,需要在代码中明确指定。
  3. 3. 特定实现:不同平台或服务提供商的函数调用实现方式可能各有不同,缺乏统一的标准。

而智能体(Agent)则是一种具备自主决策能力的系统,能够执行一系列复杂的任务,例如近期受到关注的Manus。智能体通常具有以下特征:

  1. 1. 自主性:根据环境变化和目标自主做出决策。
  2. 2. 任务执行:能够处理多步骤和多环节的任务,往往需要同时调用多个工具或服务。
  3. 3. 集成性:通常结合多种功能模块,如MCP和函数调用,以实现更复杂的任务完成。

从主要区别来看:

  • MCP作为一种协议,主要处理模型与外部工具和数据源的交互,提供标准化的接口和通信方式,非常灵活,可以根据标准实现几乎任何功能。
  • Function Calling则是关注于模型与特定函数或服务之间的具体交互实现,强调在代码层面的功能调用,与大模型及其服务端、特定客户端紧密结合,灵活性较低。
  • 智能体则是一个更复杂的系统,能够自主执行任务,通常整合MCP和Function Calling等机制来实现复杂功能。

综上所述,这三者各自有不同的定位和应用场景,虽然都是为了解决大模型的短板,但在实现方式和功能灵活性上有明显差异。

MCP 发展预测

随着AI技术的不断深入,未来生活的方方面面都将更加依赖于AI。因此,MCP(模型连接器平台)必然会跟随这一趋势继续演进。以下是对MCP未来发展的一些预测,部分已经开始显现。

超级客户端的兴起

目前,大部分功能需要通过特定的应用程序来实现。但随着AI的普及,未来可能会出现集成多种工具和服务的超级客户端,例如豆包或小爱同学。这些客户端将为用户提供统一的操作体验,用户可以在一个应用中无缝访问本地文件、数据库、浏览器及其他服务,从而显著提升工作效率。

目前,小爱同学的功能主要集中在定时和天气查询。但如果能够通过MCP与更多服务商连接,这样的智能助手将能够处理更多的需求。

MCP市场的形成

未来的MCP市场可能类似于现在的应用商店,个人和企业都能够提交自己的MCP服务。例如,一个短视频平台可以提供推荐视频的API,用户则可以在支持MCP的客户端中直接观看视频。现阶段,Cline插件已经具备了一些MCP市场的功能,用户可以浏览和安装开源MCP服务,但其使用体验仍然相对初级,有待进一步优化。

远程运行能力的发展

MCP不仅支持本地STDIO的通信,还能通过HTTP/SSE进行网络交互。这意味着,未来的MCP系统将具备在本地和远程环境中灵活运行工具的能力。对于程序员而言,在本地运行Node、Python或Java代码并不困难,但对于缺乏编程背景的用户来说,这可能是一项挑战。因此,要让更多人能普遍使用MCP,必须解决本地启动服务这一问题。

综上所述,随着科技的发展和用户需求的增加,MCP将朝着更加智能、便捷的方向演进,成为未来数字生活中不可或缺的组成部分。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用通俗的话解释下MCP是个啥?
在AI领域,模型的开发、部署和迭代速度日益加快,但随之而来的挑战也愈发显著:如何高效管理不同版本的模型?如何在复杂环境中确保模型的可追溯性和可复用性?如何实现跨团队、跨平台的模型协作?
闫同学
2025/06/08
950
用通俗的话解释下MCP是个啥?
MCP、传统API与函数调用的解析
传统API通过预定义端点暴露功能,客户端需严格遵循接口规范进行交互。其核心特征包括:
蝉羽
2025/06/04
2230
MCP、传统API与函数调用的解析
超实用!Dify快速接入本地MCP服务
Dify 可以通过插件实现 MCP 服务调用,而被调用的 MCP 服务基本可以分为以下两类:
磊哥
2025/06/11
80
超实用!Dify快速接入本地MCP服务
关于 A2A 与 MCP 在智能体协作与AI工程化的一些思考
在人工智能快速发展的今天,我们正站在一个关键的十字路口。随着大语言模型和智能体技术的突飞猛进,如何让这些智能体之间实现高效协作,以及如何让它们与外部数据源和工具无缝连接,已成为制约AI应用大规模落地的重要瓶颈。谷歌最近推出的Agent2Agent Protocol(A2A)和Anthropic此前发布的Model Context Protocol(MCP)正是为解决这些挑战而生,它们共同构建了智能体交互与数据连接的新范式,为AI工程化的未来提供了更多的可能性。
磊叔的技术博客
2025/06/09
550
关于 A2A 与 MCP 在智能体协作与AI工程化的一些思考
深入探讨模型上下文协议(MCP)
模型上下文协议(MCP)是AI技术领域的一个新兴开放标准,由Anthropic于2024年11月24日发布,旨在简化大型语言模型(LLM)与外部数据源和工具的集成。这一协议的推出正值AI助手逐渐普及之际,旨在解决AI模型因数据孤岛和遗留系统而受限的问题。通过提供一个通用的接口,MCP有望成为AI应用开发中的关键基础设施,特别是在需要实时、相关和结构化信息的情景下。
磊叔的技术博客
2025/06/09
790
深入探讨模型上下文协议(MCP)
一文读懂:模型上下文协议(MCP)
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型上下文协议(MCP)。
Luga Lee
2025/03/17
18.7K0
一文读懂:模型上下文协议(MCP)
MCP协议入门指南(值得收藏)
MCP(Model Context Protocol,模型上下文协议)是由Anthropic公司于2024年11月推出的开放通信标准,其核心目标是解决大语言模型(LLM)与外部工具的连接难题。就像USB接口统一了电子设备的充电标准,MCP协议为AI模型提供了"即插即用"的能力,使其不仅能回答问题,还能直接操作数据库、调用API、控制智能设备等。
小明互联网技术分享社区
2025/04/07
1.6K1
MCP协议入门指南(值得收藏)
一口气讲清楚:FC、MCP、A2A
前面几篇文章中,我介绍了AI大模型领域常见的几种专业术语,分别是:AGI、RAG、AIGC、LLM、MCP、EMB、向量库、训练集、多模态。了解基础概念和专业术语之后,有助于我们在工作和生活中深入学习和应用AI。
老_张
2025/05/12
3040
一口气讲清楚:FC、MCP、A2A
大模型应用系列:两万字解读MCP
【引】AI Agent的实际效能高度依赖于其可集成的工具生态。当Agent无法接入关键数据源或功能接口时,其应用价值将大幅受限。这一核心挑战直接决定了Agent能否在真实场景中发挥作用。
半吊子全栈工匠
2025/04/26
91.2K55
大模型应用系列:两万字解读MCP
什么是MCP协议?MCP的技术架构与核心原理是什么?MCP封装了哪些协议?
在现代 AI 的发展中,模型与外部数据源和工具的交互变得越来越复杂。为了解决这个问题,Model Context Protocol (MCP) 被提出,它是一种开放标准,旨在为 AI 模型与外部资源之间提供统一的连接方式。由 Anthropic 于 2024 年推出,MCP 希望能够像 USB-C 接口一样成为 AI 系统与各种数据源和工具之间的“通用接口”。这意味着,不同的 AI 应用可以轻松与多种数据源、工具进行“即插即用”的连接,无需再为每种不同的数据源开发独立的集成方法。
猫头虎
2025/03/23
2.3K0
什么是MCP协议?MCP的技术架构与核心原理是什么?MCP封装了哪些协议?
实操干货!MCP Server开发从0到1
最近 Model Context Protocol ( MCP ) 概念大火,刚好它可以用 Node 或 Python 来编写,作为一名 web 前端程序猿,怎么可以错过这个工具的探索。文章是记录本人做 MCP Server 工具开发的时候遇到的一些问题,以及自己的一些关于 AI 的感想。
腾讯云开发者
2025/05/21
8130
实操干货!MCP Server开发从0到1
必看!SpringAI轻松构建MCP Client-Server架构
MCP 这个概念相信大家已经听了无数次了,但不同人会有不同的解释,你可能也是听得云里雾里的。
磊哥
2025/03/30
7811
必看!SpringAI轻松构建MCP Client-Server架构
一文带你入门 MCP(模型上下文协议)
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。
Se7en258
2025/05/21
2630
一文带你入门 MCP(模型上下文协议)
如何用Spring AI构建MCP Client-Server架构
现代 Web 应用正加速与大语言模型(LLMs)深度融合,构建超越传统问答场景的智能解决方案。为突破模型知识边界,增强上下文理解能力,开发者普遍采用多源数据集成策略,将 LLM 与搜索引擎、数据库、文件系统等外部资源互联。然而,异构数据源的协议差异与格式壁垒,往往导致集成复杂度激增,成为制约 AI 应用规模化落地的关键瓶颈。因此,Anthropic公司推出了模型上下文协议(Model Context Protocol, MCP),通过标准化接口为 AI 应用与外部数据源建立统一交互通道。这一协议体系不仅实现了数据获取与操作的规范化,更构建起可扩展的智能体开发框架,使开发者能够基于原生 LLM 能力快速构建复杂工作流。
程序猿DD
2025/03/27
2.3K0
如何用Spring AI构建MCP Client-Server架构
爆火MCP的来时路:LLM开启超进化,从函数调用到通用上下文协议
2022年11月30日,ChatGPT的发布正式敲响了大语言模型(LLM,Large Language Models)时代的大门。而后的2023年,自然语言处理(NLP,Netural Language Process)技术飞速发展,LLM领域取得了诸多重大突破,这一年也被称为LLM元年。同年6月13日,OpenAI在gpt-4-turbo模型中首次引入函数调用(Function Calling)能力,为LLM突破纯文本交互边界迈出关键一步。而后的2024年11 月 25 日,Claude AI的开发商Anthropic开源的模型上下文协议(MCP,Model Context Protocol)通过建立规范化的模型间通信标准,进一步扩展了LLM应用的上限。2025年3月27日,OpenAI 宣布正式支持MCP,再次将MCP送上热搜... 在人工智能技术日新月异的今天,如何让模型更加智能、灵活地与现实系统或其他模型进行交互,已成为推动AI应用落地的关键课题。在接下来的内容中,本文将着重介绍函数调用与MCP出现的历史缘由以及必要性,并在文末结合腾讯广告API简单演示了MCP与业务结合的实践示例。
腾讯云开发者
2025/05/14
4230
爆火MCP的来时路:LLM开启超进化,从函数调用到通用上下文协议
什么是MCP?本地如何开发MCP Server
MCP(Model Context Protocol)全称模型上下文协议,是由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。
叫我阿柒啊
2025/04/06
4.8K2
什么是MCP?本地如何开发MCP Server
成熟工程师 1 天完成调试,AI 工程实践被 MCP 彻底颠覆?
去年 11 月,Anthropic 发布了模型上下文协议 (MCP),这是 AI 应用程序组件与外部系统或工具之间通信的新标准。开发者社区迅速采用了该协议,并部署了超过 1000 个 MCP 服务器。如今,随着 AWS、GitHub 等巨头公司,甚至 Anthropic 的“竞争对手”OpenAI 也正式采用 MCP,MCP 在商业领域也获得了越来越多的关注。
深度学习与Python
2025/06/08
1230
成熟工程师 1 天完成调试,AI 工程实践被 MCP 彻底颠覆?
一文详解模型上下文协议(MCP):打通大模型与业务场景的关键
暂且抛开MCP,这23年的时候开始搭建AI Agent智能体,对第三方插件API进行交互的时候,我就开始设想能不能自己做一个通用代码协议框架,以后AI团队统一用这个协议,方便大家code review,更好协作。AI要触及到业务就必然逃不过与业务端接口或是数据进行联通,但是之前都没有标准的交互协议,需要理解各个三方接口和协议是比较费时的事情,但如果有类似像Java工程开发标准,那么我们就很方便开发第三方接口了,不会存在那么多不同开发形态的代码,方便维护。MCP协议出现之后发现大家都在慢慢融入到开源协议框架中,故而再对一些不了解MCP的朋友详细解述这一框架协议,以后必然是以开源协议为主导的代码生态。
fanstuck
2025/03/27
2.6K2
一文详解模型上下文协议(MCP):打通大模型与业务场景的关键
从0到1玩转MCP:AI的「万能插头」,代码手把手教你!
在人工智能飞速发展的今天,LLM 的能力令人叹为观止,但其局限性也日益凸显 —— 它们往往被困于训练数据的「孤岛」,无法直接触及实时信息或外部工具。
机器之心
2025/04/07
4100
从0到1玩转MCP:AI的「万能插头」,代码手把手教你!
什么是MCP协议?AI Agent时代如何选择MCP协议?
在人工智能(AI)迅猛发展的今天,如何让大型语言模型(LLM)充分利用外部数据和工具已成为关键问题。MCP 协议(Model Context Protocol,模型上下文协议)作为一种开放标准,正以其统一、灵活且安全的设计,为解决数据孤岛和碎片化集成问题提供了一条全新的路径。本文将详细解析 MCP 协议的原理、架构、优势及在 AI Agent 时代下的应用前景,同时探讨如何从开放性、生态支持、安全性、易用性和性能等多个维度选择适合自身场景的 MCP 实现。
猫头虎
2025/03/08
2.5K0
什么是MCP协议?AI Agent时代如何选择MCP协议?
推荐阅读
相关推荐
用通俗的话解释下MCP是个啥?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验