omniseek_view
View embedded images, document figures, and video frames directly from URLs, files, or video links. Auto-detects source type and returns visual content for immediate inspection.
Instructions
SEE with your own vision, IN-BAND — document figures, loose image URLs, or video frames. ONE verb; kind="auto" picks the branch (or force it with kind=document|images|video).
Fully-qualified MCP name: mcp__omniseek__omniseek_view (server name is omniseek; there is no omniseek-eye server).
ROUTING (kind="auto"): a document path/extension (.pdf/.pptx/.docx/.xlsx/…, as in omniseek_read) → DOCUMENT figures; a video URL (youtube/bilibili/douyin host or a .mp4/.webm/.mov suffix) → VIDEO frames; otherwise → loose IMAGE URLs (target may be a comma-separated URL list). The images come back as image content you can look at directly (no download/scp dance); OmniSeek only renders the pixels, what they MEAN is yours to read.
WHICH PARAMS BELONG TO WHICH KIND:
• document: sections (comma-separated slide/page numbers to pull, "" = all), names (comma-separated
exact image names from the omniseek_read outline media[].name), max_images (full-res cap; a wider
selection falls back to a contact sheet). THE TWO-STEP: first omniseek_read to get the outline
(which slides/pages hold images), then call this — with NO sections/names you get a CONTACT SHEET
(every image a labeled thumbnail tiled into one montage; triage ~30 for the cost of one), then
pull the few that matter full-res by sections="8,15" or names="s08_02_image.png". Covers
pptx / pdf / docx (the image-bearing formats); text formats return a note.
render_pages="8,15" is the COMPLEMENT (PDF): it renders those WHOLE pages to images, the channel
for a page whose substance is VECTOR figures / dense tables / a layout carrying NO embedded raster
(where sections/names find nothing). This is how you READ a visual page you cannot trust as parsed
text: route to the doc, omniseek_read for the page you want, then render + see it with your own vision.
• images: target = image URLs comma/space/newline separated (paste a walled post's media[] list —
xiaohongshu / zhihu note images, where the 干货 often lives). max_images caps per call.
• video: start / duration (optional slice: "8:30", "90", "1:02:30"; default the whole video, capped
at 30 min), n (frames to sample, default 12, max 24). The VISUAL half of omniseek_transcribe: its
on-screen slides / diagrams / code / charts as ONE labeled contact sheet (a timestamp under each
frame). Pair with omniseek_transcribe on the same slice for BOTH halves. (bilibili frames ride the
same activated playurl session as bilibili audio — the ASR path's visual sibling.)
Returns image content blocks: document = [contact-sheet montage + legend] or [manifest + one block per figure]; images = [manifest + one block per URL that loaded]; video = [contact-sheet + timestamp legend]. Or an error / honest "nothing to show" note.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| kind | No | auto | |
| names | No | ||
| start | No | ||
| target | Yes | ||
| duration | No | ||
| sections | No | ||
| max_images | No | ||
| render_pages | No | ||
| contact_sheet | No |