npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

qwen-vision-mcp

v0.2.0

Published

MCP server for image analysis using Qwen 3.5 via Ollama. Adds vision capabilities to models without native image support.

Readme

Qwen Vision MCP

MCP server that adds image analysis capabilities to AI models that don't natively support vision.

npm version

Why?

Models like MiMo V2 Pro, MiniMax M2.1, Nemotron 3, and many others are powerful for text but cannot read or analyze images. This MCP server bridges that gap by routing image tasks to Qwen 3.5 via Ollama — giving any model vision capabilities through tool calls.

How It Works

Your model (MiMo V2 Pro, etc.)  →  calls qwen-vision tool  →  Qwen 3.5 analyzes image  →  returns result

The vision model can be:

  • Ollama Cloud (qwen3.5:cloud) — fast, inference on Ollama's servers (requires ollama serve as gateway)
  • Local Ollama (qwen3.5:9b, qwen3.5:4b) — private, runs on your machine (requires ollama serve)

Prerequisites

  • Ollama installed (brew install ollama or curl -fsSL https://ollama.ai/install.sh | sh)
  • Ollama authentication — sign in with ollama and authenticate your account
  • ollama serve running — required for both cloud and local models (Ollama acts as the gateway to cloud inference)

Tools

| Tool | Description | |------|-------------| | analyze_image | Ask any question about an image | | extract_text | OCR: extract all visible text | | describe_image | Detailed image description | | compare_images | Compare two images side-by-side | | analyze_screenshot | UI screenshot analysis with structured output |

Input Formats

  • File paths: /path/to/image.png
  • URLs: https://example.com/image.jpg
  • Base64 data URIs

Setup

1. Pull the model

# Cloud (recommended — no local resources needed)
ollama pull qwen3.5:cloud

# Or local (requires ~6GB RAM for 9B)
ollama pull qwen3.5:9b

2. Add to opencode config (~/.config/opencode/opencode.json)

Option A: Ollama Cloud (recommended)

ollama serve must be running — it acts as the gateway to Ollama's cloud inference.

{
  "qwen-vision": {
    "type": "local",
    "command": ["npx", "-y", "qwen-vision-mcp"],
    "environment": {
      "QWEN_VISION_MODEL": "qwen3.5:cloud",
      "OLLAMA_BASE_URL": "http://localhost:11434",
      "QWEN_VISION_THINK": "false"
    },
    "enabled": true,
    "timeout": 30000
  }
}

Option B: Local Ollama

Requires ollama serve running and ~6GB RAM for qwen3.5:9b.

{
  "qwen-vision": {
    "type": "local",
    "command": ["npx", "-y", "qwen-vision-mcp"],
    "environment": {
      "QWEN_VISION_MODEL": "qwen3.5:9b",
      "OLLAMA_BASE_URL": "http://localhost:11434",
      "QWEN_VISION_THINK": "false"
    },
    "enabled": true,
    "timeout": 30000
  }
}

Other local options: qwen3.5:4b (~3GB RAM), qwen3.5:2b (~1.5GB RAM).

3. Restart opencode

opencode

The qwen-vision_* tools will be available to any model — even ones without native vision.

Configuration

| Variable | Default | Description | |----------|---------|-------------| | QWEN_VISION_MODEL | qwen3.5:cloud | Ollama model name | | OLLAMA_BASE_URL | http://localhost:11434 | Ollama server URL | | QWEN_VISION_THINK | false | Enable thinking/reasoning mode |

Development

git clone https://github.com/sahilchouksey/qwen-vision-mcp.git
cd qwen-vision-mcp
bun install
bun run dev

Plugin Mode (Non-Multimodal Models)

For models that cannot call tools or don't support MCP, use the OpenCode Plugin in .opencode/plugin.ts. This plugin intercepts chat messages containing images, analyzes them automatically via Qwen 3.5, and injects the analysis into the conversation — no tool calls needed.

How Plugin Mode Works

User pastes image → Plugin detects image → Qwen 3.5 analyzes it → Analysis injected as text → Model responds using analysis

When to Use Plugin vs MCP

| Approach | Best For | Setup | |----------|----------|-------| | MCP | Models that support tool calling (Claude, GPT-4, etc.) | Add to mcp section in opencode.json | | Plugin | Models without tool support or vision (MiMo V2 Pro, MiniMax, Nemotron 3, etc.) | Add to plugin section in opencode.json |

Plugin Setup

  1. Copy the plugin file to your opencode config:
cp .opencode/plugin.ts ~/.config/opencode/plugins/qwen-vision.ts
  1. Add to ~/.config/opencode/opencode.json:
{
  "plugin": [
    "file:///Users/YOUR_USERNAME/.config/opencode/plugins/qwen-vision.ts"
  ]
}
  1. Ensure Ollama is running:
ollama serve
  1. Restart opencode. The plugin will:
    • Detect when you paste an image
    • Automatically analyze it with Qwen 3.5
    • Inject the analysis into your message text
    • The model will respond as if it can see the image

Plugin Features

  • Automatic image detection — works on paste/upload
  • No tool calls required — models don't need tool support
  • Transparent injection — analysis appended to user message
  • Fallback mode — injects as system message if text part not found
  • Built-in toolsvision and vision_text tools available for explicit calls

Plugin Configuration

Same environment variables as MCP mode:

| Variable | Default | Description | |----------|---------|-------------| | QWEN_VISION_MODEL | qwen3.5:cloud | Ollama model name | | OLLAMA_BASE_URL | http://localhost:11434 | Ollama server URL |

License

MIT