本文使用的 COS MCP,来自 腾讯云开发者社区 MCP 广场。腾讯云开发者社区 MCP 广场,致力于为用户提供丰富、好用、安全的MCP服务。
Dify 是一款开源的 大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
核心能力
这里以 Docker Compose 部署方式为例。更多场景参见:部署社区版 - Dify Docs。
克隆 Dify 源代码至本地环境。
# 假设当前最新版本为 0.15.3
git clone https://github.com/langgenius/dify.git --branch 0.15.3
进入 Dify 源代码的 Docker 目录,复制环境配置文件,并根据环境需要可以修改Dify服务端口号。
cd dify/docker
cp .env.example .env
根据你系统上的 Docker Compose 版本,选择合适的命令来启动容器。可以通过 $ docker compose version 命令检查版本,详细说明请参考:Docker 官方文档。
# Docker Compose V2 版本
# 启动
docker compose up -d
# 检查容器运行情况
docker compose ps
# Docker Compose V1 版本
# 启动
docker-compose up -d
# 检查容器运行情况
docker-compose ps
运行命令后,可以看到类似以下的输出,显示所有容器的状态和端口映射:
启动后可以检查是否所有容器都正常运行,检查后可看到包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox 。
通过这些步骤在本地成功安装了 Dify。
本地安装完成后,可以先前往管理员初始化页面设置设置管理员账户:
# 本地环境
http://localhost/install
# 服务器环境
http://your_server_ip/install
Dify 主页面:
# 本地环境
http://localhost
# 服务器环境
http://your_server_ip
开放协议 MCP(Model Context Protocol)通过建立通用型接口规范,有效打通了 AI 模型与功能插件的交互通道,为 AI 技术的规模化部署提供了关键性支撑。在 AI 与云原生技术深度融合的今天,开发者面临的核心挑战是如何让 AI 高效地调用、管理资源。对此,腾讯云对象存储 COS 与数据处理服务数据万象 CI 共同推出了基于 MCP 协议的开发接口服务 COS MCP Server,助力开发者们实现"自然语言驱动云端资源管理"的终极愿景。
使用时,开发者无需为 AI 业务编写 COS 的 SDK 或 API 适配代码,通过 COS MCP Server 可以直接以自然语言指令操作资源。
核心能力
目前,COS MCP Server 提供了以下能力:
COS MCP Server 支持两种通信传输方式:SSE 模式和 Command 模式(即 stdio 模式)。
可以通过 npm 或者使用源码进行安装部署,同时也支持在腾讯云开发者平台直接进行托管接入部署。
# 安装
npm install -g cos-mcp@latest
# 启动
# 运行开启 SSE 模式
cos-mcp --Region=yourRegion --Bucket=yourBucket --SecretId=yourSecretId --SecretKey=yourSecretKey --DatasetName=yourDatasetname --port=3001 --connectType=sse
# 或通过 JSON 配置
cos-mcp --cos-config='{"Region":"yourRegion","Bucket":"BucketName-APPID","SecretId":"yourSecretId","SecretKey":"yourSecretKey","DatasetName":"datasetName"}' --port=3001 --connectType=sse
# 参数说明:
# connectType 代表连接方式,可以是stdio (本地) 或 sse (远程)
# port 代表监听端口(sse模式有用)
# SecretId 和 SecretKey 可以从腾讯云COS https://console.cloud.tencent.com/cam/capi 获取
# bucket 是存储的桶名称
# region 是存储桶所在的区域
# datasetName 是数据集名,非必填参数,数据智能检索操作需要此参数
# 克隆仓库
git clone https://github.com/tencent/cos-mcp.git
cd cos-mcp
#安装依赖
npm i
#构建项目
npm run build
使用.env 文件,在项目根目录创建.env 文件,参考 .env.example 模板
cosConfig='{"Region":"yourRegion","Bucket":"BucketName-APPID","SecretId":"yourSecretId","SecretKey":"yourSecretKey","DatasetName":"datasetName"}'
connectType='sse'
port='3001'
# 开启 stdio 模式
npm start
# 开启 sse 模式
npm run start:sse
# 开启测试平台
npm run inspect
在腾讯云 COS MCP Server页面右侧,配置相应的cos相关信息。
配置完成后,点击连接Server,即可得到该托管mcp的服务侧地址。
在腾讯云控制台中,进入对象存储(COS)服务,创建一个新的存储桶,并记录存储桶的名称和所属地域。在左侧导航中,单击存储桶列表。在存储桶列表页面,单击创建存储桶。在弹出的创建存储桶对话框中,配置如下信息。
在腾讯云控制台的访问管理(CAM) 中,获取您的访问密钥 SecretId 和 SecretKey,这些信息将用于配置 COS MCP Server。
关于获取 CAM 密钥,详情可参考:访问管理主账号访问密钥管理_腾讯云。
登录 Dify 后,在导航栏中依次点击 工具 → MCP,即可进入外部 MCP 服务器的管理页面。在这里可以统一管理所有为自身应用配置的 MCP 服务器。
点击 添加 MCP 服务器(HTTP),即可集成新的外部工具服务。
需要填写如下信息:
服务器 URL:COS MCP Server 的 HTTP 接口地址。
名称与图标:自定义服务器名称,建议选择能清晰体现工具用途的名字。Dify 会自动尝试获取服务器域名的图标,也可以手动上传,比如"cos-mcp"。
服务器标识符:Dify 用于区分服务器的唯一 ID。规则:小写字母、数字、下划线或连字符,最多 24 个字符。
在 Dify 各类应用中使用 COS MCP Server 主要围绕以下主体链路进行设计。
自然语言输入:接收用户输入,例如“上传文件到 COS ”、“查询文件列表”、“对图片添加水印”等。
解析识别:使用正则表达式或 LLM 解析用户指令,提取操作指令和参数。
处理操作:COS MCP Server 根据操作指令完成具体的处理调用操作。
结果返回:将操作结果根据需要按相应格式或渠道返回给用户。
具体而言,当 COS MCP Server 配置完成后,在 Dify 各类型应用部署中,可以在节点中选择工具 → cos-mcp,其下的具体接口会出现在下拉列表中,根据场景做按需使用。
这里基于 COS MCP Server 搭建了一个简易的 Dify 工作流示例,在该工作流链路中,入口侧输入自然语言描述,使用LLM解析具体指令及参数,接着调用 COS MCP Server 不同接口进行相应的操作处理,再次使用LLM对结果进行解析及自然语言组织,并配合企业微信机器人实现结果的实时回调通知。
示例工作流结构如下图所示。
根据自然语言描述,拉取所配置 bucket 里指定路径下的文件列表,结果详情里会返回相应的文件列表及相关描述。
示例:“获取路径/下的文件列表”。
企业微信机器人回调收到的消息如下图所示。
自然语言描述获取 bucket 里指定图片的详情,可以返回图片的具体信息,包括格式、分辨率、大小等信息。
示例:“获取一下图片 test-pic.jpeg 信息”。
智能分析视频,对输入视频提供一张最合适作为封面的截帧,会自动创建对应的处理任务,触发相应的处理。
示例:“创建一个智能封面任务,输入是 test-video.mp4 ”。
将指定的输入文档智能转换成 pdf。
示例:“创建文档转 pdf 任务,输入是 test-doc.txt ”。
查询指定任务的执行结果。
示例:“查询媒体处理任务,任务 ID 是 j69e716e45ff811f098dc7b252fcf54cc”。
获取图片的质量评估详情,并可以在此基础上对图片进行清晰度提高等处理。
示例:“对图片 test-pic.jpeg 做一下质量评估”。
示例:“对test-pic.jpeg进行质量评估,如果质量低的话进行超分处理”。
通过对指定图片加上指定水印内容,并返回结果图详情。
示例:“对图片 test-pic.jpeg 加水印,水印内容为 'tencent' ”。
在 Dify 中,基于 COS MCP Server ,用户可以通过自然语言指定任意非结构化数据,并口语化地描述预期的处理效果,结合 Dify 可视化界面轻松配置和调用 COS 和 CI,无需编写复杂代码即可完成复杂的处理任务。
未来,随着 COS MCP Server 功能覆盖度的不断提升,用户可以享受到更加无缝、高效的开发体验。无论是视频转码、图片处理,还是文档解析,用户只需通过自然语言描述需求,系统即可自动完成从解析到执行的全流程,真正实现智能化的处理、检索和存储一体化。
Dify 使用文档:
https://docs.dify.ai/zh-hans/introduction
COS MCP Server Github 主仓库:
https://github.com/Tencent/cos-mcp
在 Dify 中使用 MCP: