Skip to main content
Glama
LxyMp
by LxyMp

reasonix-vision-mcp

Vision Bridge MCP Server — 让纯文本模型通过 MCP 调用视觉模型来"看到"图片。

支持任意 OpenAI 兼容的视觉 API(SiliconFlow / GPT-4o / Qwen-VL 等),含图片压缩功能。

⚠️ 注意: 本项目基于 SiliconFlow 平台在 Reasonix 中测试通过,其余平台/客户端未做完整测试,可能存在兼容性问题。

工具

工具

说明

describe_image

描述图片内容。支持本地图片路径或公网 URL

compress_image

压缩本地图片文件

v

版本信息(仅查看,不调用)

describe_image 参数

参数

必填

说明

image

图片路径:本地绝对路径或公网 URL

prompt

自定义描述指引,如"分析这个UI界面"

detail

视觉精度,默认 auto。传什么就用什么,直接透传给 API

compress_image 参数

参数

必填

默认值

说明

image

图片绝对路径

maxWidth

800

最大宽度(像素)。仅在不指定 maxSize 时生效

maxSize

目标大小,如 "1M""500KB""200K"

指定 maxSize 时,工具会二分逼近压缩到目标大小以内,绝不超出。

Related MCP server: multimodal-mcp

安装

方式一:npx(推荐)

{
  "mcpServers": {
    "reasonix-vision-mcp": {
      "command": "npx",
      "args": ["-y", "reasonix-vision-mcp"],
      "env": {
        "VISION_API_KEY": "sk-your-key",
        "VISION_BASE_URL": "https://api.siliconflow.cn/v1",
        "VISION_MODEL": "Qwen/Qwen3.5-35B-A3B",
        "VISION_DETAIL": "auto"
      }
    }
  }
}

方式二:直接运行

node dist/src/index.js

环境变量

变量

必填

默认值

说明

VISION_API_KEY

视觉模型的 API Key

VISION_BASE_URL

https://api.openai.com/v1

OpenAI 兼容 API 地址

VISION_MODEL

Qwen/Qwen3.5-35B-A3B

视觉模型名称

VISION_DETAIL

auto

视觉精度,默认 auto。显式声明什么就传什么,不做校验

VISION_OUTPUT_DIR

./vision-output

compress_image 输出目录

许可证

MIT

Available Tools

3 tools
compress_imageA

压缩本地图片文件,缩小体积便于传输或识别。依赖 macOS sips 命令。支持两种模式:(1) 按宽度缩放(默认 800px);(2) 按目标文件大小压缩(如 "1M"),使用迭代二分逼近算法严格控制在不超出目标大小。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYes本地图片的绝对路径
maxSizeNo目标文件大小限制,例如 "1M"(1MB)、"500KB"、 "200K"。指定后会自动迭代压缩至目标大小以内,绝不超出。不传则按 maxWidth 缩放。
maxWidthNo最大宽度像素(默认: 800)。仅在不指定 maxSize 时生效。

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the macOS sips dependency and the iterative binary approximation algorithm for size control, which are valuable. However, it omits whether the original file is modified or a new file created, supported formats, and error behavior in case of failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences covering all key aspects without fluff. It uses bullet-point-style enumeration for clarity and prioritizes the most important usage modes prominently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks information about the return value or output (e.g., path to compressed file), acceptable formats, and side effects. Given no output schema, the description should fill this gap to be fully complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the default width (800px), the target size format (e.g., '1M'), and the iterative algorithm for maxSize. This enriches parameter understanding without being redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it compresses local image files, names the dependency (macOS sips), and enumerates two distinct modes: width-based and target-size-based. This specificity distinguishes it from sibling tools like 'describe_image' which serves a different purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use each mode (maxWidth vs maxSize) but does not explicitly contrast with sibling tools or state when to choose compression over other operations. The context is clear for the tool's internal options but lacks tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_imageB

使用视觉模型描述一张图片的内容。支持传入本地绝对路径或公网 URL,自动识别路径类型并处理。适合分析 UI 界面、提取图片中的文字、识别物体和场景等。

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYes图片路径:本地绝对路径(如 /Users/name/Pictures/photo.jpg)或公网 URL(如 https://example.com/image.png)
detailNo视觉精度,默认 auto。传什么就用什么,直接透传给 API。
promptNo可选的描述指引,例如"描述这张图片中的文字"或"分析这个UI界面布局和交互元素"

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It adds valuable behavioral detail (auto-detection of local path vs URL) but lacks information on error handling, performance, or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and front-loaded with the core purpose. It could be slightly more compressed, but it is clear and efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description does not explain the return value format or content. While input handling and use cases are covered, this gap reduces completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description primarily restates parameter purposes. It adds no additional semantics, examples, or clarifications beyond what the input schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (describe) and resource (image content) with specific use cases. However, it does not explicitly differentiate from sibling tools like compress_image and v, which reduces clarity slightly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists suitable use cases (UI analysis, text extraction, object recognition) but does not specify when to avoid using the tool or compare with alternatives. Usage guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vA

版本信息。任何情况下都不调用此工具。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states the tool provides version information and should not be called, but gives no details about what happens if called (e.g., error, return format) or why it is prohibited. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short statements, front-loading the purpose. Every sentence is necessary and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool being simple with no parameters and no output schema, the description lacks justification for the 'do not call' directive and does not explain what version information is returned. The agent is left with incomplete context to understand the tool's intended role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description cannot add parameter semantics. With 0 parameters, the baseline is 4, and the description does not detract from this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states '版本信息' (version information), clearly indicating the tool returns version details. It is distinct from sibling tools (compress_image, describe_image) which handle image operations. However, it lacks a verb to make it fully actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says '任何情况下都不调用此工具' (Do not call this tool under any circumstances), providing a strong and clear usage guideline for when not to use it. This is precise and leaves no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.1
    • First observedcompress_image
    • First observeddescribe_image
    • First observedv

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: compress_image compresses images, describe_image analyzes them, and v provides version info. No overlap or confusion.

Naming Consistency4/5

Two tools follow verb_noun snake_case pattern, but v is an outlier as a single-letter name. Mostly consistent with one minor deviation.

Tool Count5/5

Three tools is well-scoped for a vision utility covering compression, description, and version info. Not too many or too few.

Completeness4/5

The tool set covers core image handling tasks (compression and description) but lacks features like format conversion or batch processing, which are reasonable extensions.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers