qwen-omni-mcp

qwen-omni-mcp

Enables Claude Code and other AI agents to understand videos and images via Qwen3.7-Plus, supporting native video analysis, image understanding, and convenience tools like summarization and OCR.

Category
Visit Server

README

qwen-omni-mcp

An MCP server that gives Claude Code and other AI agents video and image understanding via Bailian (DashScope) using the multimodal Qwen3.7-Plus model.

Qwen3.7-Plus reads video natively — no client-side frame extraction. You pass a public media URL; the model does the rest.

Highlights

  • Native video understanding — send a video URL, get grounded analysis
  • Image understanding — describe, Q&A, OCR
  • Convenience tools — summarize, text extraction, frame comparison, Q&A
  • npx-launchable — one line in your MCP client config
  • Hardened — secret-leak pre-commit guard + gitleaks, strict TypeScript, full CI

Install

No global install needed. Run directly with npx:

npx -y qwen-omni-mcp

For local development:

git clone <this-repo>
cd qwen-omni-mcp
npm install            # also installs husky git hooks
cp .env.example .env   # fill in DASHSCOPE_API_KEY
npm run dev            # run from source via tsx

Configuration

All config is via environment variables (loaded from .env by dotenv):

Variable Required Default Description
DASHSCOPE_API_KEY yes Bailian API key
QWEN_MODEL no qwen3.7-plus Model id (multimodal)
DASHSCOPE_BASE_URL no https://dashscope.aliyuncs.com/compatible-mode/v1 OpenAI-compatible endpoint
QWEN_REQUEST_TIMEOUT no 300 Per-request timeout in seconds

Get a key at https://platform.qianwenai.com/home/api-keys.

The Anthropic-compatible /apps/anthropic endpoint does not support video input, so this server uses the OpenAI-compatible endpoint.

Use with Claude Code

Add to your MCP client config:

{
  "mcpServers": {
    "qwen-omni-mcp": {
      "command": "npx",
      "args": ["-y", "qwen-omni-mcp"],
      "env": {
        "DASHSCOPE_API_KEY": "your-key"
      }
    }
  }
}

For local development without publishing:

{
  "mcpServers": {
    "qwen-omni-mcp": {
      "command": "npx",
      "args": ["tsx", "src/index.ts"],
      "env": { "DASHSCOPE_API_KEY": "your-key" }
    }
  }
}

Tools

Tool Description
analyze_video Analyze a video URL with a custom prompt
analyze_image Analyze an image URL with a custom prompt
summarize_video Brief / standard / detailed summary
extract_video_text Extract on-screen text and transcribe speech
video_qa Ask a specific question about a video
compare_video_frames Analyze changes and progression across a video
check_endpoint_status Show configured endpoint/model (key redacted)
list_capabilities List server capabilities and supported formats

Media must be reachable via a public http/https URL. Large local videos should be hosted at a public URL (base64 data URLs over ~10MB will be rejected).

Development

npm run typecheck     # strict tsc
npm run lint          # eslint, --max-warnings 0
npm run format:check  # prettier
npm test              # unit + mocked e2e (no API cost)
npm run build         # emit dist/
LIVE=1 npm run test:live   # real API calls (costs tokens)

CI (.github/workflows/ci.yml) runs the same gates on Node 20/22. secrets-scan.yml runs gitleaks. smoke-live.yml (manual / weekly) runs one real image call.

See AGENTS.md for the full set of agent rules (never bypass hooks, never commit secrets, etc.).

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured