Skip to main content

MCP server for GStreamer introspection and pipeline development

Project description

gst-mcp

PyPI version License: MIT

MCP server for GStreamer introspection and pipeline development. Helps LLMs understand GStreamer elements, caps, and pipeline construction.

Installation

From PyPI (recommended)

# Using uvx (no install needed)
uvx gst-mcp

# Or install globally
uv tool install gst-mcp

# Or with pip
pip install gst-mcp

From source

git clone https://github.com/wizenink/gst-mcp
cd gst-mcp
uv sync

System Requirements

  • Python 3.13+
  • GStreamer 1.0 with development files
  • PyGObject (GStreamer Python bindings)

On Arch Linux:

sudo pacman -S gstreamer gst-plugins-base gst-plugins-good python-gobject

On Ubuntu/Debian:

sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good python3-gi

Usage with Claude Code

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "gstreamer": {
      "command": "uvx",
      "args": ["gst-mcp"]
    }
  }
}

Or if installed from source:

{
  "mcpServers": {
    "gstreamer": {
      "command": "uv",
      "args": ["--directory", "/path/to/gst-mcp", "run", "gst-mcp"]
    }
  }
}

Available Tools

Registry Introspection

  • list_elements - List elements by category (source, sink, decoder, encoder, muxer, demuxer, filter, parser)
  • get_element_info - Get detailed element info (properties, pads, caps templates, signals)
  • list_plugins - List all installed GStreamer plugins
  • get_plugin_info - Get plugin details and its elements
  • search_elements - Search elements by name, description, or caps

Caps & Negotiation

  • parse_caps - Parse caps string to structured info
  • check_caps_compatible - Check if two caps can intersect
  • check_elements_can_link - Check if elements can link based on pad caps
  • suggest_converter - Suggest converter elements for incompatible elements

Pipeline Tools

  • validate_pipeline - Validate pipeline syntax with error suggestions
  • run_pipeline - Execute pipeline (sync with timeout or async)
  • get_pipeline_status - Get status of running pipeline
  • stop_pipeline - Stop a running pipeline
  • list_running_pipelines - List all running pipelines
  • get_pipeline_graph - Generate DOT graph of pipeline

Documentation & Examples

  • get_examples - Pipeline examples by category (playback, transcoding, streaming, capture, effects, testing, analysis)
  • fetch_online_docs - Fetch element documentation from GStreamer website

Example Queries

Ask Claude:

  • "What elements can decode H.264 video?"
  • "Can I link videotestsrc directly to x264enc?"
  • "How do I create a pipeline to transcode MP4 to WebM?"
  • "What properties does the compositor element have?"
  • "Show me examples of RTMP streaming pipelines"

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gst_mcp-0.1.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gst_mcp-0.1.0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file gst_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: gst_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gst_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a53409608646d2417a5fe5a3308fe477c6f1196acd44ae226fd9ea2bda14c7b6
MD5 215d029aac3cc1b31d0119fe8c401cc1
BLAKE2b-256 a43abddc0ade0e60a6c10fcf44637d97802499826f0f4c693cde27200b41b4e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gst_mcp-0.1.0.tar.gz:

Publisher: publish.yml on wizenink/gst-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gst_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gst_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gst_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d789b09fcb88e7bcc632fd3023c8a4f0215a02a54e91f2b4ff8fc4afd3d986f
MD5 5a1941b73145e1beea1e07aa931f9904
BLAKE2b-256 835817cf1bfec52e637c861b03a6ec302e2d6fdf003c90bd87b45d690c6810f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for gst_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on wizenink/gst-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page