Skip to main content
Glama
vibe-token

DeepSeek Vision MCP Server

by vibe-token

DeepSeek Vision MCP Server

A DeepSeek vision MCP server built with FastMCP, implementing the three image-input interfaces from the official vision guide for MCP clients such as opencode.

  • Model: deepseek-v4-flash-vision-exp

  • API: OpenAI-compatible format, base_url = https://api.deepseek.com

中文文档请参见 README.zh.md

Interfaces

Tool

Method

Description

analyze_local_image(image_path, prompt, detail)

1. Base64 inline

Reads a local image, encodes it as a data URL embedded in the request; max 32 MiB per image

analyze_image_url(image_url, prompt, detail)

2. External URL

Passes a public http(s) link downloaded by the server; URL ≤ 8192 chars

analyze_file_id(file_id, prompt)

3. Files API

References an uploaded file's file_id; up to 64 MiB per image, reusable across requests

upload_image(image_path)

Files API helper

Uploads a local image (purpose=user_data), returns a file-api-... file_id

detail options: low (resized to 512×512, faster and cheaper), high, original, auto.

Related MCP server: Look At Pic MCP

Installation

mkdir %HOMEPATH%\mcp\DeepSeek
python -m venv %HOMEPATH%\mcp\DeepSeek\.venv
%HOMEPATH%\mcp\DeepSeek\.venv\Scripts\pip install -r %HOMEPATH%\mcp\DeepSeek\requirements.txt

Dependencies are pinned in requirements.txt: fastmcp==3.4.7, openai==3.3.1.

Configuration

Add the following to the mcp section of %HOMEPATH%\.config\opencode\opencode.jsonc:

"deepseek-vision": {
  "type": "local",
  "command": ["C:\\Users\\%USERNAME%\\mcp\\DeepSeek\\.venv\\Scripts\\python",
    "C:\\Users\\%USERNAME%\\mcp\\DeepSeek\\server.py"],
  "enabled": true,
  "environment": {
    "DEEPSEEK_API_KEY": "<your DeepSeek API key>"
  }
}

Get your API key from the DeepSeek Platform.

Usage Examples

Once configured, you can simply ask in conversation:

  • "Use analyze_local_image to describe what's in D:\pics\screenshot.png"

  • "Use analyze_image_url to look at https://example.com/photo.jpg and describe the scene"

  • "First upload big_photo.png with upload_image, then use analyze_file_id to read the text in it"

Limits Cheat Sheet

Limit

Value

Supported formats

JPEG, PNG, GIF, WebP

Request body size (inline)

48 MiB

Single image (base64 / external URL)

32 MiB

Single image (Files API)

64 MiB

External URL length

8192 characters

Max images per request

600

Notes:

  • Images may only appear in user messages; images in system / assistant messages return 400.

  • Only the vision model accepts images; other models return "This model does not support image".

  • Every image is resized before entering the model; a single image consumes at most ~384 tokens.

Verification

%HOMEPATH%\mcp\DeepSeek\.venv\Scripts\python %HOMEPATH%\mcp\DeepSeek\server.py

No errors means the server starts fine in stdio mode (actual calls require DEEPSEEK_API_KEY configured).

Related MCP Connectors

Related MCP Servers