Gst Logs Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Gst Logs Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
From this directory:
pip install -r requirements.txtpython server.pyOr with uv:
uv run server.py| Env var | Meaning |
|---|---|
GST_LOGS_MCP_LOG_DIR | Directory containing log files (default: gst_log_files/ in this project). |
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.
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.
| 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.
From project root:
python scripts/test_mcp_tools.pyUses 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.