Administrator
发布于 2026-07-19 / 0 阅读
0
0

在 Dify 中接入智谱AI视觉理解 MCP Server

📌 核心结论:协议不兼容,需桥接

通过分析双方文档,存在一个关键的技术约束:

智谱AI MCP Server

Dify MCP 支持(v1.6.0+)

传输协议

stdio(本地进程通信)

仅 HTTP/SSE(远程网络通信)

启动方式

npx -y @z_ai/mcp-server

通过 URL 连接

认证方式

环境变量 Z_AI_API_KEY

OAuth / Custom Headers

⚠️ 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 个工具

接入成功后你将获得以下全部能力:

工具名

功能说明

image_analysis

通用图像理解,适配未被专项工具覆盖的视觉内容

ui_to_artifact

UI 截图转代码、提示词、设计规范或自然语言描述

extract_text_from_screenshot

高级 OCR 文字提取(代码、终端输出、文档等)

diagnose_error_screenshot

解析错误弹窗/堆栈/日志截图,给出定位与修复建议

understand_technical_diagram

架构图/流程图/UML/ER 图结构化解读

analyze_data_visualization

仪表盘/统计图表分析,提炼趋势与异常

ui_diff_check

对比两张 UI 截图,识别视觉差异和实现偏差

video_analysis

视频场景解析(MP4/MOV/M4V,本地最大 8M)


第一步:获取智谱AI API Key

  1. 访问 智谱AI 编码套餐控制台

  2. 新建 API Key

  3. 注意:个人版和团队版的 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

填写配置

字段

说明

Server URL

http://<桥接服务IP>:8080/sse

桥接服务的 SSE 端点地址

Display Name

智谱视觉MCP

显示名称,可自定义

Server Identifier

zhipu-vision-mcp

⚠️ 唯一标识,设定后不可随意修改

认证设置

API Key 已通过环境变量注入桥接服务,Dify 侧的 OAuth 认证关闭即可。

如果桥接服务加了 Nginx 鉴权,在 Custom Headers 中添加:

JSON

{
  "Authorization": "Bearer your_secure_token"
}

高级超时设置

参数

建议值

原因

Request Timeout

120s

视频分析、大图处理耗时较长

SSE Read Timeout

120s

长时间流式响应

  1. 点击 Save → Dify 自动连接并导入 8 个工具

  2. 确认工具列表已成功显示


第五步:在应用中使用

方式 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 自主选择视觉工具,适合任务类型不确定的复杂场景。


🔧 故障排查

问题

可能原因

解决方案

Dify 连接 MCP Server 失败

桥接服务未启动 / 防火墙

docker ps 检查容器状态,开放端口

工具列表为空

MCP 协议版本不匹配

确保桥接工具支持 MCP 协议 2025-03-26

API Key 无效

Key 未激活 / 余额不足 / Key 类型错误

检查智谱控制台,确认 Key 类型和余额

请求超时

视频/大图分析耗时

调大 Dify 中 Request Timeout 至 120s+

npx 报错

Node.js 版本过低

确认 node -v ≥ 18

Windows 下 npx -y 参数问题

PowerShell 兼容性

使用 CMD 执行,或忽略 cmd /c 告警

本地快速验证脚本

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

https://docs.bigmodel.cn/cn/coding-plan/mcp/vision-mcp-server

智谱AI 联网搜索 MCP

https://docs.bigmodel.cn/cn/coding-plan/mcp/search-mcp-server

智谱AI 网页读取 MCP

https://docs.bigmodel.cn/cn/coding-plan/mcp/reader-mcp-server

智谱AI 开源仓库 MCP

https://docs.bigmodel.cn/cn/coding-plan/mcp/zread-mcp-server

Dify MCP 工具配置文档

https://docs.dify.ai/en/cloud/use-dify/workspace/tools

Dify 发布为 MCP Server

https://docs.dify.ai/en/cloud/use-dify/publish/publish-mcp

MCP 协议官方文档

https://modelcontextprotocol.io/

GLM-4.6V 模型介绍

https://docs.bigmodel.cn/cn/guide/models/vlm/glm-4.6v


💡 总结:智谱AI 的 MCP Server 面向的是 本地 IDE 客户端(Claude Code / Cline 等)的 stdio 通信模式,而 Dify 需要的是 HTTP/SSE 远程服务。通过部署一个 mcp-proxy 桥接服务(约 5 分钟),即可在 Dify 中获得智谱 GLM-4.6V 的全部 8 项视觉能力。其他三个智谱 MCP Server(联网搜索、网页读取、开源仓库)同理,可一并桥接接入。


评论