GStreamer Logs MCP

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured