MCP 解决了什么问题?它和 Function Calling 有什么区别?
先自己想一想,再看参考要点
参考要点
- 同一个工具要接入多个 AI 应用时,原本要在每个应用里分别适配
- MCP 定义了 AI 应用与外部工具、数据之间的统一接口,工具实现一次服务端就能被所有支持 MCP 的应用使用
- 三种角色是主机、客户端(一个客户端只连接一个服务端)和服务端,服务端提供工具、资源和提示词模板,本地用 stdio 通信,远程用 Streamable HTTP
- Function Calling 是模型一侧的能力,模型根据工具描述给出调用,MCP 是应用与工具之间的协议,解决工具怎样被发现和调用,两者配合使用:主机把服务端的工具转换成工具定义交给模型,模型给出调用后再通过 MCP 发给服务端执行
- 代价是工具定义都会占用上下文,工具多时要按需加载