No description
- Python 100%
TRACK-A of Qwen-MM GEM Adoption milestone contract (M-A1 through M-A7). All 7 milestones verified — 10 pytest pass, no DashScope, wired to ~/.claude/mcp.json. Source: ~/audits/qwenlm-qwen-mm-plugins-20260810/ (Apache-2.0) Stripped: apis/ (DashScope-bound), _blender_render.py (needs bpy). Offline-by-default — renderers run without API key. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .improve | ||
| src/qwen_doc_viz | ||
| tests | ||
| .gitignore | ||
| pyproject.toml | ||
| README.md | ||
qwen-doc-viz
Offline document visualizer MCP server. Single endpoint renders 30+ file extensions to model-ready image + extracted-text content blocks.
Ported from QwenLM/Qwen-MM-Plugins (Apache-2.0). No DashScope dependency — all renderers run fully offline.
Supported formats
| Renderer | Formats | Output |
|---|---|---|
pdf |
.pdf |
Rasterized page image + extracted text layer (dual-modality) |
office |
.docx .pptx .vsdx |
LibreOffice → PDF → rasterized |
data |
.csv .xlsx |
Markdown table + matplotlib table image |
code |
30+ languages | Syntax-highlighted image |
svg |
.svg |
resvg rasterization on white bg |
drawio |
.drawio |
Diagram → image |
geo |
.geojson .kml .shp |
GIS map render |
notebook |
.ipynb |
Cell-by-cell render |
latex |
.tex |
pdflatex → PDF → raster |
web |
.html .htm .mhtml |
Playwright headless Chromium screenshot |
model3d |
.obj .stl .glb .gltf .fbx .ply .step .stp |
pyrender / Blender |
subtitle |
.srt .vtt |
Text blocks |
Install
cd ~/project-incubator/doc-viz-mcp
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
Run
qwen-doc-viz # MCP server (stdio)
qwen-doc-viz --version
qwen-doc-viz --check-system # show system deps status
Wire to Claude Code
Add to ~/.claude/mcp.json:
"doc-viz-mcp": {
"command": "/home/pook/project-incubator/doc-viz-mcp/.venv/bin/qwen-doc-viz",
"args": [],
"env": {"PYTHONUNBUFFERED": "1"}
}
Provenance
- Source:
QwenLM/Qwen-MM-Plugins(Apache-2.0), 2026-08-10 snapshot - Audit:
~/audits/qwenlm-qwen-mm-plugins-20260810/GEMS.md(GEM-1, GEM-4, GEM-5) - Stripped:
apis/directory (DashScope-bound) — all renderers run offline - License: Apache-2.0 (inherits from source)