Skip to main content
Glama
kira4094

Qwen Vision MCP Server

by kira4094
README.md
# Qwen Vision MCP Server

MCP server for Alibaba Qwen3.7-plus (multimodal vision model), connected via DashScope's **Anthropic-compatible** endpoint.

## Features

- Single tool: `qwen_vision_understand` — analyze an image with Qwen3.7-plus
- Supports local image files (png/jpg/jpeg/gif/webp/bmp) and remote URLs
- Same Anthropic Messages API format as Claude
- Token usage reported back in each response

## Requirements

- Node.js >= 18
- A DashScope API key — get one at https://dashscope.console.aliyun.com/apiKey

## Install

```bash
cd qwen-vision-mcp-server
npm install
```

## Configuration

Environment variables:

| Variable | Required | Default | Description |
|---|---|---|---|
| `DASHSCOPE_API_KEY` | ✅ | — | Your DashScope API key |
| `QWEN_MODEL` | | `qwen3.7-plus` | Model name (e.g. `qwen-vl-plus`, `qwen3-vl-plus`) |
| `QWEN_BASE_URL` | | `https://dashscope.aliyuncs.com/apps/anthropic/v1/messages` | Override endpoint |
| `QWEN_MAX_TOKENS` | | `4096` | Default max output tokens |

## Run locally

```bash
DASHSCOPE_API_KEY=sk-xxx npm start
```

## CC-Switch / Claude Code config

```json
{
  "mcpServers": {
    "qwen-vision": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c", "npx", "-y", "qwen-vision-mcp-server"],
      "env": {
        "DASHSCOPE_API_KEY": "sk-your-dashscope-key",
        "QWEN_MODEL": "qwen3.7-plus"
      }
    }
  }
}
```

Or if installed locally:
```json
{
  "mcpServers": {
    "qwen-vision": {
      "type": "stdio",
      "command": "node",
      "args": ["E:/Projects/Claude/MCP/qwen/qwen-vision-mcp-server/src/index.js"],
      "env": {
        "DASHSCOPE_API_KEY": "sk-your-dashscope-key"
      }
    }
  }
}
```

## Tool: `qwen_vision_understand`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `image` | string | ✅ | Local file path or HTTP(S) URL |
| `prompt` | string | ✅ | What to ask about the image |
| `max_tokens` | number | | Max output tokens (default 4096) |
| `temperature` | number | | 0-2, default 1 |

Example:
```
Use qwen_vision_understand to analyze this UI mockup: 
/Users/me/Downloads/login-page.png
"Recreate this as HTML with Tailwind CSS"
```

## License

MIT

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion or overlap.

Naming Consistency5/5

The single tool follows a clear verb_noun pattern (qwen_vision_understand), consistent with common MCP naming conventions.

Tool Count2/5

A vision MCP server typically requires multiple specialized tools (e.g., describe, analyze, compare) rather than a single monolithic tool. One tool feels under-scoped for the domain.

Completeness3/5

The single tool covers a broad range of vision tasks (UI analysis, charts, documents), but lacks structured decomposition into separate operations, which limits granularity and may cause agent confusion.

Maintenance

ActivityInactive
ResponsivenessNo issues