📌 核心结论:协议不兼容,需桥接
通过分析双方文档,存在一个关键的技术约束:
⚠️ Dify 官方文档明确说明:"Only MCP servers with HTTP transport are supported."
智谱AI 的 MCP Server 是 stdio 本地类型,无法直接对接 Dify,必须通过桥接工具转换协议。
🏗️ 整体架构
┌──────────┐ HTTP/SSE ┌───────────────┐ stdio ┌─────────────────────┐ HTTPS ┌──────────────┐
│ Dify │ ◄─────────────► │ MCP Proxy │ ◄────────────►│ @z_ai/mcp-server │ ◄──────────►│ 智谱AI API │
│ (v1.6.0+)│ │ (桥接服务) │ │ (npx 启动) │ │ GLM-4.6V │
└──────────┘ └───────────────┘ └─────────────────────┘ └──────────────┘智谱AI MCP Server 提供的 8 个工具
接入成功后你将获得以下全部能力:
第一步:获取智谱AI API Key
访问 智谱AI 编码套餐控制台
新建 API Key
注意:个人版和团队版的 Key 不通用,团队额度必须使用团队版 Key
第二步:部署 stdio → SSE 桥接服务
方案 A:使用 mcp-proxy(推荐)
Bash
# 设置环境变量
export Z_AI_API_KEY="your_api_key_here"
export Z_AI_MODE="ZHIPU"
# 启动桥接服务,将 stdio MCP 暴露为 SSE HTTP 端点
npx -y mcp-proxy \
--host 0.0.0.0 \
--port 8080 \
-- npx -y @z_ai/mcp-server方案 B:使用 supergateway
Bash
export Z_AI_API_KEY="your_api_key_here"
npx -y supergateway \
--stdio "npx -y @z_ai/mcp-server" \
--port 8807 \
--host 0.0.0.0验证桥接服务是否正常
Bash
# 测试 SSE 端点
curl -N http://localhost:8080/sse
# 或直接测试原始 MCP Server(不经过桥接)
Z_AI_API_KEY=your_key npx -y @z_ai/mcp-server如果 MCP Server 正常启动(没有报错退出),说明环境正确。
第三步:Docker Compose 生产部署(推荐)
Yaml
# docker-compose.yml
version: '3.8'
services:
zhipu-mcp-bridge:
image: node:18-slim
container_name: zhipu-mcp-bridge
restart: always
working_dir: /app
environment:
- Z_AI_API_KEY=${ZHIPU_API_KEY}
- Z_AI_MODE=ZHIPU
ports:
- "8080:8080"
command: >
sh -c "
npm install -g mcp-proxy &&
npx -y @z_ai/mcp-server --version 2>/dev/null || true &&
mcp-proxy --host 0.0.0.0 --port 8080 -- npx -y @z_ai/mcp-server
"创建 .env 文件:
Bash
ZHIPU_API_KEY=your_api_key_here启动:
Bash
docker-compose up -d
docker-compose logs -f # 查看启动日志Nginx 反向代理(增加 HTTPS + 鉴权)
Nginx
server {
listen 443 ssl;
server_name mcp.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location /sse {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Connection '';
proxy_set_header Host $host;
# ⚡ SSE 关键配置
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding on;
proxy_read_timeout 300s;
}
}第四步:在 Dify 中配置 MCP Server
前提:Dify 版本 ≥ v1.6.0
操作路径
Dify 控制台 → Integrations(集成)→ Tools(工具)→ MCP → Add MCP Server
填写配置
认证设置
API Key 已通过环境变量注入桥接服务,Dify 侧的 OAuth 认证关闭即可。
如果桥接服务加了 Nginx 鉴权,在 Custom Headers 中添加:
JSON
{
"Authorization": "Bearer your_secure_token"
}高级超时设置
点击 Save → Dify 自动连接并导入 8 个工具
确认工具列表已成功显示
第五步:在应用中使用
方式 1:Agent 应用 — 智能调用
在 Agent 应用的 Tools 区域绑定 zhipu-vision-mcp,在 System Prompt 中描述:
MarkDown
你是一个连接了智谱视觉MCP的助手,拥有以下8个视觉分析工具:
1. image_analysis — 通用图像理解
2. ui_to_artifact — UI截图转代码/设计规范
3. extract_text_from_screenshot — OCR文字提取
4. diagnose_error_screenshot — 错误截图诊断
5. understand_technical_diagram — 技术图表解读
6. analyze_data_visualization — 数据可视化分析
7. ui_diff_check — UI差异对比
8. video_analysis — 视频内容解析
根据用户请求,自动选择最合适的工具完成任务。用户对话示例:
"帮我分析这张架构图 /uploads/architecture.png 的结构"
Agent 会自动调用 understand_technical_diagram 工具。
方式 2:Workflow 工作流 — 精确编排
在 Workflow 中添加 Tool Node,选择具体工具实现确定性流程:
┌─────────────────────────┐ │ Start: 用户输入图片URL │ └────────────┬────────────┘ ▼ ┌─────────────────────────┐ │ Tool: image_analysis │ │ (智谱视觉MCP) │ └────────────┬────────────┘ ▼ ┌─────────────────────────┐ │ LLM: 基于分析结果生成报告 │ └────────────┬────────────┘ ▼ ┌─────────────────────────┐ │ End: 输出结构化结果 │ └─────────────────────────┘
方式 3:Workflow Agent Node — 混合模式
在 Workflow 中插入 Agent Node,让 Agent 自主选择视觉工具,适合任务类型不确定的复杂场景。
🔧 故障排查
本地快速验证脚本:
Bash
#!/bin/bash
echo "=== 1. 检查 Node.js ==="
node -v # 应 >= 18
echo "=== 2. 检查 API Key ==="
if [ -z "$Z_AI_API_KEY" ]; then
echo "❌ Z_AI_API_KEY 未设置"
exit 1
else
echo "✅ Z_AI_API_KEY 已设置"
fi
echo "=== 3. 测试原始 MCP Server ==="
timeout 5 npx -y @z_ai/mcp-server && echo "✅ MCP Server 正常" || echo "⚠️ 超时(正常行为,说明进程在等待)"
echo "=== 4. 测试桥接服务 ==="
curl -s -m 5 http://localhost:8080/sse && echo "✅ 桥接服务正常" || echo "❌ 桥接服务异常"📎 参考文档
💡 总结:智谱AI 的 MCP Server 面向的是 本地 IDE 客户端(Claude Code / Cline 等)的 stdio 通信模式,而 Dify 需要的是 HTTP/SSE 远程服务。通过部署一个
mcp-proxy桥接服务(约 5 分钟),即可在 Dify 中获得智谱 GLM-4.6V 的全部 8 项视觉能力。其他三个智谱 MCP Server(联网搜索、网页读取、开源仓库)同理,可一并桥接接入。