本文以开发一个自定义MCP服务为例,详细演示在dify中使用MCP服务的全流程,在本篇文章中你可以了解到MCP服务编写、docker服务启动,dify的MCP工作流配置。
什么是MCP?
MCP协议(模型上下文协议)是由Anthropic提出的AI集成开放标准,旨在解决AI工具集成中的"M×N问题"。简而言之,它就像AI领域的USB接口,为各种外部工具、数据源和系统提供标准化连接方案。
本地MCP服务开发:扑克牌发牌小工具
Python编写发牌员MCP工具
pip install mcp
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
客户端,下载地址大家可以自行百度。


看样子,测试通过了!我们的大模型成功唤起了发牌员MCP工具,并获取到了要发的10张牌。
通过Docker部署发牌员MCP服务
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"]
cd /yourproject__path/
docker build -t mcpserver:v0.1 .
docker run -d -p 8090:8090 --network docker_ssrf_proxy_network --name mcpserver mcpserver:v0.1
docker exec -it docker-plugin_daemon-1 bash
curl http://mcpserver:8090/sse
终端中输出:

看样子,测试又通过了!我们已经在dify的服务器上部署好我么你的发牌员MCP工具了。
在dify中使用MCP
dify基本配置
本文用到的dify版本为1.1.3,需要在插件市场安装以下4个插件
-
Dify Agent 策略 -
MCP Agent 策略 -
Agent 策略(支持 MCP 工具) -
MCP SSE
创建工作流进行测试




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