前言
最近也开始研究上MCP,过程发现Dify调用MCP服务比较简单,无非就是获取远程SSE服务链接(比如魔搭社区有很多云托管的MCP服务)填到Dify插件去使用,但是发现有很多开源MCP服务不是通过SSE方式接入的,而是Stdio方式,这使得可调用的资源非常有限。为了解决这一瓶颈,我们可以通过使用Supergateway工具把stdio转成sse服务提供给Dify调用!
先贴上项目地址:Supergateway
使用Supergateway
下面用的是官方例子做演示:
# 1.先创建my-folder目录并赋予修改权限(只是这个mcp服务要用到)
mkdir my-folder
sudo chmod o+w my-folder
# 2.安装进程守卫工具pm2
npm install -g pm2
# 3.新建pm2进程mcp-service
pm2 start --name mcp-server \
# 4.启动Supergateway服务并下载server-filesystem包
npx -- -y supergateway --port 8951 --stdio "npx -y @modelcontextprotocol/server-filesystem ./my-folder"
# 5.输入pm2 logs mcp-service可以看到server-filesystem mcp服务启动成功了
Dify调用
SSE链接(前提是DIfy得和部署的mcp在同一台服务器上):
{
"mcpServers": {
"filessystem": {
"type": "sse",
"url": "http://你的服务器内网Ip:8951/sse"
}
}
}
把写好的链接填入Dify插件,点击保存可以看到连接成功了
调用mcp工具效果:
总结
过程比较简单,后面通过这个方法部署更多的MCP服务给DIfy调用(前提npm能下载到对应的mcp服务包),如果有更好方法也可以分享一下!