GStreamer Logs MCP
Enables agents to efficiently explore and query GStreamer debug logs by loading files, applying filters (path, category, time range, level, object name), and retrieving counts before fetching lines to keep context small.
README
GStreamer Logs MCP
MCP server for GStreamer debug logs. One load per file (cached); the agent uses filters (path, category, time range in ms, level, object_name, etc.) and gets counts before requesting lines, so context stays small. Time: integer milliseconds from log start only (e.g. 10000 = 10s, 10300 = 10.3s). Standalone repo: no external project dependencies.
Requirements
- Python 3.10+
Install
From this directory:
pip install -r requirements.txt
Run (stdio, for Cursor / Claude)
python server.py
Or with uv:
uv run server.py
Configuration
| Env var | Meaning |
|---|---|
GST_LOGS_MCP_LOG_DIR |
Directory containing log files (default: gst_log_files/ in this project). |
Cursor
In Cursor MCP settings, add a server that runs this script, for example:
{
"mcpServers": {
"gst-logs": {
"command": "python",
"args": ["C:\\path\\to\\gst_logs_mcp\\server.py"]
}
}
}
Use the path to your gst_logs_mcp clone and ensure the Python that has mcp installed is the one used by Cursor.
Time format
All time filters use integer milliseconds from log start only (no fractions). E.g. 10000 = 10s, 10300 = 10.3s. Use load_log first to get time_span so you can compute ms from the first timestamp.
Tools
| Tool | Purpose |
|---|---|
get_agent_guide_tool |
Call this first. Returns the full agent guide: workflow, filters, token-saving rules. Follow it when using the other tools. |
list_log_files_tool |
List available log files (optionally from a given directory). |
load_log_tool |
Load and index a log file once; returns total, time_span (first/last), levels, categories, object_count (no object list). Cached for later queries. |
log_summary_tool |
Counts only (no raw lines): total_matching, count_by_level, count_by_category, count_by_object. Optional filters: time_start, time_end (ms), level, category, object_name, etc. |
object_summary_tool |
Required: path, category, time_start, time_end (ms). Returns per-level count of distinct objects and full object list. Use to discover object names, then narrow with query_logs. |
query_logs_tool |
Get lines. Required: path, category, time_start, time_end (ms). Optional: level, object_name, search, etc. limit default 50, max 2000. If total_matching > 100 you get no rows — only total_matching, object_count, and a message; use log_summary first and narrow filters. |
Resource: gst-logs://agent-guide – same content as the agent guide (for clients that support MCP resources).
Workflow: 1) get_agent_guide (once). 2) list_log_files if path unknown. 3) load_log once per file → time_span, levels, categories, object_count. 4) log_summary or object_summary with filters (category + time in ms) → get counts. 5) If total_matching is small (≤100), query_logs with same category + time (+ optional object_name/level/search).
For agents: Call get_agent_guide_tool at the start, or read resource gst-logs://agent-guide. Full guide: AGENT_GUIDE_GST_LOGS_MCP.md.
Test (no MCP client)
From project root:
python scripts/test_mcp_tools.py
Uses the same core as the server; prints SENT/GOT for list_log_files, load_log, log_summary (with time in ms), object_summary, query_logs. Time in tests is integer milliseconds (e.g. 0, 5000, 10500). The folder gst_log_files/ is gitignored; set GST_LOGS_MCP_LOG_DIR to a directory that contains GStreamer debug logs, or add a small sample log for CI.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.