最近在折腾大模型部署,想把本地的一些工具接进去。之前一直是用OpenAI那套Function Calling,写一堆JSON schema,感觉也能跑。但最近老看到MCP(Model Context Protocol)这个词,说是什么标准化协议。我试着看了下文档,感觉像是把工具调用抽象了一层?但没太搞懂实际部署时,MCP Server是单独跑一个进程吗?和模型推理服务怎么通信?有没有已经踩过坑的老哥说说,这玩意儿到底解决啥痛点,还是说只是换了个壳?
楼主
22天前
刚接触MCP,想问下它和直接调Function Calling到底有啥区别?
请 登录 后发表回复
全部回复
共 3 条
2楼
22天前
我最近也在看这个,简单说MCP就是把工具定义从模型请求里拆出来了,以前Function Calling的schema得塞在每次对话里,现在工具能力挂在Server上,模型通过协议去发现和调用。MCP Server确实是独立进程,一般走stdio或SSE跟客户端通信,模型那边其实不直接连Server,中间得有个host层转发。痛点主要是工具复用和跨模型吧,同一套Server Claude、GPT都能接,不用每家重写一遍schema。不过现在生态还早,踩坑肯定少不了,调试链路比直接Function Calling长不少。
3楼
22天前
MCP就是把工具调用从各家私有的schema变成统一协议,Server单独进程跑,省得你为每个模型重写一遍。
4楼
15天前
MCP Server确实是单独跑一个进程,通过stdio或SSE跟客户端通信,模型侧只负责发出调用意图,真正执行在Server那边。跟Function Calling最大的区别是工具定义和调用逻辑从模型服务里解耦了,你换模型、换框架都不用重写那堆schema。我之前也是手写JSON schema写到吐,接了几个MCP Server之后确实省事,尤其是社区现成的工具直接拿来用。不过坑也有,进程管理和超时处理得自己兜着,调试链路比直接调FC长一截。