← All scanned servers

Trust Card · Static snapshot

grafana__mcp-grafana U

Ungraded — insufficient static coverage · 2 findings (1 critical) · scope excessive · Not ranked: insufficient static coverage.

Scanned 2026-10-19 · engine v0.1.3 (8 regex rules, OWASP-mapped) · upstream grafana/mcp-grafana @ e3be835 (2026-10-19)

Score breakdown

No numeric score or breakdown: insufficient static coverage. Findings remain actionable; absence of findings is not evidence of safety.

Insufficient static coverage: Unsupported source present. Findings remain actionable; absence of findings is not evidence of safety.

Coverage: limited

Static-heuristic scope: 199 analyzed / 588 discovered files; 316 unsupported source files; 390 excluded; 0 read errors; 0 truncations. This is not a semantic coverage percentage or proof of safety.

File coverage, applied rules and scan limits
{
  "mode": "static-heuristic",
  "status": "limited",
  "reasons": [
    "Unsupported source present"
  ],
  "limitations": [
    "Coverage describes the files read and regex rules applied, not semantic, runtime, or dependency coverage.",
    "Supported code is JavaScript, TypeScript, and Python; JSON/YAML receive only the credential rule.",
    "Skill instructions and other prose are not code-analyzed; declared controls are not verified enforcement.",
    "Ignored directories, declarations, and non-implementation assets are outside rule scope."
  ],
  "discoveredFiles": 588,
  "analyzedFiles": [
    {
      "path": ".claude-plugin/install-binary.mjs",
      "scope": "code",
      "bytes": 6922,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": ".claude-plugin/plugin.json",
      "scope": "data",
      "bytes": 519,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/ISSUE_TEMPLATE/bug-report.yml",
      "scope": "data",
      "bytes": 3357,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/ISSUE_TEMPLATE/config.yml",
      "scope": "data",
      "bytes": 595,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/ISSUE_TEMPLATE/feature-request.yml",
      "scope": "data",
      "bytes": 1431,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/ISSUE_TEMPLATE/new-tool-proposal.yml",
      "scope": "data",
      "bytes": 4484,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/actions/sign-image/action.yml",
      "scope": "data",
      "bytes": 2287,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/auto-tag.yml",
      "scope": "data",
      "bytes": 1731,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/cla-label.yml",
      "scope": "data",
      "bytes": 1707,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/docker.yml",
      "scope": "data",
      "bytes": 6813,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/docksec.yml",
      "scope": "data",
      "bytes": 2115,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/e2e.yml",
      "scope": "data",
      "bytes": 3069,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/integration.yml",
      "scope": "data",
      "bytes": 5457,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/mcpb.yml",
      "scope": "data",
      "bytes": 1831,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/release.yml",
      "scope": "data",
      "bytes": 5001,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/test-install-scripts.yml",
      "scope": "data",
      "bytes": 4763,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/token-check.yml",
      "scope": "data",
      "bytes": 7935,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".github/workflows/unit.yml",
      "scope": "data",
      "bytes": 3347,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".golangci.yaml",
      "scope": "data",
      "bytes": 872,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": ".goreleaser.yaml",
      "scope": "data",
      "bytes": 4500,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "docker-compose.yaml",
      "scope": "data",
      "bytes": 12173,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "docs/docs.agent/links.py",
      "scope": "code",
      "bytes": 2524,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "gemini-extension.json",
      "scope": "data",
      "bytes": 714,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "mcpb/manifest.template.json",
      "scope": "data",
      "bytes": 2943,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "renovate.json",
      "scope": "data",
      "bytes": 1722,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "scripts/build-mcpb.mjs",
      "scope": "code",
      "bytes": 10307,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "server.json",
      "scope": "data",
      "bytes": 2759,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/alertmanager.yml",
      "scope": "data",
      "bytes": 685,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/dashboards/demo.json",
      "scope": "data",
      "bytes": 3083,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/loki-config.yml",
      "scope": "data",
      "bytes": 1007,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/loki-rules.yml",
      "scope": "data",
      "bytes": 732,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/prometheus-seed.yml",
      "scope": "data",
      "bytes": 1159,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/prometheus.yml",
      "scope": "data",
      "bytes": 261,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/promtail-config.yml",
      "scope": "data",
      "bytes": 550,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning/alerting/alert_rules.yaml",
      "scope": "data",
      "bytes": 5489,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning/alerting/contact_points.yaml",
      "scope": "data",
      "bytes": 447,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning/alerting/routing.yaml",
      "scope": "data",
      "bytes": 418,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning/dashboards/dashboards.yaml",
      "scope": "data",
      "bytes": 631,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning/datasources/datasources.yaml",
      "scope": "data",
      "bytes": 4115,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning-repo/extra/broken-dashboard.json",
      "scope": "data",
      "bytes": 1498,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning-repo/extra/extra-dashboard.json",
      "scope": "data",
      "bytes": 3256,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/provisioning-repo/main/sample-dashboard.json",
      "scope": "data",
      "bytes": 3365,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "testdata/tempo-config.yaml",
      "scope": "data",
      "bytes": 674,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tests/admin_test.py",
      "scope": "code",
      "bytes": 4423,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/alerting_test.py",
      "scope": "code",
      "bytes": 15645,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/clickhouse_test.py",
      "scope": "code",
      "bytes": 3223,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/cloudwatch_test.py",
      "scope": "code",
      "bytes": 3059,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/conftest.py",
      "scope": "code",
      "bytes": 4760,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/dashboards_test.py",
      "scope": "code",
      "bytes": 2865,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/datasources_test.py",
      "scope": "code",
      "bytes": 2926,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/disable_write_test.py",
      "scope": "code",
      "bytes": 5929,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/elasticsearch_test.py",
      "scope": "code",
      "bytes": 4269,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/health_test.py",
      "scope": "code",
      "bytes": 379,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/list_tools_result_test.py",
      "scope": "code",
      "bytes": 3069,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/loki_test.py",
      "scope": "code",
      "bytes": 2317,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/mysql_test.py",
      "scope": "code",
      "bytes": 3111,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/navigation_test.py",
      "scope": "code",
      "bytes": 7660,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/postgres_test.py",
      "scope": "code",
      "bytes": 3119,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/rendering_test.py",
      "scope": "code",
      "bytes": 1781,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/tempo_test.py",
      "scope": "code",
      "bytes": 8835,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/utils.py",
      "scope": "code",
      "bytes": 6661,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tests/utils_test.py",
      "scope": "code",
      "bytes": 2732,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "tools/datasource_schemas/alertmanager_schema.json",
      "scope": "data",
      "bytes": 2023,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/cloudwatch_schema.json",
      "scope": "data",
      "bytes": 12758,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/elasticsearch_schema.json",
      "scope": "data",
      "bytes": 9369,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-amazonprometheus-datasource_schema.json",
      "scope": "data",
      "bytes": 5086,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-appdynamics-datasource_schema.json",
      "scope": "data",
      "bytes": 4235,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-astradb-datasource_schema.json",
      "scope": "data",
      "bytes": 3324,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-athena-datasource_schema.json",
      "scope": "data",
      "bytes": 4741,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-azure-data-explorer-datasource_schema.json",
      "scope": "data",
      "bytes": 6256,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-azure-monitor-datasource_schema.json",
      "scope": "data",
      "bytes": 6538,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-azuredevops-datasource_schema.json",
      "scope": "data",
      "bytes": 2667,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-azureprometheus-datasource_schema.json",
      "scope": "data",
      "bytes": 3671,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-bigquery-datasource_schema.json",
      "scope": "data",
      "bytes": 5034,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-clickhouse-datasource_schema.json",
      "scope": "data",
      "bytes": 43186,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-cockroachdb-datasource_schema.json",
      "scope": "data",
      "bytes": 9376,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-databricks-datasource_schema.json",
      "scope": "data",
      "bytes": 9055,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-datadog-datasource_schema.json",
      "scope": "data",
      "bytes": 4430,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-dynatrace-datasource_schema.json",
      "scope": "data",
      "bytes": 5144,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-falconlogscale-datasource_schema.json",
      "scope": "data",
      "bytes": 4098,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-github-datasource_schema.json",
      "scope": "data",
      "bytes": 4780,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-gitlab-datasource_schema.json",
      "scope": "data",
      "bytes": 2140,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-googlesheets-datasource_schema.json",
      "scope": "data",
      "bytes": 8061,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-honeycomb-datasource_schema.json",
      "scope": "data",
      "bytes": 2169,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-iot-sitewise-datasource_schema.json",
      "scope": "data",
      "bytes": 4841,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-jira-datasource_schema.json",
      "scope": "data",
      "bytes": 5499,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-looker-datasource_schema.json",
      "scope": "data",
      "bytes": 2102,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-mongodb-datasource_schema.json",
      "scope": "data",
      "bytes": 8914,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-mqtt-datasource_schema.json",
      "scope": "data",
      "bytes": 4883,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-newrelic-datasource_schema.json",
      "scope": "data",
      "bytes": 3650,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-odbc-datasource_schema.json",
      "scope": "data",
      "bytes": 1284,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-opensearch-datasource_schema.json",
      "scope": "data",
      "bytes": 6306,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-oracle-datasource_schema.json",
      "scope": "data",
      "bytes": 5615,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-pagerduty-datasource_schema.json",
      "scope": "data",
      "bytes": 2104,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-postgresql-datasource_schema.json",
      "scope": "data",
      "bytes": 14760,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-pyroscope-datasource_schema.json",
      "scope": "data",
      "bytes": 892,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-redshift-datasource_schema.json",
      "scope": "data",
      "bytes": 6243,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-salesforce-datasource_schema.json",
      "scope": "data",
      "bytes": 5983,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-saphana-datasource_schema.json",
      "scope": "data",
      "bytes": 5993,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-sentry-datasource_schema.json",
      "scope": "data",
      "bytes": 2402,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-servicenow-datasource_schema.json",
      "scope": "data",
      "bytes": 5369,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-snowflake-datasource_schema.json",
      "scope": "data",
      "bytes": 9535,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-splunk-datasource_schema.json",
      "scope": "data",
      "bytes": 10167,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-splunkobservability-datasource_schema.json",
      "scope": "data",
      "bytes": 2446,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-strava-datasource_schema.json",
      "scope": "data",
      "bytes": 1863,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-sumologic-datasource_schema.json",
      "scope": "data",
      "bytes": 2683,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-surrealdb-datasource_schema.json",
      "scope": "data",
      "bytes": 2350,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-timestream-datasource_schema.json",
      "scope": "data",
      "bytes": 4379,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-wavefront-datasource_schema.json",
      "scope": "data",
      "bytes": 1989,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-x-ray-datasource_schema.json",
      "scope": "data",
      "bytes": 3258,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/grafana-yugabyte-datasource_schema.json",
      "scope": "data",
      "bytes": 2133,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/graphite_schema.json",
      "scope": "data",
      "bytes": 3166,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/influxdb_schema.json",
      "scope": "data",
      "bytes": 25028,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/jaeger_schema.json",
      "scope": "data",
      "bytes": 1464,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/loki_schema.json",
      "scope": "data",
      "bytes": 19739,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/marcusolsson-csv-datasource_schema.json",
      "scope": "data",
      "bytes": 967,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/marcusolsson-json-datasource_schema.json",
      "scope": "data",
      "bytes": 684,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/mssql_schema.json",
      "scope": "data",
      "bytes": 9187,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/mysql_schema.json",
      "scope": "data",
      "bytes": 3924,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/opentsdb_schema.json",
      "scope": "data",
      "bytes": 3014,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/prometheus_schema.json",
      "scope": "data",
      "bytes": 27766,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/stackdriver_schema.json",
      "scope": "data",
      "bytes": 4199,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/tempo_schema.json",
      "scope": "data",
      "bytes": 21099,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/yesoreyeram-infinity-datasource_schema.json",
      "scope": "data",
      "bytes": 12472,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/datasource_schemas/zipkin_schema.json",
      "scope": "data",
      "bytes": 787,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/testdata/legacy_rows_dashboard.json",
      "scope": "data",
      "bytes": 2207,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "tools/testdata/v2beta1_dashboard.json",
      "scope": "data",
      "bytes": 3419,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/mcp-apps/app/AppErrorBoundary.tsx",
      "scope": "code",
      "bytes": 1166,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/MetricsApplication.tsx",
      "scope": "code",
      "bytes": 1989,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/TraceApplication.tsx",
      "scope": "code",
      "bytes": 4083,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/hostContext.ts",
      "scope": "code",
      "bytes": 1078,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/metrics.tsx",
      "scope": "code",
      "bytes": 612,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/metricsHostState.ts",
      "scope": "code",
      "bytes": 8254,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/parsePrometheusResult.ts",
      "scope": "code",
      "bytes": 6377,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/parseTraceResult.ts",
      "scope": "code",
      "bytes": 1911,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app/trace.tsx",
      "scope": "code",
      "bytes": 308,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/app.vite.config.ts",
      "scope": "code",
      "bytes": 911,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/localhost.vite.config.ts",
      "scope": "code",
      "bytes": 562,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/metrics.vite.config.ts",
      "scope": "code",
      "bytes": 100,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/package-lock.json",
      "scope": "data",
      "bytes": 101135,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/mcp-apps/package.json",
      "scope": "data",
      "bytes": 1596,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/Preview.styles.ts",
      "scope": "code",
      "bytes": 1618,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/host.ts",
      "scope": "code",
      "bytes": 2500,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/localhost.ts",
      "scope": "code",
      "bytes": 11498,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/main.tsx",
      "scope": "code",
      "bytes": 5439,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/trace.tsx",
      "scope": "code",
      "bytes": 1500,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/traceFixture.ts",
      "scope": "code",
      "bytes": 2303,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/preview/vite.config.ts",
      "scope": "code",
      "bytes": 290,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/McpAppSection.styles.ts",
      "scope": "code",
      "bytes": 2088,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/McpAppSection.tsx",
      "scope": "code",
      "bytes": 1326,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/McpAppShell.styles.ts",
      "scope": "code",
      "bytes": 7111,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/McpAppShell.tsx",
      "scope": "code",
      "bytes": 7826,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/design.tsx",
      "scope": "code",
      "bytes": 6311,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/grafanaLink.ts",
      "scope": "code",
      "bytes": 1051,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/index.ts",
      "scope": "code",
      "bytes": 1808,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/metrics/IconButton.tsx",
      "scope": "code",
      "bytes": 962,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/metrics/RenderMetricsApp.styles.ts",
      "scope": "code",
      "bytes": 4725,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/metrics/RenderMetricsApp.tsx",
      "scope": "code",
      "bytes": 9312,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/metrics/VizPicker.tsx",
      "scope": "code",
      "bytes": 3415,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/metrics/pickViz.ts",
      "scope": "code",
      "bytes": 5134,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/trace/RenderTraceApp.tsx",
      "scope": "code",
      "bytes": 1747,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/trace/TraceViewer.styles.ts",
      "scope": "code",
      "bytes": 10730,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/trace/TraceViewer.tsx",
      "scope": "code",
      "bytes": 23394,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/trace/types.ts",
      "scope": "code",
      "bytes": 795,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/BarChart.tsx",
      "scope": "code",
      "bytes": 3602,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/Bullet.tsx",
      "scope": "code",
      "bytes": 5491,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/Heatmap.tsx",
      "scope": "code",
      "bytes": 8486,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/Stat.tsx",
      "scope": "code",
      "bytes": 2528,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/Table.tsx",
      "scope": "code",
      "bytes": 5451,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/TimeSeriesChart.tsx",
      "scope": "code",
      "bytes": 4293,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/Viz.styles.ts",
      "scope": "code",
      "bytes": 4832,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/echartsSetup.ts",
      "scope": "code",
      "bytes": 1360,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/format.ts",
      "scope": "code",
      "bytes": 8519,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/sparkline.ts",
      "scope": "code",
      "bytes": 1011,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/theme.ts",
      "scope": "code",
      "bytes": 6116,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/types.ts",
      "scope": "code",
      "bytes": 3357,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/src/viz/useEChart.ts",
      "scope": "code",
      "bytes": 2590,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/McpAppShell.test.tsx",
      "scope": "code",
      "bytes": 6849,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/TraceApplication.test.tsx",
      "scope": "code",
      "bytes": 5682,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-app.test.tsx",
      "scope": "code",
      "bytes": 7717,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-bullet.test.tsx",
      "scope": "code",
      "bytes": 3126,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-heatmap.test.tsx",
      "scope": "code",
      "bytes": 1236,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-host-state.test.ts",
      "scope": "code",
      "bytes": 2975,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-parse.test.ts",
      "scope": "code",
      "bytes": 6815,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metrics-viz.test.ts",
      "scope": "code",
      "bytes": 17285,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/metricsFixtures.ts",
      "scope": "code",
      "bytes": 3968,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/timeseries-brush.test.tsx",
      "scope": "code",
      "bytes": 2101,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/trace-viewer.test.tsx",
      "scope": "code",
      "bytes": 9545,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/test/useEChart.test.tsx",
      "scope": "code",
      "bytes": 1282,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/trace.vite.config.ts",
      "scope": "code",
      "bytes": 98,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/tsconfig.build.json",
      "scope": "data",
      "bytes": 207,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/mcp-apps/tsconfig.json",
      "scope": "data",
      "bytes": 410,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/mcp-apps/vite.config.ts",
      "scope": "code",
      "bytes": 421,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/mcp-apps/vitest.config.ts",
      "scope": "code",
      "bytes": 279,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/panel-viewer/package-lock.json",
      "scope": "data",
      "bytes": 47435,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/panel-viewer/package.json",
      "scope": "data",
      "bytes": 379,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/panel-viewer/src/mcp-app.ts",
      "scope": "code",
      "bytes": 2957,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    },
    {
      "path": "ui/panel-viewer/tsconfig.json",
      "scope": "data",
      "bytes": 210,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-002"
      ]
    },
    {
      "path": "ui/panel-viewer/vite.config.ts",
      "scope": "code",
      "bytes": 258,
      "nonEmpty": true,
      "ruleIds": [
        "AT-SEC-001",
        "AT-SEC-002",
        "AT-SEC-003",
        "AT-SEC-004",
        "AT-SEC-005",
        "AT-SEC-006",
        "AT-SEC-007",
        "AT-COMP-001"
      ]
    }
  ],
  "unsupportedSourceFiles": [
    "CODEOWNERS",
    "Dockerfile",
    "Dockerfile.alpine",
    "Makefile",
    "caller_auth.go",
    "caller_auth_integration_test.go",
    "caller_auth_test.go",
    "client_cache.go",
    "client_cache_test.go",
    "cmd/linters/jsonschema/main.go",
    "cmd/linters/openapi/main.go",
    "cmd/mcp-grafana/annotations_test.go",
    "cmd/mcp-grafana/grafana_url_override_test.go",
    "cmd/mcp-grafana/main.go",
    "cmd/mcp-grafana/main_test.go",
    "cmd/mcp-grafana/mcp_apps_test.go",
    "cmd/mcp-grafana/rbac_test.go",
    "cmd/mcp-grafana/readme_test.go",
    "cmd/mcp-grafana/redirect_guard_test.go",
    "cmd/mcp-grafana/tool_descriptions_test.go",
    "docs/Makefile",
    "docs/docs.mk",
    "docs/make-docs",
    "docs/variables.mk",
    "examples/tls_example.go",
    "go.mod",
    "go.sum",
    "grafana_url_override.go",
    "grafana_url_override_test.go",
    "http_security.go",
    "http_security_test.go",
    "image-tag",
    "internal/linter/jsonschema/jsonschema_lint.go",
    "internal/linter/jsonschema/jsonschema_lint_test.go",
    "internal/linter/openapi/analyzer.go",
    "internal/linter/openapi/analyzer_test.go",
    "internal/linter/openapi/testdata/src/github.com/grafana/grafana-openapi-client-go/client/datasources/fake.go",
    "internal/linter/openapi/testdata/src/testpkg/usage.go",
    "internal/linter/openapi/testdata/src/testpkg/usage_test.go",
    "k8s_client.go",
    "k8s_client_test.go",
    "k8s_resource.go",
    "k8s_resource_test.go",
    "mcpb/launch.sh",
    "mcpgrafana.go",
    "mcpgrafana_test.go",
    "observability/logs.go",
    "observability/logs_test.go",
    "observability/observability.go",
    "observability/observability_test.go",
    "observability/propagation_test.go",
    "observability/semconv.go",
    "orgid.go",
    "orgid_test.go",
    "permissions.go",
    "permissions_test.go",
    "redirect_guard.go",
    "redirect_guard_test.go",
    "socks5_proxy.go",
    "testdata/clickhouse-init.sql",
    "testdata/clickhouse-users.xml",
    "testdata/elasticsearch-seed.sh",
    "testdata/gitserver/Dockerfile",
    "testdata/gitserver/entrypoint.sh",
    "testdata/gitserver/httpd.conf",
    "testdata/graphite-seed.sh",
    "testdata/influxdb-seed.sh",
    "testdata/localstack-init.sh",
    "testdata/mysql-init.sql",
    "testdata/opensearch-seed.sh",
    "testdata/orgs-seed.sh",
    "testdata/postgres-init.sql",
    "testdata/prometheus-entrypoint.sh",
    "testdata/provisioning-repo-seed.sh",
    "testdata/quickwit-seed.sh",
    "tls_test.go",
    "tools/admin.go",
    "tools/admin_integration_test.go",
    "tools/admin_test.go",
    "tools/agento11y.go",
    "tools/agento11y_agents.go",
    "tools/agento11y_agents_test.go",
    "tools/agento11y_cloud_test.go",
    "tools/agento11y_eval_collections_handlers.go",
    "tools/agento11y_eval_collections_test.go",
    "tools/agento11y_eval_collections_types.go",
    "tools/agento11y_eval_handlers.go",
    "tools/agento11y_eval_test.go",
    "tools/agento11y_eval_types.go",
    "tools/agento11y_experiments_handlers.go",
    "tools/agento11y_experiments_test.go",
    "tools/agento11y_experiments_types.go",
    "tools/agento11y_test.go",
    "tools/agento11y_test_suites_handlers.go",
    "tools/agento11y_test_suites_test.go",
    "tools/agento11y_test_suites_types.go",
    "tools/alerting.go",
    "tools/alerting_client.go",
    "tools/alerting_client_test.go",
    "tools/alerting_contact_points.go",
    "tools/alerting_contact_points_write_integration_test.go",
    "tools/alerting_contact_points_write_test.go",
    "tools/alerting_manage_rules_datasource.go",
    "tools/alerting_manage_rules_datasource_test.go",
    "tools/alerting_manage_rules_handlers.go",
    "tools/alerting_manage_rules_test.go",
    "tools/alerting_manage_rules_types.go",
    "tools/alerting_manage_rules_unit_test.go",
    "tools/alerting_routing.go",
    "tools/alerting_routing_test.go",
    "tools/alerting_routing_unit_test.go",
    "tools/alerting_silences.go",
    "tools/alerting_silences_test.go",
    "tools/alerting_silences_unit_test.go",
    "tools/annotations.go",
    "tools/annotations_integration_test.go",
    "tools/annotations_unit_test.go",
    "tools/api.go",
    "tools/api_unit_test.go",
    "tools/asserts.go",
    "tools/asserts_cloud_test.go",
    "tools/asserts_test.go",
    "tools/assistant.go",
    "tools/assistant_test.go",
    "tools/cloud_testing_utils.go",
    "tools/cloudlogging.go",
    "tools/cloudlogging_integration_test.go",
    "tools/cloudlogging_test.go",
    "tools/cloudmonitoring_cloud_test.go",
    "tools/cloudwatch.go",
    "tools/cloudwatch_integration_test.go",
    "tools/cloudwatch_test.go",
    "tools/config.go",
    "tools/dashboard.go",
    "tools/dashboard_deeplink_test.go",
    "tools/dashboard_helpers.go",
    "tools/dashboard_helpers_test.go",
    "tools/dashboard_k8s_test.go",
    "tools/dashboard_test.go",
    "tools/dashboard_unit_test.go",
    "tools/dashboard_v2.go",
    "tools/dashboard_v2_integration_test.go",
    "tools/dashboard_v2_test.go",
    "tools/dashboard_versions.go",
    "tools/dashboard_versions_unit_test.go",
    "tools/datasource_schemas/datasource_schemas_utils.go",
    "tools/datasource_schemas/datasource_schemas_utils_test.go",
    "tools/datasources.go",
    "tools/datasources_fallback.go",
    "tools/datasources_fallback_behavior_unit_test.go",
    "tools/datasources_fallback_unit_test.go",
    "tools/datasources_test.go",
    "tools/datasources_unit_test.go",
    "tools/docs.go",
    "tools/docs_unit_test.go",
    "tools/ds_query.go",
    "tools/elasticsearch.go",
    "tools/elasticsearch_test.go",
    "tools/es_backend.go",
    "tools/es_backend_opensearch.go",
    "tools/es_backend_opensearch_unit_test.go",
    "tools/es_backend_test.go",
    "tools/examples.go",
    "tools/examples_test.go",
    "tools/fallback_transport.go",
    "tools/fallback_transport_test.go",
    "tools/folder.go",
    "tools/graphite.go",
    "tools/graphite_integration_test.go",
    "tools/graphite_unit_test.go",
    "tools/hints.go",
    "tools/hints_test.go",
    "tools/http_redirect.go",
    "tools/http_redirect_test.go",
    "tools/incident.go",
    "tools/incident_custom_fields.go",
    "tools/incident_custom_fields_test.go",
    "tools/incident_integration_test.go",
    "tools/incident_test.go",
    "tools/influxdb.go",
    "tools/influxdb_integration_test.go",
    "tools/influxdb_test.go",
    "tools/legacy_grafana_integration_test.go",
    "tools/loki.go",
    "tools/loki_backend.go",
    "tools/loki_backend_victorialogs.go",
    "tools/loki_backend_victorialogs_test.go",
    "tools/loki_client_unit_test.go",
    "tools/loki_enforce.go",
    "tools/loki_enforce_integration_test.go",
    "tools/loki_enforce_test.go",
    "tools/loki_guardrail.go",
    "tools/loki_guardrail_metrics.go",
    "tools/loki_guardrail_metrics_test.go",
    "tools/loki_guardrail_unit_test.go",
    "tools/loki_label_analyzer.go",
    "tools/loki_label_analyzer_test.go",
    "tools/loki_label_analyzer_unit_test.go",
    "tools/loki_parse_test.go",
    "tools/loki_test.go",
    "tools/loki_unit_test.go",
    "tools/navigation.go",
    "tools/navigation_test.go",
    "tools/oncall.go",
    "tools/oncall_cloud_test.go",
    "tools/oncall_proxy.go",
    "tools/oncall_proxy_test.go",
    "tools/oncall_test.go",
    "tools/oncall_types.go",
    "tools/oncall_unit_test.go",
    "tools/orgid_integration_test.go",
    "tools/plugins.go",
    "tools/plugins_integration_test.go",
    "tools/plugins_unit_test.go",
    "tools/prom_backend.go",
    "tools/prom_backend_cloudmonitoring.go",
    "tools/prom_backend_cloudmonitoring_test.go",
    "tools/prom_backend_test.go",
    "tools/prom_backend_victoriametrics.go",
    "tools/prom_backend_victoriametrics_test.go",
    "tools/prometheus.go",
    "tools/prometheus_metric_names_unit_test.go",
    "tools/prometheus_metrics.go",
    "tools/prometheus_metrics_test.go",
    "tools/prometheus_response_limit.go",
    "tools/prometheus_response_limit_test.go",
    "tools/prometheus_test.go",
    "tools/prometheus_ui_test.go",
    "tools/prometheus_unit_test.go",
    "tools/provisioning.go",
    "tools/provisioning_integration_test.go",
    "tools/provisioning_unit_test.go",
    "tools/pyroscope.go",
    "tools/pyroscope_test.go",
    "tools/pyroscope_unit_test.go",
    "tools/quickwit.go",
    "tools/quickwit_integration_test.go",
    "tools/quickwit_test.go",
    "tools/rbac.go",
    "tools/rendering.go",
    "tools/rendering_integration_test.go",
    "tools/rendering_test.go",
    "tools/response_utils.go",
    "tools/response_utils_test.go",
    "tools/run_panel_query.go",
    "tools/run_panel_query_enforce_unit_test.go",
    "tools/run_panel_query_integration_test.go",
    "tools/run_panel_query_postgres_test.go",
    "tools/run_panel_query_test.go",
    "tools/search.go",
    "tools/search_test.go",
    "tools/search_unit_test.go",
    "tools/snapshot.go",
    "tools/snapshot_unit_test.go",
    "tools/sql/athena.go",
    "tools/sql/athena_test.go",
    "tools/sql/clickhouse.go",
    "tools/sql/clickhouse_test.go",
    "tools/sql/dialect.go",
    "tools/sql/mssql.go",
    "tools/sql/mysql.go",
    "tools/sql/postgres.go",
    "tools/sql/snowflake.go",
    "tools/sql/snowflake_test.go",
    "tools/sql/sql_test.go",
    "tools/sql_cloud_test.go",
    "tools/sql_integration_test.go",
    "tools/sql_tools.go",
    "tools/telemetry_dims_unit_test.go",
    "tools/tempo.go",
    "tools/tempo_integration_test.go",
    "tools/tempo_trace_llm.go",
    "tools/tempo_trace_view.go",
    "tools/tempo_trace_view_test.go",
    "tools/tempo_transport_test.go",
    "tools/tempo_unit_test.go",
    "tools/testcontext_test.go",
    "tools/testhelpers_test.go",
    "tools/time_helpers.go",
    "tools/time_helpers_test.go",
    "tools/url_helpers.go",
    "tools/url_helpers_test.go",
    "tools/user.go",
    "tools/user_integration_test.go",
    "tools/user_test.go",
    "tools.go",
    "tools_param_validation.go",
    "tools_param_validation_test.go",
    "tools_string_to_int_test.go",
    "tools_test.go",
    "trace_propagation_test.go",
    "ui/mcp-apps/app/metrics.html",
    "ui/mcp-apps/app/trace.html",
    "ui/mcp-apps/dist/metrics.html",
    "ui/mcp-apps/dist/trace.html",
    "ui/mcp-apps/preview/host.html",
    "ui/mcp-apps/preview/index.html",
    "ui/mcp-apps/preview/localhost.html",
    "ui/mcp-apps/preview/trace.html",
    "ui/panel-viewer/dist/mcp-app.html",
    "ui/panel-viewer/mcp-app.html",
    "ui_apps.go",
    "ui_embed.go",
    "ui_mcp_apps_test.go",
    "ui_metrics.go",
    "ui_trace.go",
    "usagestats/event.go",
    "usagestats/mode.go",
    "usagestats/mode_test.go",
    "usagestats/reporter.go",
    "usagestats/reporter_fields_test.go",
    "usagestats/reporter_notice_test.go",
    "usagestats/reporter_test.go",
    "usagestats/wire_fields_test.go",
    "validate_url.go",
    "validate_url_test.go"
  ],
  "excludedFiles": [
    {
      "path": ".git",
      "reason": "ignored-directory"
    },
    {
      "path": ".claude/skills/draft-release/SKILL.md",
      "reason": "skill-instructions-not-code-analyzed"
    },
    {
      "path": ".dockerignore",
      "reason": "outside-rule-scope"
    },
    {
      "path": ".gitattributes",
      "reason": "outside-rule-scope"
    },
    {
      "path": ".github/PULL_REQUEST_TEMPLATE.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": ".gitignore",
      "reason": "outside-rule-scope"
    },
    {
      "path": "CHANGELOG.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "CODEOWNERS",
      "reason": "unsupported-implementation"
    },
    {
      "path": "CONTRIBUTING.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "DEVELOPING.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "Dockerfile",
      "reason": "unsupported-implementation"
    },
    {
      "path": "Dockerfile.alpine",
      "reason": "unsupported-implementation"
    },
    {
      "path": "LICENSE",
      "reason": "outside-rule-scope"
    },
    {
      "path": "Makefile",
      "reason": "unsupported-implementation"
    },
    {
      "path": "README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "assets/icon.png",
      "reason": "outside-rule-scope"
    },
    {
      "path": "caller_auth.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "caller_auth_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "caller_auth_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "client_cache.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "client_cache_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/linters/jsonschema/main.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/linters/openapi/main.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/annotations_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/grafana_url_override_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/main.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/main_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/mcp_apps_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/rbac_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/readme_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/redirect_guard_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "cmd/mcp-grafana/tool_descriptions_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "docs/Makefile",
      "reason": "unsupported-implementation"
    },
    {
      "path": "docs/docs.agent/README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/docs.agent/context.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/docs.agent/rules.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/docs.mk",
      "reason": "unsupported-implementation"
    },
    {
      "path": "docs/make-docs",
      "reason": "unsupported-implementation"
    },
    {
      "path": "docs/mcp-apps.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/anonymous-usage-statistics.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/claude-code.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/claude-desktop.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/codex.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/cursor.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/gemini-cli.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/vscode-copilot.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/windsurf.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/clients/zed.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/authentication.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/client-tls-grafana-connection.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/command-line-flags.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/enable-and-disable-tools.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/health-check-endpoint.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/multi-organization-and-headers.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/server-tls-streamable-http.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/configure/transports-and-addresses.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/developer/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/developer/build-and-test.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/developer/go-sdk.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/developer/observability-metrics-and-tracing.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/generate-deeplinks-to-grafana.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/manage-alert-rules.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/query-logs-with-loki.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/query-metrics-with-influxdb.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/query-metrics-with-prometheus.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/run-a-dashboard-panel-query.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/search-and-inspect-dashboards.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/guides/use-grafana-incident.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/introduction.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/reference/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/reference/mcp-tools-table.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/client-configuration-examples.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/deploy-with-helm.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/install-the-binary.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/install-with-docker.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/set-up/install-with-uvx.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/troubleshooting/_index.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/sources/troubleshooting/grafana-version-compatibility.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/troubleshooting.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "docs/variables.mk",
      "reason": "unsupported-implementation"
    },
    {
      "path": "examples/tls_example.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "go.mod",
      "reason": "unsupported-implementation"
    },
    {
      "path": "go.sum",
      "reason": "unsupported-implementation"
    },
    {
      "path": "grafana_url_override.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "grafana_url_override_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "http_security.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "http_security_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "image-tag",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/jsonschema/README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "internal/linter/jsonschema/jsonschema_lint.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/jsonschema/jsonschema_lint_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/openapi/analyzer.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/openapi/analyzer_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/openapi/testdata/src/github.com/grafana/grafana-openapi-client-go/client/datasources/fake.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/openapi/testdata/src/testpkg/usage.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "internal/linter/openapi/testdata/src/testpkg/usage_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "k8s_client.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "k8s_client_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "k8s_resource.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "k8s_resource_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "mcpb/README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "mcpb/icon.png",
      "reason": "outside-rule-scope"
    },
    {
      "path": "mcpb/icon.svg",
      "reason": "outside-rule-scope"
    },
    {
      "path": "mcpb/launch.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "mcpgrafana.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "mcpgrafana_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/logs.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/logs_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/observability.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/observability_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/propagation_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "observability/semconv.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "orgid.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "orgid_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "permissions.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "permissions_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "redirect_guard.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "redirect_guard_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "socks5_proxy.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/clickhouse-init.sql",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/clickhouse-users.xml",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/elasticsearch-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/gitserver/Dockerfile",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/gitserver/entrypoint.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/gitserver/httpd.conf",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/graphite-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/influxdb-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/localstack-init.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/mysql-init.sql",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/opensearch-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/orgs-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/postgres-init.sql",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/prometheus-entrypoint.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/provisioning-repo-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "testdata/quickwit-seed.sh",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tests/.gitignore",
      "reason": "outside-rule-scope"
    },
    {
      "path": "tests/.python-version",
      "reason": "outside-rule-scope"
    },
    {
      "path": "tests/README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "tests/pyproject.toml",
      "reason": "outside-rule-scope"
    },
    {
      "path": "tests/uv.lock",
      "reason": "outside-rule-scope"
    },
    {
      "path": "tls_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/admin.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/admin_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/admin_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_agents.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_agents_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_cloud_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_collections_handlers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_collections_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_collections_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_handlers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_eval_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_experiments_handlers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_experiments_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_experiments_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_test_suites_handlers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_test_suites_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/agento11y_test_suites_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_client.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_client_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_contact_points.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_contact_points_write_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_contact_points_write_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_datasource.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_datasource_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_handlers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_manage_rules_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_routing.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_routing_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_routing_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_silences.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_silences_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/alerting_silences_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/annotations.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/annotations_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/annotations_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/api.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/api_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/asserts.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/asserts_cloud_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/asserts_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/assistant.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/assistant_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloud_testing_utils.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudlogging.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudlogging_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudlogging_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudmonitoring_cloud_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudwatch.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudwatch_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/cloudwatch_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/config.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_deeplink_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_helpers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_helpers_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_k8s_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_v2.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_v2_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_v2_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_versions.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/dashboard_versions_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasource_schemas/datasource_schemas_utils.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasource_schemas/datasource_schemas_utils_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources_fallback.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources_fallback_behavior_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources_fallback_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/datasources_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/docs.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/docs_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/ds_query.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/elasticsearch.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/elasticsearch_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/es_backend.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/es_backend_opensearch.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/es_backend_opensearch_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/es_backend_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/examples.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/examples_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/fallback_transport.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/fallback_transport_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/folder.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/graphite.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/graphite_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/graphite_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/hints.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/hints_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/http_redirect.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/http_redirect_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/incident.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/incident_custom_fields.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/incident_custom_fields_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/incident_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/incident_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/influxdb.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/influxdb_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/influxdb_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/legacy_grafana_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_backend.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_backend_victorialogs.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_backend_victorialogs_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_client_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_enforce.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_enforce_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_enforce_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_guardrail.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_guardrail_metrics.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_guardrail_metrics_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_guardrail_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_label_analyzer.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_label_analyzer_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_label_analyzer_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_parse_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/loki_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/navigation.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/navigation_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_cloud_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_proxy.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_proxy_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_types.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/oncall_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/orgid_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/plugins.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/plugins_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/plugins_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend_cloudmonitoring.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend_cloudmonitoring_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend_victoriametrics.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prom_backend_victoriametrics_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_metric_names_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_metrics.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_metrics_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_response_limit.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_response_limit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_ui_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/prometheus_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/provisioning.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/provisioning_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/provisioning_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/pyroscope.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/pyroscope_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/pyroscope_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/quickwit.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/quickwit_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/quickwit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/rbac.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/rendering.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/rendering_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/rendering_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/response_utils.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/response_utils_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/run_panel_query.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/run_panel_query_enforce_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/run_panel_query_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/run_panel_query_postgres_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/run_panel_query_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/search.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/search_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/search_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/snapshot.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/snapshot_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/athena.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/athena_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/clickhouse.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/clickhouse_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/dialect.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/mssql.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/mysql.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/postgres.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/snowflake.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/snowflake_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql/sql_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql_cloud_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/sql_tools.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/telemetry_dims_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_trace_llm.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_trace_view.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_trace_view_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_transport_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/tempo_unit_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/testcontext_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/testhelpers_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/time_helpers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/time_helpers_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/url_helpers.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/url_helpers_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/user.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/user_integration_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools/user_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools_param_validation.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools_param_validation_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools_string_to_int_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "tools_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "trace_propagation_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/.gitignore",
      "reason": "outside-rule-scope"
    },
    {
      "path": "ui/mcp-apps/README.md",
      "reason": "outside-rule-scope"
    },
    {
      "path": "ui/mcp-apps/app/metrics.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/app/trace.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/dist/metrics.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/dist/trace.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/preview/host.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/preview/index.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/preview/localhost.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/preview/trace.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/mcp-apps/src/grafana.svg",
      "reason": "outside-rule-scope"
    },
    {
      "path": "ui/mcp-apps/styles.css",
      "reason": "outside-rule-scope"
    },
    {
      "path": "ui/panel-viewer/dist/mcp-app.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui/panel-viewer/mcp-app.html",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui_apps.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui_embed.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui_mcp_apps_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui_metrics.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "ui_trace.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/event.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/mode.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/mode_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/reporter.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/reporter_fields_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/reporter_notice_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/reporter_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "usagestats/wire_fields_test.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "validate_url.go",
      "reason": "unsupported-implementation"
    },
    {
      "path": "validate_url_test.go",
      "reason": "unsupported-implementation"
    }
  ],
  "readErrors": [],
  "truncation": [],
  "limits": {
    "maxFiles": 4000,
    "maxDepth": 12,
    "maxFileBytes": 1048576
  }
}

Fix first (2 critical/high)

SeverityRuleFindingRemediation
CRITICALAT-SEC-003 (ASI02)Unbounded Dynamic Shell Execution
scripts/build-mcpb.mjs:203
Evidence: const child = spawn(command, args, { stdio: "inherit", ...options });
Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes.
HIGHAT-SEC-006 (LLM06)Unfiltered SSRF / Arbitrary Network Egress
.claude-plugin/install-binary.mjs:83
Evidence: const response = await fetch(url);
Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254).

Permissions

Scope: excessive · Shell: enabled · Network egress: yes · File deletion: enabled · Human approval: none

Provenance

License: none detected · Lockfile: no · Security policy: no · Signals: unverified origin

Independently scanned by the OpenTrustBench registry (not self-reported by the project). Static analysis only — no code executed, findings need human triage, counts may include test/example code. Static snapshot; re-scan before relying on it: npx @opentrustbench/cli scan https://github.com/grafana/mcp-grafana. Scores move with every upstream commit; pages refresh weekly. How scoring works.