MCP 到底该怎么理解

MCP(model context protocol) 是什么呢? 我看网上都讲得很玄乎,这里我尝试让大家看的更清晰些。了解一个事务或者技术,先来看他要解决的问题和演化路径。

f8040f327a6c40518820a529f7e4df9e.png

从 Function Calling 说起

为了让模型不仅仅只是能输出文本(包括图片,音频,视频),还能调用外部工具, OpenAI 首先提出了 function calling 的功能,具体做法是,你按规定格式,把你的函数描述发送给大模型, 然后大模型按规定格式输出的json文本,该文本包含了需要调用的函数名称和参数,你根据这个信息调用函数,这样就实现了大模型可以调用函数了,函数里的逻辑也是你自己自定义的。

到这里为止, OpenAI 只是提供了一个标准,你提供函数定义给他,他给你吐出需要调用的函数以及参数的json,其他的东西你全部都要自己做一遍。比如你想大模型自动调用github 的push API,你就需要自己定义一个函数,实现对github api 的调用,然后将函数转化成 openai 接受的格式然后解析 openai 规范返回的值,最后执行这个函数。 

从函数到 API, MCP

现在 MCP 就是要把这一点标准化,给你一个客户端SDK, 给你第一个服务端SDK(目前两个sdk是一个SDK,一般都叫 mcp ,支持python/nodejs 等主流语言) ,这样只要你客户端(比如你的前端页面)和服务端(比如github 的API 服务)都是都按这套规范实现,那么你就可以调用自己的或者任何第三方以 MCP 暴露API 接口。所以明白了 MCP的价值吧?相当于 API 的 function calling. 

两点,第一点,让function calling 的标准化,其次,只要所有API 都重新以 MCP 来暴露,那么大模型就可以直接调用世界上所有的API ,实现操作万物。

但这里有个细节点值得说说,就是现在的实际实现逻辑是,比如我是 github api 提供商,为了让大模型方便调用我,我会提供一个 mcp server(就是一个普通的lib 库), 这个mcp server目前的主要部署方式是客户端部署,你通过 mcp SDK 提供的代码,在自己应用里fork一个进程启动我的mcp server,两者通过标准输入输出互通, 然后你的应用可以从我mcp server 获取所有 API相关的信息,应用目前还需要自己做一点点工作的,就是把这个API信息再组织下发送给大模型,同时让大模型返回一个标准格式,自己解析下,通过 SDK 调用API。

这套逻辑是完全复用的,你添加新的mcp server ,只要这个mcp server 的信息能够被添加到给到大模型的prompt里,就能触发整个流程的驱动了。

这里再加几个大家常有的疑问:

1. 大模型并不能自动调用 mcp, mcp 只是把 API 标准化了,你可以通过 mcp 获取API信息,以及将这些信息发送给大模型,大模型就会选择调用哪个 api。这个流程你只要实现一遍就可以。之后有新的mcp sever,注册下,就可以复用上面那套流程。

2. claude app desktop/cline 这些都算是应用,他们实现了前面的第一点。

3. API 提供商和任意第三方都可以给任何API 提供 mcp server. mcp  server 现在也有很多第三方商店。

4. 所有模型都支持 function calling, mcp, json mode 的,区别只在于成功率。另外把规定的格式给到大模型,让大模型解析给出要求的内容,这些一般都还要用户自己做(也可能可以使用第三方sdk帮你完成这件事)。效果好坏则取决于模型。

总结

无论 function calling 也好,json mode也好,mcp 也好,本质上都源于大模型只能文本进文本出(当然图片,音视频),要操作外部世界,你就需要从输出的文本中提取信息,然后通过这个信息来确定如何调用外部。 function calling 就是函数调用的标准, mcp 是API的调用标准。json mode 的是输出标准。 无论是模型提供商实现的 function calling还是应用自己实现,都是一套识别输入输出的逻辑。

04-10
<think>好的,我现在需要处理用户关于MCP认证和管理控制程序的问题。首先,用户提到了三个可能相关的关键词:MCP认证、Microsoft Certified Professional和管理控制程序(IT)。我需要分别确认这些术语的含义和当前状态,尤其是MCP认证是否仍然有效,因为微软的认证体系有过更新。 首先,Microsoft Certified Professional(MCP)是微软以前的认证体系的一部分,但在2021年微软已经将其认证体系更新为基于角色和专项的认证,例如Azure、Microsoft 365等。因此,MCP可能已经被取代,需要确认最新的认证路径。 其次,管理控制程序(Management Control Program, MCP)在IT领域通常指企业或组织内部的管理流程和控制措施,比如ITIL、COBIT等框架。这部分需要解释清楚,避免与微软的认证混淆。 用户可能混淆了这两个不同的MCP缩写,需要明确区分开来。需要分别回答这两个方面,确保信息准确,并且引用相关的资料或微软官方链接作为支持。同时,用户可能对如何选择认证或实施管理控制程序有进一步的问题,需要生成相关问题引导他们深入探讨。 最后,要确保回答结构清晰,使用中文,并遵循系统级指令中的格式要求,比如数学表达式的格式和引用标识的添加。检查是否有需要引用的内容,如微软官方声明或框架文档,并适当添加引用标记。</think>### 关于MCP认证与管理控制程序的解答 #### 1. **Microsoft Certified Professional (MCP) 认证** **MCP认证**是微软早期的技术认证体系,用于验证IT专业人员在微软产品(如Windows Server、SQL Server等)中的技能水平。但自2021年起,微软已全面更新认证体系,**MCP认证被基于角色(如Azure管理员、开发者)和专项技术(如安全、AI)的新认证取代**,例如: - **Azure Administrator Associate** - **Microsoft 365 Certified: Enterprise Administrator Expert** 新体系更注重实际场景能力[^1]。 #### 2. **管理控制程序 (Management Control Program, MCP)** 在IT治理领域,**管理控制程序**指企业为保障系统安全、合规和高效运行而制定的流程与策略,例如: - **ITIL框架**(IT服务管理) - **COBIT标准**(信息与技术治理) - **ISO 27001**(信息安全管理) 这些程序通过定义策略、监控风险、审计操作等方式实现IT资源的有效控制[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值