qwen-omni-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@qwen-omni-mcpSummarize the video at https://example.com/demo.mp4"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Qwen Video Understanding MCP Server
Install
No global install needed. Run directly with npx:
npx -y qwen-omni-mcpFor 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 tsxConfiguration
All config is via environment variables (loaded from .env by dotenv):
Variable | Required | Default | Description |
| yes | — | Bailian API key |
| no |
| Model id (multimodal) |
| no |
| OpenAI-compatible endpoint |
| no |
| Per-request timeout in seconds |
Get a key at https://platform.qianwenai.com/home/api-keys.
The Anthropic-compatible
/apps/anthropicendpoint 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 a video URL with a custom prompt |
| Analyze an image URL with a custom prompt |
| Brief / standard / detailed summary |
| Extract on-screen text and transcribe speech |
| Ask a specific question about a video |
| Analyze changes and progression across a video |
| Show configured endpoint/model (key redacted) |
| 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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sommio/qwen-omni-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server