MCP的原理
一、前言:如今的开发,谁还自己写代码呢,现在比的是谁更会运用ai,对agent的掌握罢了。实习了一个月,写的代码都是ai写的,审查也是让ai审查的,项目框架挺完善的,基本没什么难的功能需要实现,有也是在框架已有工具的基础上扩展,说这一个月有什么收获,我觉得可能是能接触点比较新的ai工具吧,如果实习结束后,能在简历上写些什么,mt安排的工作内容实在找不到什么写的,既然如此,只有靠自己了,这里从基础的来学起吧,记录一下,以下都是我自己的观点
二、MCP原理
1.MCP是什么
MCP指的是模型上下文协议,这里的上下文我看有的视频,他说可以用环境来替代,而环境指的的是包含某些tool函数,这些函数可以获取额外的信息
也就是说,这个MCP讲的就是:让模型感知外界环境的协议
2.MCP能做什么?
普通的AI就只能是问答,只有人的嘴和脑子,而MCP就像是赋给AI的手,之前AI只能给你输出问题的结果,现在加上MCP,他就可以代替你去处理项目。比如说你连接上Unity的MCP,你可以让它给你操作场景对象,写脚本,并控制这个对象动起来这样的事情。
3.MCP Host
用书上生硬的文字叫做"支持MCP协议的软件",也就是指有手的AI。
按Codex来说,Codex(Host)里的 AI 是大脑,MCP Client 是 AI 用来外接外部软件的通道,Unity MCP 插件是接收这个通道传输的指令、实际干活的 MCP Server,一个通道对应一台外部程序。
4.MCPServer&Tool
与传统的Server不一样,有误导性,MCPServer更像是一个执行的程序,而不是平时理解的那种服务器,一个独立运行的数据中心。MCPServer的配置规则得到MCPHost对应的官网文档里去找,然后一般是在MCPHost已有的Json文件里去配置。
Tool就是MCPServe带的功能函数,通过MCPServer来调用这些Tool功能来达到我们想要的效果
三、MCP的使用流程
①开启MCPServer(这个过程中,由UnityMCP这个插件来启动MCPServer)
②用户发送需求给codex,codex把这个问题交给gpt处理,但是和一般不同的是,这里codex不仅会把问题传给gpt,还会给他MCP所包含的Tool列表
③gpt说他要使用某某tool,然后codex通过MCPClient来传递指令,告诉MCPServer该做什么,做完后,把结果给gpt,gpt再转化给用户
四、如何创建自己的MCPServer
MCPServer就是一段程序,也就是一段代码
第一步需要安装mcp的sdk
第二步你需要写脚本代码,你需要在脚本里写相关的Tool函数,另外需要写启动MCP的代码
第三步把MCPServer配置到你的MCPHost里
五、MCP底层协议的分析的原理和方法
连接注册
①首先MCPHost告诉MCPServerMCPHost的基本信息,然后MCPServer也回复它的信息给host
②MCPHost先是表示收到,然后继续问MCPServer要Tools列表
③Host询问Server有没有资源或者资源模板可以使用
使用
①Host通知Server它要使用哪个Tool,然后参数是什么
②Server返回结果
总结
Host把返回的结果发给模型让它总结
所以MCP协议总的就可以分为两部分,一个是注册,另一个是使用,但是MCP并没有规定如何与模型进行交互
六、终端调用MCPServer
根据第五点里的流程,使用MCP协议规定的格式去模拟Host与MCPServer对话来达到效果,这玩意基本没人这样用,这里知道可以这样做就行了。
七、拓展-MCPHost是如何与大模型沟通的
SSE:
这里先说一下SSE连接(有长连接效果的http),对于普通的http的通讯,就是客户端发一个请求,服务端返回一个请求,而对于SSE,他可以让服务端返回多个请求,但是客户端只用发一个请求,这就是为什么和ai大模型对话,他都是几个字几个字刷新的,就是服务端返回多少,它对话里就显示多少内容
Agent:
能持续思考,持续调用外部工具直到解决用户问题的一个程序,本质上Codex就是一个Agent,是通过ReAct来构建思想流程的
底层逻辑:ReAct 思维框架思考(Thought) → 行动(Action,调用MCP工具) → 观察(工具返回结果) → 再思考,循环往复直到任务完成。
举例(你的 Unity 场景)用户指令:创建一个红色立方体,移动到坐标 (2,0,0)
Thought:需要 2 步操作,先创建立方体,再修改颜色、位移;
Action:调用 MCP 工具 create_cube;
Observation:工具返回创建成功;
Thought:物体已存在,调用工具修改颜色与位置;
Action:调用 set_material、move_object;
Observation:全部操作完成,任务结束,整理结果回复用户。
八、总结
这里是关于Agent的开始,也是实习的第二个月的开始,一切都将踏上新的规划
更多推荐
所有评论(0)