Skip to main content
Glama

Vision MCP

視覚能力を持たない LLM(GLM など)でも、Claude Code / Codex で画像を処理できるようにします。

動作原理

メインモデルが画像に遭遇すると、この MCP が提供する describe_image ツールを呼び出します:

  1. ツールがローカルの画像ファイルを読み取ります

  2. 設定したビジョンモデル(Qwen-VL / GPT-4o / GLM-4V / Doubao など、任意の OpenAI 互換 API)を呼び出します

  3. メインモデルにテキストによる説明を返します

  4. メインモデルはそのテキストに基づいて推論を続けます

メインモデルは画像のバイナリデータに一切触れないため、テキストのみのモデルでも利用できます。

このプロジェクトはサードパーティ依存ゼロ(純粋な Python 標準ライブラリのみ)で、Python 3.8+ で動作し、pip インストールは不要です。

Related MCP server: Image-Vision MCP Server

ワンクリックインストール

git clone https://github.com/Ruiba0/Vision-MCP.git
cd vision-mcp
python3 install.py

Windows には python3 コマンドがないため、python install.py を使用してください。以降の python3 も同様です。

インストールスクリプトは対話形式で以下を実行します:

  • ビジョンモデルの base URL / モデル名 / API key を入力させます(一般的なベンダーの参考例付き)

  • MCP を Claude Code に登録します(claude mcp add)

  • MCP を Codex に登録します(~/.codex/config.toml に書き込み)

  • ~/.claude/CLAUDE.md と ~/.codex/AGENTS.md に画像処理ルールを追加します

スクリプトは冪等で、繰り返し実行できます。

手動インストール

インストールスクリプトを使いたくない場合:

  1. ビジョンモデルを設定

    config.example.json を config.json にコピーし、ビジョンモデルの設定を記入します:

    {
      "vision_api_base": "https://dashscope.aliyuncs.com/compatible-mode/v1",
      "vision_model": "qwen-vl-max",
      "vision_api_key": "sk-你的key",
      "max_image_bytes": 10485760
    }
  2. Claude Code に登録

    claude mcp add --scope user vision -- python3 /绝对路径/server.py

    --scope user を付けるとグローバルで利用できます(付けない場合は現在のディレクトリのみで有効です)。

  3. Codex に登録

    ~/.codex/config.toml を編集し、以下を追加します:

    [mcp_servers.vision]
    command = "python3"
    args = ["/绝对路径/server.py"]
  4. 画像処理ルールを追加

    ~/.claude/CLAUDE.md と ~/.codex/AGENTS.md に以下を追加します(メインモデルが画像に遭遇したときにツールを自発的に呼び出すようにするため):

    ## 图片处理
    
    当用户提到图片文件路径(.png/.jpg/.jpeg/.gif/.webp/.bmp),或要求查看/分析/识别某个图片文件时:
    
    - 先判断当前主模型自身是否具备视觉能力
    - 具备视觉(如 Claude Sonnet/Opus、GPT-4o、Qwen-VL 等多模态模型)→ 直接读取图片并分析
    - 不具备视觉(如 GLM 等纯文本模型)→ 调用 vision MCP 的 describe_image 工具,传入图片路径和问题
    - 不确定自身是否支持视觉时,默认调用 describe_image 工具作为兜底
    - 用户明确要求"用 MCP 看"或"调视觉模型"时,无论主模型是否支持视觉,都调用 describe_image 工具

対応ビジョンモデル

OpenAI 互換プロトコルのビジョンモデルであればどれでも使用できます:

プラットフォーム

vision_api_base

vision_model

Qwen-VL (Alibaba DashScope)

https://dashscope.aliyuncs.com/compatible-mode/v1

qwen-vl-max

GLM-4V (Zhipu AI)

https://open.bigmodel.cn/api/paas/v4

glm-4v-plus

GPT-4o (OpenAI)

https://api.openai.com/v1

gpt-4o

Doubao (Volcano Engine)

https://ark.cn-beijing.volces.com/api/v3

doubao-1.5-vision-pro

Anthropic ネイティブプロトコル(Claude など)を使用する場合は、vision_client.py を自分で修正する必要があります。現在は OpenAI 互換プロトコルのみをサポートしています。

使用方法

インストール完了後、Claude Code / Codex を再起動し、会話で次のように指示します:

  • "~/Desktop/diagram.png の画像を見てください"

  • "~/Screenshots/error.jpg のエラーを分析してください"

  • "~/Documents/notes/page1.jpeg 内のすべての文字を認識してください"

(Windows の場合、パスは D:/temp/diagram.png のような形式になります。お使いのシステムに合わせて記述してください)

メインモデルが自動的に describe_image ツールを呼び出し、ツールがビジョンモデルのテキストによる説明を返すと、メインモデルはその説明に基づいて回答を続けます。

ツールのパラメータ

describe_image(path: str, question: str = "详细描述这张图片的内容") -> str

  • path:画像ファイルの絶対パス。png/jpg/jpeg/gif/webp/bmp に対応

  • question:ビジョンモデルに尋ねたい質問。シーンに応じて調整できます("文字認識"、"レイアウト説明"、"グラフ分析" など)

プロジェクト構成

vision-mcp/
├── server.py              # MCP 服务(内置 stdio JSON-RPC 实现,无 SDK 依赖)
├── vision_client.py       # 视觉模型调用(OpenAI 兼容协议,urllib 实现)
├── config.example.json    # 配置模板(提交到 git)
├── config.json            # 你的实际配置(gitignored)
├── install.py             # 一键安装脚本
└── README.md

よくある質問

Q: 呼び出し時に 视觉模型连接失败 というエラーが出る vision_api_base のパスが正しいか確認してください。ツールは base URL の後ろに /chat/completions を連結するため、base URL には /chat/completions の接尾辞を含めないでください。

Q: 呼び出し時に HTTP 401 が返る API key が無効であるか、そのモデルの権限がありません。vision_api_key と vision_model が対応するプラットフォームと一致しているか確認してください。

Q: メインモデルがツールを自発的に呼び出さない CLAUDE.md / AGENTS.md に画像処理ルールが追加されているか確認してください。ルール内のキーワード(画像、表示、分析)が、メインモデルに describe_image の呼び出しを促します。

Q: ビジョンモデルを変更したい config.json の 3 つのフィールドを編集するだけで、コードを変更する必要はありません。または python3 install.py を再実行して再設定してください。

依存

  • Python 3.8+(標準ライブラリのみ。pip でパッケージをインストールする必要はありません)

License

MIT

Related MCP Connectors

Related MCP Servers