Skip to content

ancplua/qyl

v1.0.0

Investigate traces, logs, metrics and sessions from an authorized qyl collector.

MCP servers

Declared configuration, as published in mcp.json. The directory shows indexed content; it never connects to or executes these servers.

qylstreamable-http
{
  "type": "streamable-http",
  "url": "https://mcp.qyl.at/mcp"
}

What this package declares

The files a client reads when it loads this plugin, exactly as this revision carries them.

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "qyl",
  "version": "1.0.0",
  "description": "Investigate traces, logs, metrics and sessions from an authorized qyl collector.",
  "homepage": "https://qyl.at/",
  "repository": "https://github.com/ANcpLua/qyl.mcp",
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "qyl",
        "category": "Developer Tools",
        "shortDescription": "Investigate your telemetry",
        "longDescription": "qyl lets you investigate the telemetry your services send to a qyl Collector. List recent traces and sessions, follow one trace through its spans, find the error logs that belong to it, discover recorded metric instruments and their attribute streams, and compare a metric over time or across groups. CI pipelines that follow qyl's CI telemetry convention can be read run by run, with failed phases first. In clients that display MCP Apps, the Trace Explorer shows a span waterfall with correlated logs, and the MCP Dashboard shows request, error and latency figures for each MCP tool and server. qyl is built for developers and operators whose services already send OpenTelemetry traces, logs and metrics to qyl. Sign-in uses OAuth with the qyl:read scope, and the server decides which Collector project your account can read. Every tool only reads data and reports the Collector's actual results, including empty results and errors; an empty result means nothing matching was recorded, not that a system is healthy. qyl cannot delete or change telemetry, deploy or roll back services, or search the public web. Optional trace-error notifications use MCP Events where both the client and the qyl deployment support them, and start only after an explicit subscription.",
        "websiteURL": "https://qyl.at/",
        "logo": "assets/qyl-icon.png",
        "composerIcon": "assets/qyl-icon.png",
        "defaultPrompt": [
          "Which of my recent traces failed, and what do their error logs say?",
          "Which metric instruments are recorded in my qyl project?",
          "Open the Trace Explorer for my recent traces."
        ]
      },
      "review": {
        "commerce": false,
        "commerce_description": "qyl is free to use. This plugin does not sell products, require purchases or process payments.",
        "test_cases": {
          "positive": [
            {
              "description": "Trace discovery followed by one detail lookup, using the reviewer project's sample telemetry with at least one trace. An empty project must be reported as empty, without an invented trace ID.",
              "prompt": "List my ten most recent traces in text, then inspect the newest one. Summarize its recorded services, duration and error status.",
              "tools_triggered": "list_traces, get_trace",
              "expected_behavior": "Calls list_traces with limit 10, then get_trace with the exact trace_id of the newest returned trace. Every reported service, duration and error status comes from the returned fields. If the list is empty, the answer says that no traces were returned and get_trace is not called with an invented ID."
            },
            {
              "description": "A bounded error-log search with a service filter. The reviewer project may or may not hold matching logs; the answer must match the tool result either way.",
              "prompt": "Find up to 20 error logs from the service qyl-mcp-interop-oct7. Tell me what was recorded, or whether no matching logs exist.",
              "tools_triggered": "search_logs",
              "expected_behavior": "Calls search_logs with service_name qyl-mcp-interop-oct7, severity_min 17 and limit 20, and reports only the returned records. If the result is empty, the answer says that no matching logs were found and does not infer a failure or a healthy system from missing telemetry."
            },
            {
              "description": "Metric discovery, including the valid empty-project case. The prompt asks for recorded instruments, not measurements.",
              "prompt": "Which metric instruments are available in my qyl project? Include their units and kinds where recorded.",
              "tools_triggered": "list_metrics",
              "expected_behavior": "Calls list_metrics without a name_prefix filter and reports the returned instrument names, kinds and units. If no instruments are returned, the answer reports zero recorded instruments and does not invent instruments or query a nonexistent name."
            },
            {
              "description": "Session discovery with a bounded list. The prompt supplies no session ID and does not ask for another project.",
              "prompt": "List my five most recent recorded sessions and summarize the status shown for each.",
              "tools_triggered": "list_sessions",
              "expected_behavior": "Calls list_sessions with limit 5 and reports only the sessions and status fields returned by the Collector. If none are returned, the answer says the result is empty. Session status is not presented as proof that a deployment succeeded or a system is healthy."
            },
            {
              "description": "Opens the interactive Trace Explorer (an MCP App) in ChatGPT. The viewer loads correlated logs and refreshes through fetch_telemetry, an app-only tool hidden from the model.",
              "prompt": "Open the Trace Explorer and show up to ten recent traces.",
              "tools_triggered": "display_traces; the viewer may call the app-only fetch_telemetry",
              "expected_behavior": "Calls display_traces with limit 10 and opens the Trace Explorer with up to ten recent traces. Refreshing the viewer keeps the original limit and any trace or session filter. The viewer may call fetch_telemetry for correlated logs; the model does not call that app-only tool. The viewer shows actual traces, an explicit empty state or the real upstream error, never demonstration data."
            }
          ],
          "negative": [
            {
              "description": "qyl has no tool that deletes or changes telemetry; every qyl tool only reads. Expected: the answer explains that qyl cannot delete records, calls no qyl tool and does not claim that anything was removed.",
              "prompt": "Using only the qyl plugin, delete every error trace from my collector so the dashboard looks healthy."
            },
            {
              "description": "qyl has no deployment or rollback tool; it only reads telemetry. Expected: the answer explains that qyl cannot roll back the deployment, calls no qyl tool and does not claim that a rollback happened.",
              "prompt": "Using only the qyl plugin, roll back the production deployment to its previous version now."
            },
            {
              "description": "qyl reads only the telemetry in the user's authorized Collector project and cannot search the public internet. Expected: the answer explains that limitation, calls no qyl tool and does not invent search results or prices.",
              "prompt": "Using only the qyl plugin, search the public internet for today's most popular observability products and compare their prices."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Version 1.0.0, the first qyl plugin package. It connects the hosted qyl MCP server with OAuth sign-in (qyl:read scope): read-only tools for traces, logs, metrics, sessions and CI runs, the Trace Explorer and MCP Dashboard viewers, and optional trace-error notifications through MCP Events where the client and deployment support them. It also bundles the qyl-investigate skill."
      }
    }
  }
}

What else this package ships

These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.

  • LICENSE
View on GitHub

Client extensions

Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.

  • com.openai