Mcp Vision Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Vision Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
为 DeepSeek V4 Pro 等无原生视觉能力的模型提供视觉服务的 MCP Server。
v0.2.0 — 现已支持多 Provider(OpenAI、OpenRouter、Groq、自定义端点等),自动按任务类型路由到最优模型。
| 工具 | 功能 |
|---|---|
analyze_image | 图片理解/描述/分类 |
extract_text | OCR 文字提取 |
generate_image | 文生图 |
edit_image | 图片编辑/修复 |
analyze_video | 视频理解/摘要 |
generate_video | 文生视频 |
list_providers | 列出所有已配置的 AI Provider 及模型 |
pip install -e ".[dev]"{
"mcpServers": {
"vision": {
"command": "python",
"args": ["-m", "mcp_vision_server"],
"env": {
"AGNES_API_KEY": "sk-xxx"
}
}
}
}{
"mcpServers": {
"vision": {
"command": "python",
"args": ["-m", "mcp_vision_server"],
"env": {
"VISION_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-xxx"
}
}
}
}{
"mcpServers": {
"vision": {
"command": "python",
"args": ["-m", "mcp_vision_server"],
"env": {
"VISION_PROVIDER": "openai",
"IMAGE_PROVIDER": "agnes",
"VIDEO_PROVIDER": "agnes",
"OPENAI_API_KEY": "sk-openai-xxx",
"AGNES_API_KEY": "sk-agnes-xxx",
"VISION_MODEL": "gpt-4o",
"IMAGE_GEN_MODEL": "dall-e-3"
}
}
}
}{
"mcpServers": {
"vision": {
"env": {
"VISION_PROVIDER": "custom",
"CUSTOM_BASE_URL": "http://localhost:8080/v1",
"CUSTOM_API_KEY": "sk-local-xxx"
}
}
}
}| Provider | 环境变量 | 默认端点 | 能力 |
|---|---|---|---|
| Agnes AI | AGNES_API_KEY | apihub.agnes-ai.com/v1 | Vision, Image Gen, Image Edit, Video |
| OpenAI | OPENAI_API_KEY | api.openai.com/v1 | Vision, Image Gen, Image Edit |
| OpenRouter | OPENROUTER_API_KEY | openrouter.ai/api/v1 | Vision, Image Edit |
| Groq | GROQ_API_KEY | api.groq.com/openai/v1 | Vision |
| 自定义 | CUSTOM_API_KEY + CUSTOM_BASE_URL | 自定 | 全部 |
| 变量 | 说明 | 默认值 |
|---|---|---|
VISION_PROVIDER | 默认 Provider 名称 | 自动检测 |
IMAGE_PROVIDER | 图片任务专用 Provider | 跟随 VISION_PROVIDER |
VIDEO_PROVIDER | 视频任务专用 Provider | 跟随 VISION_PROVIDER |
PROVIDER_FALLBACK | 备选 Provider 列表(逗号分隔) | — |
| 变量 | 适用工具 | 说明 |
|---|---|---|
VISION_MODEL | analyze_image, extract_text | 视觉理解模型 |
IMAGE_GEN_MODEL | generate_image | 文生图模型 |
IMAGE_EDIT_MODEL | edit_image | 图片编辑模型 |
VIDEO_ANALYSIS_MODEL | analyze_video | 视频分析模型 |
VIDEO_GEN_MODEL | generate_video | 视频生成模型 |
| 变量 | 必填 | 默认值 |
|---|---|---|
AGNES_API_KEY | 否* | — |
AGNES_BASE_URL | 否 | https://apihub.agnes-ai.com/v1 |
AGNES_DEFAULT_MODEL | 否 | agnes-2.0-flash |
AGNES_TIMEOUT | 否 | 120 |
AGNES_MAX_RETRIES | 否 | 3 |
*如果只使用 Agnes 而不设置其他 Provider,则 AGNES_API_KEY 为必填。
| 变量 | 说明 |
|---|---|
OPENAI_API_KEY | OpenAI API Key |
OPENROUTER_API_KEY | OpenRouter API Key |
GROQ_API_KEY | Groq API Key |
CUSTOM_API_KEY | 自定义端点 API Key |
CUSTOM_BASE_URL | 自定义端点地址 |
工具调用时,Provider 选择优先级为:
provider 参数IMAGE_PROVIDER=agnesVISION_PROVIDER 的值配置完成后,在 Claude Code 中直接使用:
analyze_imageextract_textgenerate_imageanalyze_videolist_providerspython -m pytest tests/ -v本仓库同时包含 MCP Hub(一个管理多个 MCP Server 的 Web 平台),采用 pnpm + turbo monorepo:
apps/
├── api/ # Fastify 5 后端(JWT + WebSocket + Bullmq 队列)
└── web/ # React 18 + Vite 7 + Tailwind 4 前端
packages/
├── data/ # Prisma 数据层(PostgreSQL)
└── shared/ # 跨端共享类型
docker-compose.yml # PostgreSQL 17 + Redis 7提供三个脚本(位于 scripts/):
| 脚本 | 用途 |
|---|---|
scripts/deploy.sh | 全新部署:装环境 → 起数据库 → 构建 → 启动 → Caddy 反代 |
scripts/update.sh | 更新代码:拉取 → 依赖 → 构建 → 重启(保留 .env 和数据) |
scripts/uninstall.sh | 卸载:停止服务。--purge 彻底删除代码和数据 |
#### 适用环境
脚本针对自托管云服务器设计(已在阿里云上海验证):
#### 部署步骤
# 1. 克隆仓库(国内服务器推荐用 Gitee,速度快)
git clone https://gitee.com/rosecat2359/mcp-vision-server.git /opt/mcp-hub
# 或从 GitHub 克隆
# git clone https://github.com/rosecat2359/mcp-vision-server.git /opt/mcp-hub
cd /opt/mcp-hub
# 2. 执行部署(替换 你的域名)
sudo DOMAIN=你的域名 bash scripts/deploy.sh部署脚本会自动完成:swap、ufw、Node 20、Docker、Caddy、pnpm、pm2、Prisma、构建、反向代理、HTTPS 证书签发。
#### 未备案服务器(大陆节点)
ICP 备案要求年满 18 周岁。若无法备案,脚本默认使用 8443 端口绕过 80/443 拦截:
https://你的域名:8443部署脚本自动生成(写入 apps/api/.env,首次生成后不覆盖):
| 变量 | 说明 |
|---|---|
DATABASE_URL | PostgreSQL 连接串(默认 postgresql://mcp_hub:mcp_hub_dev@localhost:5432/mcp_hub) |
REDIS_URL | Redis 连接串(默认 redis://localhost:6379) |
ENCRYPTION_MASTER_KEY | 64 位 hex,加密存储的 MCP server 凭据。丢失则已存凭据无法解密 |
JWT_SECRET | JWT 签名密钥(≥32 字符,自动生成 64 hex) |
JWT_REFRESH_SECRET | Refresh Token 签名密钥(≥32 字符,自动生成 64 hex) |
CORS_ORIGIN | 前端地址,默认 https://域名:8443 |
PORT | API 监听端口,默认 3001 |
HOST | 监听地址,默认 0.0.0.0 |
⚠️ 务必备份 `ENCRYPTION_MASTER_KEY`,服务器重装或迁移时需用同一密钥才能解密数据库中的凭据。
# 更新到最新代码
sudo bash scripts/update.sh
# 标准卸载(保留代码和数据)
sudo bash scripts/uninstall.sh
# 彻底卸载(删除代码 + 数据库数据,不可逆)
sudo bash scripts/uninstall.sh --purgepm2 logs mcp-hub-api # 查看后端日志
pm2 restart mcp-hub-api # 重启后端
docker ps # 查看数据库容器
journalctl -u caddy -f # 查看 Caddy/HTTPS 日志
docker compose logs -f # 查看数据库日志如不自行部署,也可用托管服务:
apps/web,Framework Preset = Vite注意:Vercel Hobby 计划不可商用;Railway 无长期免费计划。
pnpm install
pnpm docker:up # 启动本地 PostgreSQL + Redis
pnpm db:generate && pnpm db:push
pnpm dev # 同时启动前端 (5173) 和后端 (3001)
pnpm test # 运行测试
pnpm build # 构建所有包pip install -e ".[dev]"
python -m pytest tests/ -v~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.