MCP server for GStreamer introspection and pipeline development
Project description
gst-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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gst_mcp-0.2.0.tar.gz.
File metadata
- Download URL: gst_mcp-0.2.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
022ff1be66f86b86701ab2e8ee5290d10157a56a52124ea8a1ddc87cc1ae374f
|
|
| MD5 |
ab698b87b6d24f1b8b8d6c2cf140eaf4
|
|
| BLAKE2b-256 |
213735b7a8ce3dc1c4e7b38a878268594057cf7fa88332243f034e561aecf0e7
|
Provenance
The following attestation bundles were made for gst_mcp-0.2.0.tar.gz:
Publisher:
publish.yml on wizenink/gst-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gst_mcp-0.2.0.tar.gz -
Subject digest:
022ff1be66f86b86701ab2e8ee5290d10157a56a52124ea8a1ddc87cc1ae374f - Sigstore transparency entry: 894724216
- Sigstore integration time:
-
Permalink:
wizenink/gst-mcp@13a1e29ae93c3fcff7e4e61df8ca855fa400be0e -
Branch / Tag:
refs/tags/v0.2 - Owner: https://github.com/wizenink
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a1e29ae93c3fcff7e4e61df8ca855fa400be0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file gst_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: gst_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b98d43f00bbc6579a5eb553c4342c8f4cca26172966dde2590f7f13ebbb0ff48
|
|
| MD5 |
d3f6738dd8dbcd9527f389da1791d819
|
|
| BLAKE2b-256 |
2abe0a2625714be7e76650a80d774561cbaf02f75e59e3260cad7df4ac2169fa
|
Provenance
The following attestation bundles were made for gst_mcp-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on wizenink/gst-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gst_mcp-0.2.0-py3-none-any.whl -
Subject digest:
b98d43f00bbc6579a5eb553c4342c8f4cca26172966dde2590f7f13ebbb0ff48 - Sigstore transparency entry: 894724220
- Sigstore integration time:
-
Permalink:
wizenink/gst-mcp@13a1e29ae93c3fcff7e4e61df8ca855fa400be0e -
Branch / Tag:
refs/tags/v0.2 - Owner: https://github.com/wizenink
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@13a1e29ae93c3fcff7e4e61df8ca855fa400be0e -
Trigger Event:
push
-
Statement type: