Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 region ("x,y,width,height" in original pixel coordinates) to zoom into a detail at full resolution instead of viewing the whole image.

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 timestamps, or let count frames be sampled uniformly across the duration (optionally restricted to a start/end window). Capped at 12 frames per call; make additional calls for more coverage.

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: uv pip install 'openmedia-mcp[whisper]' or pip install faster-whisper.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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