dify连接本地mcp

        最近正在使用dify做智能体,尤其是通过工作流的方式来实现,但是发现要么是通过直接agent的方式来实现,要么就是只写方式没有进行过测试,导致在这个问题上卡了很久,所以我现在解决了,然后给大家分享一下。

        先展示报错信息:

        Failed to transform agent message: PluginInvokeError: {"args":{},"error_type":"ConnectionError","message":"server_name1 - MCP Server connection failed: [Errno 111] Connection refused"}        

        展示成功信息:

        直接上mcp的服务配置

{
  "add": {
    "url": "http://host.docker.internal:8000/sse",
    "headers": {},
    "timeout": 60
  }
}

        由于dify部署时使用的是docker部署,但是有没有实现与本地ip的绑定,所以需要将127.0.0.1修改成http://host.docker.internal,这样就不会出现连接被拒绝的问题了。

        同时附上本地python的mcp服务,使用的是sse传输协议

"""
FastMCP quickstart example.

cd to the `examples/snippets/clients` directory and run:
    uv run server fastmcp_quickstart stdio
"""

from mcp.server.fastmcp import FastMCP

# Create an MCP server
mcp = FastMCP("Demo")


# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b


# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
    """Get a personalized greeting"""
    return f"Hello, {name}!"


if __name__ == "__main__":
    mcp.run(transport="sse")

        先运行python服务,然后在dify中运行工作流即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值