Token导航 LogoToken导航TokenDH.com
z AI-vision-MCP-fly logo
运维云端stdio官方级别未说明来源级核验

z AI-vision-MCP-fly

MCP Server

用于部署Z.AI Vision MCP服务器的生产级代理服务,支持Bearer令牌认证和SSE流式传输。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaScript云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TotalLag

提供方

TotalLag

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 \

详细介绍

Z.AI Vision MCP服务器代理

一个生产就绪的代理服务器,用于在Fly.io上部署Z.AI Vision MCP服务器,具有承载令牌身份验证和SSE流媒体支持。

概述

该存储库为部署Z.AI Vision MCP服务器提供了基础设施,包括:

  • 承载令牌身份验证 用于安全访问
  • SSE流媒体 用于实时MCP协议通信
  • 健康监测 优雅的启动操作
  • 结构化日志记录 用于调试和监控
  • 生产准备就绪 错误处理和优雅关机

快速开始

1.安装依赖项

npm install

2.设置所需的环境变量

必修的:

  • MCP_COMMAND -启动Z.AI Vision MCP服务器的命令(默认值: npx -y @z_ai/mcp-server)
  • Z_AI_API_KEY -您的Z.AI API密钥(从https://z.ai/manage-apikey/apikey-list)
  • Z_AI_MODE -人工智能服务平台(ZAIZHIPU)

可选(用于生产):

  • BEARER_TOKEN -API访问的身份验证令牌
  • DEBUG_LOGGING -启用详细日志记录(true1)
  • PORT -外部端口(默认:8080)

3.配置Z.AI凭据

# Z.AI Vision MCP Server command
export MCP_COMMAND="npx -y @z_ai/mcp-server"

# Z.AI API credentials
export Z_AI_API_KEY="your_api_key_here"
export Z_AI_MODE="ZAI"  # or "ZHIPU" depending on platform

4.启动代理

node server.js

代理将在端口8080上启动,并通过超级网关生成Z.AI Vision MCP服务器。

建筑

Client → Z.AI Vision MCP Proxy (8080) → [Upload: /tmp/mcp-uploads/] → Supergateway (8000) → Z.AI MCP Server (stdio) → Z.AI API

组件详细信息

  • Z.AI视觉MCP代理:具有承载身份验证、请求路由和SSE流的HTTP服务器
  • 超级网关:将HTTP/SSE桥接到stdio以进行MCP协议通信
  • Z.AI视觉MCP服务器:通过Z.AI平台实现视觉AI功能
  • 文件上传端点:接受多部分文件上传,存储在 /tmp/mcp-uploads/,为工具调用返回serverPath
  • MCP资源发现:为AI代理提供能力发现

配置摘要

配置原因
MCP命令npx -y @z_ai/mcp-server推出Z.AI Vision MCP服务器
Z_AI_API_键Secret(必填)通过Z.AI平台进行身份验证
Z_AI_MODEZAIZHIPU (必填)选择AI服务平台
bear_TOKENSecret(生产中需要)保护您部署的端点
记忆512MB足以满足MCP服务器的工作负载(Z.AI处理繁重的处理)
中央处理器共享成本优化(Z.AI平台处理繁重的视觉处理)
并发8软/10硬防止资源枯竭

API终点

代理集成和资源发现

该服务器实现了MCP(模型上下文协议)资源发现,以帮助AI代理了解可用功能。

大图像文件上传

重要提示: Base64编码使文件大小增加了约33%(例如,8MB→ 11MB JSON有效负载),这可能会导致HTTP超时、JSON解析失败和内存问题。对于大图像,代理使用仅上传的方法:

  • 文件必须通过以下方式上传 POST /upload 端点优先
  • 上传的文件存储在 /tmp/mcp-uploads/ 并引用 serverPath
  • 使用 serverPath 直接在Z.AI Vision工具调用中
  • 最大文件大小: 每次上传10MB
  • 支持的格式: PNG、JPEG、GIF、WebP、BMP

这种方法确保了对大型图像的可靠处理,而没有base64编码的开销和限制。

仅上传工作流

本地文件路径不会自动转换为base64。 相反,代理必须通过 POST /upload 端点优先:

  1. 通过上传本地图像 POST /upload 端点
  2. 接收 serverPath 作为响应(例如。, /tmp/mcp-uploads/123_abc_image.png)
  3. 使用 serverPath 直接在Z.AI Vision工具调用中
  4. 工具执行期间不会发生base64转换

这种方法确保了对大图像的可靠处理,并消除了base64大小的开销。

资源发现协议

服务器支持标准MCP资源发现方法:

  • resources/list:返回有关可用资源的元数据,包括上载端点
  • resources/read:提供使用上传端点的详细说明
  • tools/list:增强的响应包括Z.ai Vision工具的上传功能提示

代理工作流

sequenceDiagram
    participant Agent as AI Agent (Traycer)
    participant Proxy as MCP Proxy Server
    participant Gateway as Supergateway
    participant Vision as Z.AI Vision MCP
    
    Note over Agent,Vision: Phase 1: Resource Discovery
    Agent->>Proxy: resources/list
    Proxy-->>Agent: upload://images resource
    Agent->>Proxy: resources/read(upload://images)
    Proxy-->>Agent: Upload endpoint details
    
    Note over Agent,Vision: Phase 2: File Upload
    Agent->>Proxy: POST /upload (file)
    Proxy-->>Agent: serverPath
    
    Note over Agent,Vision: Phase 3: Tool Discovery
    Agent->>Proxy: tools/list
    Proxy->>Gateway: tools/list
    Gateway->>Vision: tools/list
    Vision-->>Gateway: Tool definitions
    Gateway-->>Proxy: Tool definitions
    Proxy->>Proxy: Enhance descriptions
    Proxy-->>Agent: Enhanced tool definitions
    
    Note over Agent,Vision: Phase 4: Tool Execution
    Agent->>Proxy: tools/call(serverPath)
    Proxy->>Gateway: tools/call(serverPath)
    Gateway->>Vision: Execute tool
    Vision-->>Gateway: Result
    Gateway-->>Proxy: Result
    Proxy-->>Agent: Result

面向代理开发人员

AI代理应实施此工作流程:

  1. 关于连接:查询 resources/list 发现上传功能
  2. 读取上传详细信息:使用 resources/read 随着 uri: "upload://images" 获取上传说明
  3. 上传文件:使用 POST /upload 上传本地图像,接收 serverPath
  4. 使用服务器路径:通行证 serverPath 直接访问Z.AI Vision工具(无需base64)

测试资源发现

测试资源发现终结点:

# Test resources/list
curl -X POST http://localhost:8080/sse \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"resources/list","id":1}'

# Test resources/read
curl -X POST http://localhost:8080/sse \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"resources/read","params":{"uri":"upload://images"},"id":2}'

示例:上传和分析工作流

# Step 1: Upload local image
curl -X POST https://your-app.fly.dev/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@/path/to/large-screenshot.png"

# Response: {"success": true, "serverPath": "/tmp/mcp-uploads/123_abc_large-screenshot.png", ...}

# Step 2: Use serverPath in tool call
curl -X POST https://your-app.fly.dev/sse \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"analyze_image","arguments":{"image_path":"/tmp/mcp-uploads/123_abc_large-screenshot.png"}},"id":3}'

文件大小建议

图像大小建议原因
\10MB不支持超过上传限制

提示:

  • 尽可能在上传前压缩图像
  • 使用适当的图像格式(照片为JPEG,截图为PNG)
  • 考虑调整超大图像的大小以减小文件大小

GET /sse

MCP协议通信的SSE端点(生产中需要承载令牌)

POST /sse

MCP请求的HTTP端点(生产中需要承载令牌)

GET /health

健康检查端点-返回网关状态

认证

发展模式

在以下情况下,身份验证是可选的:

  • NODE_ENV 不是 "production"
  • FLY_APP_NAME 未设置

生产模式

在以下情况下需要身份验证:

  • NODE_ENV"production"
  • FLY_APP_NAME 已设置(Fly.io部署)

生成安全令牌:

TOKEN=$(openssl rand -base64 32)
echo $TOKEN

Fly.io部署

部署说明

  1. 复制示例配置:
   cp fly.example.toml fly.toml
  1. 编辑fly.toml:

- 设置应用程序名称: app = "your-unique-app-name" - 选择地区: primary_region = "iad" (或离您最近)

  1. 创建Fly.io应用程序:
   flyctl apps create your-unique-app-name
  1. 设置所需的机密:
   # Generate secure bearer token
   flyctl secrets set BEARER_TOKEN="$(openssl rand -base64 32)"

   # Set Z.AI credentials (get from https://z.ai/manage-apikey/apikey-list)
   flyctl secrets set Z_AI_API_KEY="your_z_ai_api_key"
   flyctl secrets set Z_AI_MODE="ZAI"  # or "ZHIPU" depending on platform
  1. 部署:
   flyctl deploy --remote-only
  1. 检查状态:
   flyctl status
  1. 查看日志:
   flyctl logs
  1. 测试端点:
   curl -H "Authorization: Bearer YOUR_BEARER_TOKEN" \
        https://your-app.fly.dev/health

验证步骤

部署后:

  1. 检查运行状况端点: curl https://your-app.fly.dev/health
  2. 验证身份验证: 没有承载令牌的请求应返回401
  3. 测试SSE端点: curl -H "Authorization: Bearer YOUR_TOKEN" https://your-app.fly.dev/sse
  4. 监控日志: flyctl logs 确保Z.AI MCP服务器成功启动
  5. 检查资源使用情况: flyctl status 验证内存/CPU分配

架构图

sequenceDiagram
    participant Client as Roo Code/Kilo Code
    participant Proxy as Fly.io (Auth Proxy)
    participant Gateway as Supergateway
    participant ZAI as Z.AI Vision MCP Server
    participant API as Z.AI API Platform

    Client->>Proxy: Request with Bearer Token
    Proxy->>Proxy: Validate Bearer Token
    Proxy->>Gateway: Forward Request (SSE)
    Gateway->>ZAI: stdio communication
    ZAI->>API: Vision API Call (Z_AI_API_KEY)
    API-->>ZAI: Vision Analysis Result
    ZAI-->>Gateway: MCP Response
    Gateway-->>Proxy: SSE Stream
    Proxy-->>Client: Authenticated Response

Docker部署

  1. 构建并运行:
docker build -t z-ai-vision-mcp .
docker run -p 8080:8080 \
  -e MCP_COMMAND="npx -y @z_ai/mcp-server" \
  -e BEARER_TOKEN="$TOKEN" \
  -e Z_AI_API_KEY="your_api_key" \
  -e Z_AI_MODE="ZAI" \
  z-ai-vision-mcp

监控与调试

结构化日志记录

所有事件都以JSON格式记录,结构如下:

{
  "timestamp": "2025-01-01T00:00:00.000Z",
  "level": "info",
  "category": "mcp-call",
  "phase": "runtime",
  "message": "MCP method: tools/call",
  "data": { "requestId": "abc123", "method": "tools/call" }
}

调试模式

启用详细日志记录:

export DEBUG_LOGGING=true
node server.js

健康监测

监控网关运行状况:

curl http://localhost:8080/health

答复:

{
  "status": "healthy",
  "gatewayReady": true,
  "gatewayExited": false,
  "uptimeMs": 12345
}

故障排除

常见问题

“MCP_COMMAND环境变量是必需的”

  • 设置 MCP_COMMAND 环境变量 npx -y @z_ai/mcp-server

“生产中需要BEARER_TOKEN”

  • 为生产部署生成并设置安全的承载令牌

“网关启动超时”

  • 检查Z_AI_API_KEY和Z_AI_MODE是否设置正确
  • 验证Z.AI API密钥是否有效

“服务不可用:MCP网关已退出”

  • 检查日志中的启动错误
  • 确保Z.AI凭据配置正确

调试步骤

  1. 检查环境变量:
env | grep -E "(MCP_COMMAND|BEARER_TOKEN|Z_AI)"
  1. 启用调试日志记录:
export DEBUG_LOGGING=true
node server.js
  1. 测试健康终点:
curl -v http://localhost:8080/health

安全考虑

  • 在生产中始终使用不记名代币 -该端点可以通过其他方式公开访问
  • 定期旋转令牌 -在部署管道中实现令牌轮换
  • 永远不要泄露秘密 -使用Fly.io机密或环境变量
  • 监控访问日志 -警惕未经授权的访问企图
  • 在生产环境中使用HTTPS -Fly.io提供自动TLS

演出

  • 冷启动处理 -代理在接受请求之前等待MCP服务器启动
  • SSE流媒体 -长期连接得到妥善管理,没有超时
  • 请求缓冲 -HTTP请求被缓冲;SSE响应被流式传输
  • 资源限制 -网关进程有50MB的缓冲区限制,以防止内存问题

代理集成问题

代理未检测到上传功能

  • 验证 resources/list 返回预期值upload://images资源
  • 检查服务器日志中的“资源列表”条目
  • 确保代理使用正确的MCP发现协议

文件转换不起作用

  • 检查文件路径的格式是否正确(绝对路径或相对路径)
  • 验证文件权限和可访问性
  • 在服务器日志中查找“文件转换”条目
  • 确保工具名称与Z.ai Vision工具(ui_to_martifact、analyze_image等)匹配

缺少增强的工具描述

  • 确认原始请求是“工具/列表”
  • 检查“工具增强”日志条目
  • 验证响应是否包含Z.ai Vision工具

大图像上传问题

“上传失败,413有效载荷太大”

  • 文件超过10MB限制
  • 上传前压缩或调整图像大小
  • 检查文件大小: ls -lh /path/to/image.png

“工具调用失败,显示‘通过POST上传/先上传’”

  • 您传递的是本地文件路径,而不是serverPath
  • 首先通过上传文件 POST /upload
  • 使用返回的 serverPath 在您的工具调用中

“上传成功,但工具调用找不到文件”

  • 验证 serverPath 与上传返回的内容完全匹配
  • 检查服务器日志中的文件访问错误
  • 确保文件未被清理(文件将在会话中保留)

“图像分析超时”

  • 非常大的图像(8-10MB)可能需要更长的时间来处理
  • 考虑将图像大小调整到2-5MB,以获得更快的结果
  • 如果超时持续,请检查Z.AI API状态

许可证

麻省理工学院许可证-请随时将此脚手架用于Z.AI Vision MCP服务器部署。

目录标签

目录标签

JavaScript云端部署Docker代理服务器本地部署AI服务部署Bearer认证SSE流式传输文件上传

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP