Skip to main content
Glama

glm-vision-mcp

智譜 GLM-4.6V-Flash(無料ビジョンモデル)をラップする MCP サーバーで、任意の MCP クライアントに analyze_image ツールを公開し、単一画像/複数画像の分析、OCR、複数画像の比較をサポートします。

特性

能力

説明

画像分析

ローカルパス / http(s) URL / base64 data URI のいずれも対応、自動的に data URI に変換

複数画像比較

複数の画像を一度に渡し、プロンプトに従って比較分析

レート制限耐性

429 / 1302 / 1305 指数バックオフ再試行 → 複数キーのラウンドロビン → 代替モデル glm-4.1v-thinking-flash にフォールバック

設定自己チェック

check_config ツールで Key/モデル/エンドポイントを確認、Key を漏らさない

Related MCP server: vision-mcp

環境要件

  • Python >= 3.10

  • 智譜オープンプラットフォームの API Key(https://open.bigmodel.cn/usercenter/apikeys)、glm-4.6v-flash は無料

  • レート制限の確率をさらに下げたい場合は、複数のアカウントを登録してそれぞれ Key を取得し、設定時にカンマ(英文)で区切ります

インストール

cd glm-vision-mcp
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt

起動

# stdio 模式(MCP 客户端默认方式)
$env:ZHIPU_API_KEY = "你的Key"
.venv\Scripts\python server.py

# SSE 调试模式(无鉴权,仅限本机)
.venv\Scripts\python server.py --sse 8090

クライアント設定

Codex(~/.codex/config.toml)

[mcp_servers.glm-vision]
command = "C:\\绝对路径\\glm-vision-mcp\\.venv\\Scripts\\python.exe"
args = ["C:\\绝对路径\\glm-vision-mcp\\server.py"]

[mcp_servers.glm-vision.env]
ZHIPU_API_KEY = "你的Key"
# GLM_VISION_MODELS = "glm-4.6v-flash"
# GLM_API_BASE = "https://open.bigmodel.cn/api/paas/v4/chat/completions"

Claude Desktop(claude_desktop_config.json)

{
  "mcpServers": {
    "glm-vision": {
      "command": "C:\\绝对路径\\glm-vision-mcp\\.venv\\Scripts\\python.exe",
      "args": ["C:\\绝对路径\\glm-vision-mcp\\server.py"],
      "env": { "ZHIPU_API_KEY": "你的Key" }
    }
  }
}

ツールインターフェース

analyze_image(images, prompt, temperature, max_tokens, thinking)

パラメータ

型

必須

説明

images

string[]

はい

ローカルパス / http(s) URL / data URI

prompt

string

いいえ

分析要件、デフォルトは「この画像の内容を詳しく説明してください」

temperature

number

いいえ

0.0~1.0、デフォルト 0.7

max_tokens

integer

いいえ

最大出力トークン、デフォルト 2048

thinking

boolean

いいえ

深い思考モード、デフォルト false

環境変数

変数

必須

説明

ZHIPU_API_KEY

はい

智譜 API Key、カンマ区切りで複数 Key のラウンドロビンをサポート

GLM_VISION_MODELS

いいえ

モデルの優先順位、カンマ区切り、デフォルトは glm-4.6v-flash,glm-4.1v-thinking-flash

GLM_API_BASE

いいえ

API エンドポイントを上書き

注意事項

  • ローカル画像は1枚あたり ≤ 10MB、jpg/jpeg/png/webp/gif/bmp に対応

  • 無料モデルはピーク時にレート制限される可能性があります。すべての Key + すべてのモデルが制限された場合のみエラーになります。15~30 秒待ってピークを避けて再試行してください

  • 401/400 などのレート制限以外のエラーはフォールバックも再試行もせず、そのまま返すため、設定問題の特定に役立ちます

検証

# 离线检查(不联网)
.venv\Scripts\python test_smoke.py

# 联网冒烟:MCP 握手 + analyze_image 真实调用
$env:ZHIPU_API_KEY = "你的Key"
.venv\Scripts\python test_smoke.py --live

Available Tools

2 tools
analyze_imageA

调用智谱 GLM-4.6V-Flash 分析一张或多张图片。

适用:图片描述、OCR 文字提取、表格/图表解析、UI 截图理解、多图对比等。

Args: images: 图片列表,每项是本地文件路径、http(s):// URL 或 base64 data URI。 prompt: 对图片的提问或分析指令,如 “提取图中所有文字,保留排版顺序”。 temperature: 采样温度 0.0~1.0,越小越确定,默认 0.7。 max_tokens: 最大输出 token 数,默认 2048。 thinking: 是否开启深度思考(返回附带思考过程),默认 False。

Returns: dict,含 model / content(/ reasoning / elapsed_ms)字段;失败抛异常。

NameRequiredDescriptionDefault
imagesYes
promptNo请详细描述这张图片的内容。
thinkingNo
max_tokensNo
temperatureNo

TDQS

A4.5/5.0
Behavior4/5

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

无注解,描述承担了行为透明度责任。它说明了返回 dict 含 model/content/reasoning/elapsed_ms 字段、失败时会抛异常、thinking 开启时附带思考过程。但未提及图片格式/大小限制、网络依赖或外部 API 调用风险,留有轻微缺口。

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?

描述采用目的/适用/Args/Returns 分段,结构清晰、无冗余。示例 prompt“提取图中所有文字,保留排版顺序”提供了额外价值,且整体长度适中。

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

Completeness4/5

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

对于 5 参数、无输出 schema、无注解的工具,描述覆盖了所有参数、返回值、异常行为和使用场景,已相当完整。但缺少图片大小限制、网络连接要求等边界条件,存在小幅遗漏。

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

Parameters5/5

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

Schema 描述覆盖率为 0%,描述完全补偿了这一点:images 明确支持本地路径、URL、base64;prompt 给出语义和示例;temperature 说明范围与确定性影响;max_tokens 和 thinking 均给出默认值和含义。参数解释远远超出 schema 标题。

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?

描述明确以“调用智谱 GLM-4.6V-Flash 分析一张或多张图片”给出具体动词、资源和模型,并列出图片描述、OCR、表格解析等使用场景,与兄弟工具 check_config 区分明显。目的清晰且无歧义。

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

Usage Guidelines4/5

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

描述提供了“适用:图片描述、OCR 文字提取、表格/图表解析、UI 截图理解、多图对比等”场景列表,说明何时使用。但未明确点名替代工具或给出“不要用于……”的排除条件;不过兄弟工具仅 check_config,上下文已足够区分。

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

check_configA

检查 MCP 配置是否就绪(不泄露 Key 本体)。

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries full responsibility. It adds value by stating that the key itself is not leaked, which addresses a security concern. However, it does not clarify side effects, read-only nature, or error behavior, leaving some transparency gaps.

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 a single, clear sentence with no unnecessary words. It efficiently conveys the core functionality and a key constraint, earning a perfect score for conciseness.

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

Completeness4/5

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

Given the simplicity (no parameters, no output schema, low complexity), the description is reasonably complete. It states the purpose and a safety constraint, though it could mention what 'ready' means or the expected output format. Still, it suffices for a basic config check.

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 tool has no parameters, and the schema coverage is 100% (empty). According to the baseline for 0 parameters, a score of 4 is appropriate. The description does not need to add param details as there are none.

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 the tool's purpose: checking MCP configuration readiness, while explicitly noting that it avoids leaking the key. It is distinct from the sibling tool 'analyze_image' which focuses on image analysis.

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 implies usage for verifying configuration, but it does not explicitly state when to use this tool over others (e.g., 'use when needing to verify config'). Given the minimal sibling set, it is somewhat clear, but lacks explicit guidance.

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. 2 tool updatesv1.0.0
    • First observedanalyze_image
    • First observedcheck_config

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are completely distinct: analyze_image handles all image analysis tasks while check_config verifies setup. There is zero overlap or ambiguity in their purposes.

Naming Consistency5/5

Both tools follow the consistent verb_noun snake_case convention—analyze_image and check_config. The pattern is clean and predictable, matching the higher-scoring examples.

Tool Count3/5

With only 2 tools in a server, the count falls into the 'feels thin' category. While the core vision analysis capability is covered by a single tool, the overall server feels minimal and could reasonably be expected to have a few more supporting tools to feel substantial.

Completeness4/5

The single analysis tool fully covers the core domain of image description, OCR, and chart parsing—no obvious dead ends for standard usage. The config check provides useful operational support. Minor gaps like batch processing or model inquiry are absent but not critical for the stated scope.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Multi-model vision understanding MCP server that provides unified image analysis for AI assistants without native vision, supporting models like GLM-4.6V, DeepSeek-OCR, Qwen3-VL-Flash, and more.
    1
    1,048 npm
    115
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for analyzing images using multiple vision LLM providers (OpenCode, OpenAI, Anthropic, Google, and custom OpenAI-compatible endpoints). Provides tools to analyze single or multiple images, list providers, and test vision capabilities.
    MIT