支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


在Dify中使用本地MCP工具

发布日期:2025-05-08 08:03:38 浏览次数: 1614 作者:AISpace研习所
推荐语

掌握Dify中MCP工具的本地开发与部署,深入了解AI集成新标准。

核心内容:
1. MCP协议介绍及其在AI集成中的作用
2. 从零开始开发一个本地MCP服务实例
3. 部署MCP服务并测试其功能

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

本文以开发一个自定义MCP服务为例,详细演示在dify中使用MCP服务的全流程,在本篇文章中你可以了解到MCP服务编写、docker服务启动,dify的MCP工作流配置。

 什么是MCP? 

MCP协议(模型上下文协议)是由Anthropic提出的AI集成开放标准,旨在解决AI工具集成中的"M×N问题"。简而言之,它就像AI领域的USB接口,为各种外部工具、数据源和系统提供标准化连接方案。

 本地MCP服务开发:扑克牌发牌小工具 

Python编写发牌员MCP工具

1. 安装mcp包
pip install mcp
2. 撰写一个简单的发牌代码?
mcp = FastMCP(
    name="Demo ?",
    port=8090
    )

@mcp.tool()
def get_poker_cards(num: int = 5) -> str:
    # 定义花色和牌面
    suits = ['♠''♥''♦''♣']
    ranks = ['A''2''3''4''5''6''7''8''9''10''J''Q''K']

    # 创建一副牌
    deck = [f"{suit}{rank}"for suit in suits for rank in ranks]

    # 随机抽取n张牌
    random_cards = random.sample(deck, num)

    return",".join(random_cards)

Cherry Studio测试MCP服务

打开Cherry Studio客户端,下载地址大家可以自行百度。

1. 在 设置 > MCP服务器 -> 添加服务器 -> 点击保存。服务器的参数进行如下配置:
MCP服务器参数配置
2. 在聊天界面中进行测试,观察是否能成功调用我们写的发牌员MCP工具。
聊天界面中测试发牌员MCP工具

看样子,测试通过了!我们的大模型成功唤起了发牌员MCP工具,并获取到了要发的10张牌。

 通过Docker部署发牌员MCP服务 

1. 编写Dockerfile,将需要用到的环境以及发布的端口都配置好(文件内容较长,仅摘录部分内容)
COPY requirements.txt .
RUN python -m venv /app/venv && \
    . /app/venv/bin/activate && \
    pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/


FROM base AS prod

COPY --from=build /app/venv /app/venv

COPY app.py /app/app.py

EXPOSE 8090

CMD ["/app/venv/bin/python""app.py"]
2. 将Dockerfile以及上述的发牌员MCP的Python代码,一同打包,上传到服务器
3. 制作docker镜像
cd /yourproject__path/
docker build -t mcpserver:v0.1 .
4. 启动容器运行发牌员MCP服务
docker run -d -p 8090:8090 --network docker_ssrf_proxy_network --name mcpserver mcpserver:v0.1
5. 在dify的插件容器中测试以下,能否访问我们的MCP服务
docker exec -it docker-plugin_daemon-1 bash
curl http://mcpserver:8090/sse

终端中输出:

测试dify容器间网络通信

看样子,测试又通过了!我们已经在dify的服务器上部署好我么你的发牌员MCP工具了。

 在dify中使用MCP 

dify基本配置

本文用到的dify版本为1.1.3,需要在插件市场安装以下4个插件

  • Dify Agent 策略  
  • MCP Agent 策略
  • Agent 策略(支持 MCP 工具)
  • MCP SSE

创建工作流进行测试

1. 创建一个带MCP工具的AGENT节点的工作流
创建dify工作流
2. 其中在AGENT节点中,配置我们部署的发牌员MCP工具
Agent节点配置MCP信息及大模型提示词
3. 在预览里测试一下效果
预览效果
4. 追踪AGENT节点的详细工作信息,确认大模型确实调用了发牌员MCP工具,而不是大模型自己生成的。
查看Agent节点中MCP服务的调用情况

看样子,大模型确实调用了发牌员MCP工具,并成功拿到了工具返回的结果。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询