MCP自定义服务器研究
现在对MCP自定义服务器的应用场景有困惑,所以展开来研究一哈
目前我打算用langchain框架重构系统,langchain框架中的工具创建与MCP自定义服务器中的工具十分类似。
👉 在我这个系统工具调用中,直接调用模型api比MCP自定义服务器
优点:简单直接、性能好、易调试、完全可控
👉 而使用MCP自定义服务器:
LangChain → MCP Client → SAM3 MCP Server → 推理服务
明显通信要多一层,但带来的优势是工具更加可控,代理成规模后工具管理更加规范
能够实现:
- 一次实现、全局复用、统一接口
- MCP Server 自动注册工具、Agent 动态获取
- 工具能够控版本、控权限和控限流
mcp主要是“工具体系可扩展、可共享、可治理”
langchain中对话模型实例;
阅读文档的时候,发现langchain有多种模型实例方式,而且他自己也提供一种模型初始化方式
模型初始化方式有多种:
- langchain本身的高度抽象的工厂模式
init_chat_model - 其他的是模型供应商直接的显式实例化如
ChatOpenAI
👉 langchain的init_chat_model
优势:参数会自动透传给底层的特定模型类,更改模型更加方便
👉 模型供应商直接的显式实例化
优势:参数提示(Autocomplete)更精准,而且显式实例化通常比抽象工厂更容易调试。
在我的系统,使用langchain的工厂模式可以让在本地Ollama模型和云端闭源模型无缝切换,而不需要重写大量的初始化代码。(不同的模型供应商的显式实例化都要重新写一遍实例)
