openmedia-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| media_probeA | Identify what kind of media a file or URL is and which tools apply. Use this first when the media type is unknown. Args: source: Local file path or URL. |
| image_viewA | View an image (local path or URL) as model-visible content. The image is automatically downscaled and recompressed to protect context.
Use Args: source: Local file path or direct http(s) URL to an image. max_dimension: Longest edge of the returned image (64-4096, default 1024). quality: JPEG quality 20-95 (default 80). region: Optional crop "x,y,w,h" applied before scaling, for zooming in. |
| image_infoA | Get image metadata without viewing it: format, dimensions, mode, file size, and a summary of relevant EXIF fields (camera, timestamps, orientation, GPS presence). Args: source: Local file path or direct http(s) URL to an image. |
| image_ocrA | Extract text from an image using Tesseract OCR. Args: source: Local file path or direct http(s) URL to an image. language: Tesseract language code(s), e.g. 'eng', 'deu', 'eng+deu'. max_chars: Character cap for the result (0 = default cap). |
| image_transformA | Transform an image: crop, resize, rotate, flip, grayscale, and/or convert format. Operations apply in order: crop -> resize -> rotate -> flip -> grayscale. Only the operations you specify are applied. The result is written to disk. Args: source: Local file path or direct http(s) URL to an image. output_path: Where to save. Defaults to ~/Downloads/openmedia/. resize_width: Target width in px (0 = derive from height, keep aspect). resize_height: Target height in px (0 = derive from width, keep aspect). crop: "x,y,width,height" crop box in pixels. rotate: Degrees counter-clockwise (expands canvas). flip: "horizontal" or "vertical". grayscale: Convert to grayscale. output_format: Target format: png, jpeg, webp, bmp, tiff, gif (default: keep). quality: Quality for lossy formats (default 90). return_preview: Also return a small preview of the result to the model. |
| image_compareA | View two images side by side in a single composite for visual comparison. Args: source_a: First image (path or URL). source_b: Second image (path or URL). max_dimension: Longest edge of the combined composite (default 768). |
| pdf_infoA | Get PDF metadata: page count, title, author, dates, encryption, page size, file size, and whether the PDF has an embedded text layer (vs scanned-only). Use this first to decide between pdf_read (text layer) and pdf_view/pdf_ocr (scanned). Args: source: Local file path or direct http(s) URL to a PDF. |
| pdf_readA | Extract text from a PDF's text layer. Fast and cheap; use for born-digital PDFs. For scanned PDFs (no text layer, check with pdf_info) use pdf_ocr or pdf_view. Args: source: Local file path or direct http(s) URL to a PDF. pages: Page selection like '1-5' or '2,4,9-12'. Empty = whole document. max_chars: Character cap for the result (0 = default cap of 20000). preserve_layout: Keep original physical layout (tables/columns line up). |
| pdf_viewA | Render PDF pages as images the model can see. Use for scanned documents, figures, charts, complex layouts, or to verify visual appearance. Capped at 8 pages per call to protect context; request ranges in batches. Args: source: Local file path or direct http(s) URL to a PDF. pages: Page selection like '1', '1-4', '2,5,8'. Default first page. dpi: Render resolution (72-300, default 120; raise for small print). max_dimension: Longest edge of each returned image (default 1024). quality: JPEG quality 20-95 (default 80). |
| pdf_ocrA | OCR scanned PDF pages into text using Tesseract. Slower than pdf_read but works on PDFs without a text layer. Capped at 10 pages per call. Args: source: Local file path or direct http(s) URL to a PDF. pages: Page selection like '1-5'. Default first page. language: Tesseract language code(s), e.g. 'eng', 'eng+deu'. dpi: Render resolution before OCR (150-300, default 200). max_chars: Character cap for the result (0 = default cap). |
| pdf_extract_imagesA | Extract embedded raster images (figures, photos) from a PDF to files on disk. Returns the file list; use image_view afterwards to look at specific ones. Args: source: Local file path or direct http(s) URL to a PDF. pages: Page selection like '1-5'. Empty = whole document. output_dir: Directory for extracted images. Defaults to ~/Downloads/openmedia/. min_dimension: Skip images smaller than this in both dimensions (filters icons/bullets, default 64). |
| video_infoA | Get video metadata. For local files: container, duration, streams, codecs, resolution, fps, chapters. For URLs (YouTube and 1000+ sites): title, channel, duration, views, upload date, available subtitles - without downloading. Args: source: Local file path or a video page URL (YouTube, Vimeo, etc.). |
| video_framesA | Extract frames from a video and return them as model-visible images. This is how you SEE a video's content. Works on local files and URLs (remote videos are fetched once at <=720p and cached). Either pass explicit Args: source: Local file path or video page URL. timestamps: Comma-separated explicit times, e.g. '0:05, 1:30, 95.5'. count: Number of uniformly spaced frames when timestamps not given (1-12). start: Optional window start for uniform sampling (seconds or MM:SS). end: Optional window end for uniform sampling. max_dimension: Longest edge of each frame (default 768). quality: JPEG quality (default 75). |
| video_transcriptA | Get a clean text transcript of a video. For URLs, fetches manual subtitles or auto-captions via yt-dlp (no video download). For local files, extracts an embedded subtitle track if present. Args: source: Local file path or video page URL. language: Subtitle language code (e.g. 'en', 'de', 'ja'). include_timestamps: Prefix lines with [MM:SS] markers. max_chars: Character cap (0 = default cap of 20000). |
| video_downloadA | Download a video (or just its audio) from a URL to disk via yt-dlp. Supports YouTube and 1000+ other sites. Returns the saved file path. Args: source: Video page URL. resolution: '480p', '720p', '1080p', or 'best'. audio_only: Download best audio only (m4a/opus). output_path: Target file path. Defaults to ~/Downloads/openmedia/. |
| video_clipA | Cut a section out of a video into a new file. Args: source: Local file path or video URL (URLs fetched at <=720p first). start: Clip start (seconds or HH:MM:SS). end: Clip end (seconds or HH:MM:SS). output_path: Target path. Defaults to ~/Downloads/openmedia/. reencode: Re-encode for frame-exact cuts (slower). Default is stream copy, which is instant but snaps to keyframes. |
| video_extract_audioA | Extract the audio track from a video into an audio file. Args: source: Local file path or video URL. output_format: mp3, m4a, wav, flac, or opus (default mp3). output_path: Target path. Defaults to ~/Downloads/openmedia/. start: Optional start time to extract only a section. end: Optional end time. |
| audio_infoA | Get audio file metadata: codec, duration, sample rate, channels, bitrate, and embedded tags (title, artist, album, etc.). Args: source: Local file path or direct http(s) URL to an audio file. |
| audio_convertA | Convert an audio file to another format, optionally changing bitrate, sample rate, or downmixing to mono. Args: source: Local file path or direct URL to an audio file. output_format: mp3, m4a, wav, flac, opus, or ogg (default mp3). output_path: Target path. Defaults to ~/Downloads/openmedia/. bitrate: e.g. '128k', '192k' (lossy formats only). sample_rate: e.g. 16000, 44100 (0 = keep). 16000 mono is ideal for speech-to-text pipelines. mono: Downmix to a single channel. |
| audio_trimA | Cut a section out of an audio file into a new file (stream copy, lossless). Args: source: Local file path or direct URL to an audio file. start: Start time (seconds or MM:SS / HH:MM:SS). end: End time. output_path: Target path. Defaults to ~/Downloads/openmedia/. |
| audio_waveformA | Render the audio waveform as an image the model can see. Useful for spotting silence, clipping, loudness structure, speech vs music sections. Args: source: Local file path or direct URL to an audio file. width: Image width in px (default 1024). height: Image height in px (default 256). split_channels: Draw each channel separately. |
| audio_transcribeA | Transcribe speech in an audio file to text using a local Whisper model
(faster-whisper). Requires the optional dependency:
Args: source: Local file path or direct URL to an audio file. language: Language hint like 'en', 'de' (empty = auto-detect). max_chars: Character cap (0 = default cap). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/Builderstar/openmedia-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server