About Gst Mcp
Gst Mcp is an MCP server for inspecting GStreamer components and developing pipelines. It serves developers and LLM workflows with element, caps, compatibility, validation, and execution tools.
Key features
- 01List and search elements and plugins
- 02Inspect element properties, pads, and caps
- 03Parse and compare caps compatibility
- 04Validate and run pipelines
- 05Monitor, stop, and graph pipelines
- 06Retrieve examples and online documentation
Use cases
- 01Identify elements for a media format or task
- 02Check whether pipeline elements can connect
- 03Validate and troubleshoot a pipeline
- 04Run and inspect media processing pipelines
MCP support
It exposes GStreamer introspection, caps negotiation, pipeline, and documentation tools to MCP clients, including tools to execute and monitor pipelines.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEgst-mcp
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 pluginsget_plugin_info- Get plugin details and its elementssearch_elements- Search elements by name, description, or caps
Caps & Negotiation
parse_caps- Parse caps string to structured infocheck_caps_compatible- Check if two caps can intersectcheck_elements_can_link- Check if elements can link based on pad capssuggest_converter- Suggest converter elements for incompatible elements
Pipeline Tools
validate_pipeline- Validate pipeline syntax with error suggestionsrun_pipeline- Execute pipeline (sync with timeout or async)get_pipeline_status- Get status of running pipelinestop_pipeline- Stop a running pipelinelist_running_pipelines- List all running pipelinesget_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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.