Dify智能体集成MCP工具
介绍了如何在Dify智能体平台中调用MCP协议的服务
在之前的博客中我介绍了MCP服务,并实现了一个可以通过高德天气进行天气预报查询的MCP server,以及通过命令行的方式来调用DeepSeek大模型实现MCP工具的调用。这次我想在Dify这个智能体平台上来开发一个应用,集成MCP工具。
要在Dify智能体上运行MCP工具,有两种方式,一种方式是把MCP server的程序保存在Dify智能体平台,在需要调用的时候由Dify平台的服务器来调用运行,这种方式需要在Dify服务器上配置MCP Server的相关环境,例如Python,以及一些其他三方库等等。另一种方式是MCP服务在单独的服务器上运行,智能体通过Http接口来调用MCP服务。从以上两种方式可以看到,后一种方式在管理上更加清晰,把MCP服务和智能体平台分隔开,MCP服务也可以方便进行后续的扩展。
在目前市场上有很多成熟的MCP服务提供,例如MCP.so这个网站,我们可以把这些MCP服务的程序安装到服务器,然后通过mcp-proxy这个工具,将stdio方式运行的MCP server以SSE方式暴露给外部访问,具体可以参见GitHub - sparfenyuk/mcp-proxy: Connect to MCP servers that run on SSE transport, or expose stdio servers as an SSE server using the MCP Proxy server.
以之前我自己写的高德天气查询的MCP服务为例,运行以下命令来将服务以SSE方式提供:
mcp-proxy --sse-port=6274 --sse-host 0.0.0.0 python server.py
打开Dify智能体平台,在工具中安装MCP SSE,然后点击去授权,输入MCP server的信息:
{
"server_name": {
"url": "http://xxxx:6274/sse",
"headers": {},
"timeout": 60,
"sse_read_timeout": 300
}
}
授权完毕就可以开始使用了,在Dify中新建一个Agent应用,然后在工具里面添加mcp_sse的获取MCP工具列表和调用MCP工具,模型选择DeepSeek V3,然后就可以测试了,在聊天里面输入“请预测广州市未来的天气情况”,可以看到会调用MCP工具来获取天气预报信息,然后给到大模型来进行回复。如下图:
更多推荐
所有评论(0)