Safe Vision MCP

Safe Vision MCP

Safe Vision MCP enables safe and efficient local image inspection by generating thumbnails, contact sheets, and statistics, avoiding large images in LLM context.

Category
Visit Server

README

Safe Vision MCP

通过 MCP 安全、高效地查看本地图片,避免把大图片直接塞进主模型上下文。

Safe Vision MCP 可以生成缩略图、联系表、图片统计信息、清单文件,以及可选的视觉模型描述。工具返回的结果只包含路径和简短文本,不会返回图片字节、base64 或 data URL。

为什么需要它?

大截图和批量图片很容易占满 LLM 的上下文窗口。Safe Vision MCP 通过以下方式保持上下文轻量:

  • 将派生文件写入本地磁盘;
  • 只返回文件路径、数量、统计信息和简短描述;
  • 使用缩略图和联系表快速浏览图片;
  • 在 MCP 服务器内部,每次最多只向视觉模型发送一张原图或派生图。

工具列表

工具 用途
review_images 对指定图片路径或目录进行一站式批量审查
inspect_image 查看单张图片的尺寸、基础统计信息和缩略图
prepare_image_batch 生成缩略图、联系表、特征 CSV 和 manifest
make_contact_sheet 为指定图片生成联系表
sample_images 从目录中确定性地抽取代表性图片

环境要求

  • Node.js 18+
  • Python 3.10+
  • Python 包:Pillow
npm install
python -m pip install -r requirements.txt

MCP 配置示例

[mcp_servers.safe_vision]
command = "node"
args = ["/absolute/path/to/safe-vision-mcp/src/server.js"]
cwd = "/absolute/path/to/safe-vision-mcp"
type = "stdio"
startup_timeout_sec = 20
tool_timeout_sec = 3600

[mcp_servers.safe_vision.env]
SAFE_VISION_PYTHON = "python"
SAFE_VISION_OPENAI_BASE_URL = "https://api.openai.com/v1"
SAFE_VISION_MODEL = "gpt-5.4-mini"
SAFE_VISION_OPENAI_API_KEY_ENV = "OPENAI_API_KEY"

如需使用 OpenAI 兼容服务,请配置:

  • SAFE_VISION_OPENAI_BASE_URL
  • SAFE_VISION_MODEL
  • SAFE_VISION_OPENAI_API_KEYSAFE_VISION_OPENAI_API_KEY_ENV

不要将私有接口地址、模型别名、.env 文件或 API Key 提交到公开仓库。

环境变量

名称 默认值 作用
SAFE_VISION_PYTHON py Node MCP 服务器调用的 Python 启动器
SAFE_VISION_OPENAI_API_KEY 视觉模型服务的直接 API Key
SAFE_VISION_OPENAI_API_KEY_ENV 指向 API Key 的环境变量名
OPENAI_API_KEY 备用 API Key
SAFE_VISION_OPENAI_BASE_URL https://api.openai.com/v1 OpenAI 兼容 Responses API 地址
OPENAI_BASE_URL 备用 API 地址
SAFE_VISION_MODEL gpt-4.1-mini MCP 服务器内部使用的视觉模型
SAFE_VISION_HTTP_TIMEOUT_SECONDS 300 单张图片的视觉模型请求超时
SAFE_VISION_REVIEW_BASE_TIMEOUT_MS 120000 review_images 的基础超时
SAFE_VISION_REVIEW_PER_IMAGE_TIMEOUT_MS 300000 review_images 每张图片的额外超时

视觉输入策略

启用视觉模型描述时,MCP 服务器会向配置的视觉服务发送以下图片之一:

  • 原图:当图片格式为 JPEG/PNG/WebP、长边 <= 2048px、文件大小 <= 8MB
  • 派生 JPEG:保存在 vision_inputs/ 下,长边缩放到 2048px,应用 EXIF 方向,质量为 90

无论哪种模式,MCP 返回结果仍然只包含路径、文本、数量和紧凑统计信息。

输出内容

review_images 会生成:

descriptions.json
manifest.json
features.csv
thumbnails/
sheets/
vision_inputs/   # 可选

每条图片描述包含:

  • index
  • path
  • filename
  • thumbnail_path
  • description_source
  • description
  • features

语义输出统一放在单个 description 字符串中,没有单独的 observation 对象。

隐私说明

  • MCP 响应永远不会包含图片字节、base64 字符串或 data URL。
  • 视觉模式只会把图片内容发送给你在私有环境变量中配置的服务商。
  • 启发式模式不会调用远程模型,只在本地生成派生文件。
  • 请勿提交 .env、私有 MCP 配置、私有 base URL、模型别名或 API Key。

快速测试

node --check src/server.js
python -m py_compile src/vision_tools.py

如需在不调用远程模型的情况下测试,可以在 MCP 客户端中调用 review_images,并设置:

{
  "describe_mode": "heuristic"
}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured