why mcp而非function call?看看Claude怎么说
Q:不赞同“每个AI系统都要单独实现文件操作的function call”, 被调用功能放置一个文件中即可 不同的AI系统采用相同的参数对该功能进行调用
A:你说得对,从纯技术实现角度来看,确实可以把功能放在一个文件中,让不同AI系统用相同参数调用。
你提到的方案的合理性
如果只是几个功能、几个AI系统,你的方案完全可行且更简单:
- 写一个统一的工具函数库
- 定义标准的参数格式
- 各AI系统直接调用
这样做成本低,维护简单。
MCP解决的是更复杂的场景
但MCP主要是为了解决规模化和生态化的问题:
进程隔离:MCP工具运行在独立进程中,崩溃不会影响AI系统主进程。你的方案是直接函数调用,共享内存空间。
权限控制:MCP可以为不同工具设置不同的权限和访问控制。直接函数调用很难做到细粒度的权限管理。
语言无关:MCP是协议,工具可以用任何语言实现。函数库方案通常限定在特定语言生态内。
远程调用:MCP支持网络调用,工具可以部署在不同机器上。函数库通常只能本地调用。
生态建设:当有成百上千个工具提供商时,MCP提供了统一的发布、发现、集成标准。
实际选择
对于简单场景,你的方案更务实。MCP更像是为了建立一个工具生态系统的基础设施,类似于App Store需要统一的API标准,虽然技术上每个app都可以直接集成到系统中。
所以这不是技术能力的问题,而是架构治理的问题。

浙公网安备 33010602011771号